列车车次查询系统设计与实现

列车车次查询系统设计与实现
列车车次查询系统设计与实现

摘要

当前我国交通网上信息系统的发展处于一个较高的水平,广大乘客可以通过许多的方式获得交通信息,例如:通过使用火车、飞机时刻表,或者是到各个旅游网站、地图网站去查询。

在此背景下,本文首先考虑了我国交通的现状和不同乘客的实际要求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中主要包括各列车查询模块和列车信息管理更新模块,最后结合系统开发阶段和调试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验和体会。

列车时刻查询系统主要功能是:通过列车时刻查询系统,管理人员可以对车站设置、列车类型进行新建和修改,及列车的调整;对车次进行增加和维护;用户可以对列车的查询进行站站查询,及车次查询。在查询当中可以查询到任意车次始发站和终点站两站之间的所有车次,并且可以查询出所要查询的两站之间距离公里数、经过的时间、行驶总时间、票价和车次类型等各种信息。

本系统使用mySQL来设计与开发的列车信息查询系统,具有良好的用户界面。系统中实现了通过车次、路线、发站及到站信息来查询列车详细信息的功能。关键词:mySQL数据库;查询系统

ABSTRACT

At present, the development of China's transportation network information system at a high level, the majority of passengers can get traffic information through a number of ways,For example: through the use of the train, aircraft schedule, or to the various tourist sites, map sites to check.

In this context.we firstly consider the practical requirements of traffic of our country current situation and different passengers, analyzed the function of this system should have; followed by the main function of the system modules are described in detail, including train each query module and train information management update module. Finally, according to the problems found in the system development and debugging phase,the system needs to perfect place, and summed up the experience that gained from the development of this system.Train schedule inquiry system main function is: through the train schedule inquiry system, managers can of the station, train type to create and modify, and train the adjustment; on the trips to the increase and maintenance; the user can query on the train station inquiries, trips inquiries. In the query can query to any trips originating station and the end of all trips between the two stations, stations, and can query to query between two stations distance kilometers, elapsed time, driving time,

fares and type vehicles etc. all kinds of information.

This system uses the MYSQL database data.Design and development of the train information query system, with a good user interface.The system realizes to query the detailed information through train, train route, station and station information function.

Key words: mySQL; database; query system

目录

摘要...............................................................................................................I 目录............................................................................................................IV 第1章概述 (1)

第2章需求分析 (3)

第3章概念结构设计 (4)

第4章数据库表设计 (6)

第5章系统主要模块详解 (7)

第6章系统调试与测试 (11)

第7章总结 (13)

附录1 (14)

附录2 (15)

第1章概述

1.1

当今一个信息技术发展的时代,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。当今世界正在向信息时代迈进,信息已经成为社会、经济发展的"血液"、"润滑剂";现代信息技术广泛地渗透到和改变着人们的生活学习和工作;信息产业正逐步成为全球最大的产业。在这股席卷全球的信息化浪潮的冲击下,城市发展的诸多方面也无一例外地受到了现代信息技术的强大影响,城市正面临着新的发展契机。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作,这大大地阻碍了人类经济的进步,影响了生产的发展。因此,本次设计我们选择了具有一定实际应用价值且是各阶层人民群众都必不可少的课题——列车车次信息查询系统。

随着计算机技术的发展,人们对计算机智能化的需求越来越大,对软件的实用性、速度等性能的要求也越来越高。未来火车站的发展趋势是完全自动化的售票、信息查询、网络订票、智能化订票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。在本此系统设计中,由于时间与技术的关系,当然不可能做到这样的程度,只是基本实现列车车次信息的查询。

列车车次信息查询系统是一个供旅客查询列车详细信息的系统,可以为旅客提供包括列车时刻、列车运行路线、列车票价等信息的查询服务。

1.2

列车时刻查询系统,就是将各列车车次的出发时间、经过城市、所需价格等相关信息放在WEB服务器中,并通过网络上的计算机终端通过特定的条件将其检索出来。随着国内经济的不断发展,交通条件的发展呈现出无法比拟的优势:数量上的海量化、繁多的种类、分布开放、时效性、高增值性等。

当前我国交通网上信息系统的发展处于一个较高的水平,广大乘客可以通过许多的方式获得交通信息,例如:通过使用火车、飞机时刻表,或者是到各个旅游网站、地图网站去查询。但国内目前类似的系统比较多的是单一的城市的列车时刻查询系统,而同时包含列车站站查询、列车车次查询、列车车站查询的交通查询系统并不多见,由于交通工具单一,一个系统只支持列车时刻或列车站站查询,加之服务与成本意识较为薄弱,使城际间的列车交通信息查询常常给旅客带来困绕。

列车时刻查询功能是本系统的根本任务,通过实现票务信息的计算机管理,以提高工作效率。实现计算机管理的最佳技术就是数据库技术。我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。

列车时刻查询系统是便民类的系统。该系统能够为用户提供有关列车时刻充足的信息和快捷的查询手段。在计算机普及的信息时代,用电脑软件来查询列车时刻已经替代了一直以来人们使用传统的方式查询列车时刻,用传统的方式存在着许多缺点,如:效率低、时间长、繁琐,给用户带来了诸多不便。使用电脑软件进行查询,具有很多优点,例如:查询迅速、方便、清晰、信息存储量大等。因此有利于人们快速、方便的查找到所需的相关列车时刻信息。从真正意义上做到了“便民”。

第2章需求分析

2.1功能需求分析

系统开发的总体任务是实现旅客对列车车次查询的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本旅客列车车次查询系统需要完成功能主要有:

(1)系统管理:火车站能够对相关列车的车次信息(包括车次、起点、始发时间、到各个站的时间、到达终点站的时间等)和站名信息进行录入、修改、删除等操作。

(2)路线查询:要求当旅客输入查询起始站名和终点站进行查询名后计算机屏幕会显示出所有可以到达目的火车站的列车车次,然后点击相应的车次,链接到该车次的详细信息。

(3)车次查询:要求当旅客输入查询车次进行查询后计算机屏幕上会显示

出该列车的车次、起点站、始发时间、到各个站的时间、到达终点站的时间。

2.2 系统需求分析

系统的工作总体规划由该系统管理人员在系统中完成对各种所需的基本数

据的维护,包括相关列车信息的增加、修改以及对各项信息的变动都将在这进行

操作。

后台管理主要由系统建设人员和系统管理员进行操作。他们可以进行各种列

车信息以及各城市车站信息的录入、修改和删除等。

前台主要是让旅客了解各种列车信息以及车站最新动态情况,还有实现对旅

客所需信息的查询和最新的新闻动态等功能。

第3章 概念结构设计

数据流图简称DFD ,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

列车信息管理系统顶层数据流图如图3.1所示。

管理员

列车信息管理系统客户

列车信息列车信息

图3.1列车信息管理系统顶层数据流图

管理员、客户作为被分配不同权限的两个角色,登录系统后可以实现不同的功能。 管理员登录系统后可以添加、删除、修改列车信息等。客户进入系统后可以查询列车信息,并且对列车的票价排序查等。

列车信息管理系统第一层层数据流图如图3.2所示。

列车信息表

管理员

添加

修改

删除

查询

客户

列车信息

列车信息

票价排序

列车信息

查询

列车信息

图3.2列车信息管理系统一层数据流图

管理员可以添加、修改、删除、查询数据信息,客户可以对数据信息进行查询。

E-R模型中,包含实体、联系和属性三个基本成分。

⑴实体

实体是客观世界存在的且可相互区分的事物。它可以是人也可以是动物;可以是具体事物也可以是抽象概念。

⑵联系

联系是指客观世界中各事物彼此间的联系。联系分为三类:一对一的关系,一对多的关系,多对多的关系。

⑶属性

属性是实体或联系所具有的性质,通常一个实体用若干属性来刻画。人们通常就是用实体、联系和属性这三个概念来理解现实问题,因此,ER模型比较接近人的思维方式。此外,ER模型使用简单的图形符号表示系统分析员对问题的理解,不熟悉计算机的人也能理解它,因此,ER模型可以作为用户与系统分析员之间的交流工具。

根据系统功能,确定实体、联系、属性,构建E-R图,如下图所示:

系统结构分析:

根据系统功能分析,按分析中系统功能的要求,画出列车车次查询系统的系统结构图。列车车次查询系统结构图如图:

第4章数据库表设计

4.1管理员图

字段名关键字设置数据类型长度允许空字段说明userID 主关键字Varchar 10 否管理员ID password Varchar 20 否密码userName Varchar 20 否名称

4.2 Travel图

字段名关键字数据类型长度允许空字段说明no 主关键字Varchar 10 否车次beginSta Varchar 50 否始发站

endSta Varchar 50 否终点站

bedinTime dataTime 0 否发车时间

endTime dataTime 0 否到达时间

stopTime Varchar 20 否本站停车时

间时间

4.3PriceTable图

字段名关键字数据类型长度允许空字段说明no Varchar 10 否车次TrainType 主关键字varchar 50 是火车类型

SeatType 主关键字varchar 50 是车票座位类型

price Varchar 10 是票价

关系模式:

管理员(管理员ID,密码,名称)

Travel表(车次,始发站,终点站,发车时间,到达时间,本站停车时间)

Pricetable表(车次,火车类型,车票座次类型,票价)

第5章系统主要模块详细讲解

在本查询系统的主页面中,可直接将要查询的信息输入相应的快速查询文本框,提交以后,查询系统将根据不同的查询方法和种类,跳转到不同的页面,然后再根据输入信息进行处理。该系统主页面的主要输入页面如下:

(一)系统管理员模块

(二)列车信息查询模块

本模块主要是为了从数据库中,根据所要求的列车查询条件以及查询方法,在数据库中进行列车信息的查询和筛选,并以表格的方式表现出来。

设计的总体思路为:为实现该模块的功能设计了两张表,用来存放列车相关信息。其中travel表用来存放所有火车的车次,始发站,终点站,始发时间,到达时间,该站停车时间;pricetable表存放由于一个列车班次包含多条信息,如果要在每条路线信息中都输入该车次的基本信息,则显得比较重复,而且会使数据库录入时的工作量变得繁重,为了解决这一麻烦,设计了一个pricetable 表用来专门存放列车价格以及火车类型,座位类型,以及车次。

车次查询:输入查询的车次以及时间,点击搜索,将信息提交给后台服务器程序,程序执行后,将查询到的结果返回给前台界面,显示出所需信息

站站查询:输入站站查询界面的内容,点击搜索,将信息提交给后台服务器程序,程序执行后,将查询到的结果返回给前台界面,显示出所需信息

第6章系统调试与测试

系统调试与测试主要是指通过对系统的反复调试与测试,找出系统还存在的错误或不足,最后纠正错误或不足,期望系统达到最优效果。

6.1系统调试

调试是软件开发过程中最艰巨的脑力劳动,软件调试是程序的一种执行过程,目的是尽可能发现系统中的错误并改正,调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在,这是调试过程中最关键的技术问题。

本系统调试过程中遇到问题、原因和解决方法如下面介绍。

范围查询时查询错误,将函数改为contains,且前面的为被查询的对象。

6.2系统测试

软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。

6.2.1测试方案

测试类型有:功能测试,性能测试,界面测试。

在测试工作中占的比例最大,功能测试也叫黑盒测试。

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多客户并发下的稳定性和健壮性。做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试。

6.2.2系统黑盒测试

系统功能的黑盒测试,将功能细分后,分别测试。如表6.1所示。

1

登录模块

输入正确客户名密码

客户名及密码201311865

123456

进入管理主页

进入管理管理员界

输入错误客户名密码

客户名及密码mile,111

错误提示

提示客户名或密码

错误!!

2 基本信息

添加模块在管理员主页面中选择添

加列车各项信息

显示添加成功添加成功

在添加主页面中输入重复

列车信息

提示已有此列车查到车次

3 基本信息

修改模块在管理员主页面中输入重

复的列车编号

提示列车已存在提示列车已存在

在管理员主页面中输入车

次k1

显示修改成功修改成功

4

基本信息

删除模块

在管理员主页面中输入空

的列车编号

提示列车编号不可

以为空

提示列车编号不可

以为空在管理员主页面中输入车

次k1

显示删除成功显示删除成功

5

基本信息

查询模块

在客户主界面中

填写车次

能正确显示查询内

将车次的信息显示

在界面中

在客户主界面中

未填写内容

能正确显示查询内

将系统中所有列车

信息显示出来

第7章总结

本次课程设计的题目是《列车时刻查询系统设计与实现》,刚开始选题的时候觉得这个题目不算很难,也就和平时做的练习差不多但真正开始做的时候才发现,这个题目要真正做得很好的话是很麻烦的。因为这个系统需要实现的功能比较多,所以在做的时候需要做很多工作。参考网上的一些交通信息查询系统,可以发现各类交通系统所包含的信息都是海量的,这就首先要求我们设计数据库的时候,要考虑各种状况,尽可能的减少数据库录入时的工作量。

本系统基本功能都已经全部实现,总共设计了两个功能模块,各模块具体实现的功能如下:

(1)列车信息查询:此功能模块包括了两种基本的查询操作,用户在进入了此模块后,可根据具体需要,选择进行车次查询或者是车站查询。在车次查询中,用户只需输入所要查询的车次就可以查询出该车次的具体情况。在车站查询中,用户只需输入要查询的车站名就可以查询出所有途经该车站的列车详情。

(2)后台管理:包括对各种交通信息的添加、修改、删除和查看几部分操作。此功能模块是要求在管理员通过相应的管理员ID和密码进入该系统后,能够对各种交通信息以及管理员信息进行相关操作。

本系统主要采用HTML网页编程和MySQL技术制作页面,语言简明易懂,没有设计太多过于复杂的算法,通过调用业务逻辑层里的函数来实现简单的查询、增加、删除、和修改操作,使得整个系统既美观又实用,操作简单,功能全面实用,即便是些对计算机不熟的人也不会有太大的难度操作。

虽然系统没有设计特别难的算法或者编程代码技术,但是里面每一句代码每一个页面都是我们组成员经过深思熟虑、努力完成的。在编程的过程中,遇到了很多很多的困难。为了更好的完成毕业设计,在程序全面开发之前,需要将MYSQL 数据库与编程平台进行连接。在详细的设计数据库过程中,最开始设计的一些表都包含了外键或者双主键之类的约束,但由于对外键这个约束条件平时接触的少,所以出现了很多以前都没有见过的一些错误。

由于我们实践经验很少,在编写程序的实现过程中遇到了不少的问题,但是都我们不断地翻查书籍、以前的笔记、上网查找解决方法,或者请教同学、老师,最后终于将问题解决。

附录2:实现源代码

package com.co.xdm;

import java.sql.DriverManager;

import com.mysql.jdbc.Connection;

/*

* 操作数据库

*

*

* */

public class BaseDao {

public Connection GetConnect() {

//数据库连接对象

Connection conn = null;

// 注册驱动类

//其他数据不同连接字符串

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (Exception e) {

e.printStackTrace();

}

// 数据库字符串jdbc:mysql://127.0.0.1是localhost:端口3306/数据库名

String url = "jdbc:mysql://127.0.0.1:3306/test";

// 与数据库取得连接

try {

conn = (Connection) DriverManager.getConnection(url, " ", " ");

} catch (Exception e) {

e.printStackTrace();

}

return conn;

}

}

Connection cn = (Connection) dao.GetConnect();

//按照车次查询

PreparedStatement pstSelect1 = (PreparedStatement) cn

.prepareStatement("select beginSta,endSta,beginTime,"

+ "endTime,stopTime,trainType,seatType,price from travel where no=? "

+ "inner jion pricetable pricetable.no=travel.no ");

pstSelect1.setString(1, no);

ResultSet result = pstSelect1.executeQuery();

request.getRequestDispatcher("/WEB-INF/jsp/

trainNumber.jsp").forward(request,response);

}

//管理员的update,insert,delete

PreparedStatement pstUpdate=(PreparedStatement)

cn.prepareStatement("update travel set stopTime=? where no=?");

pstUpdate.setString(1, "78min");//1,2表示?

pstUpdate.setString(2, "k5034");

int dataCount=pstUpdate.executeUpdate();

System.out.println(dataCount);

PreparedStatement pstInsert=(PreparedStatement)

cn.prepareStatement("insert into

pricetablevalues(?,?,?,?)");

pstInsert.setString(1, "k5124");

pstInsert.setString(2,"普快");

pstInsert.setString(3,"软卧");

pstInsert.setString(4,"998");

int dataCount1=pstInsert.executeUpdate();

System.out.println(dataCount1);

PreparedStatement pstDelete=(PreparedStatement)

cn.prepareStatement("delete from travel where no=?");

pstDelete.setString(1, "k5124");

int data=pstDelete.executeUpdate();

System.out.println(data);

}

} catch (Exception e) {

e.printStackTrace();

}

}

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>

查询首页

欢迎使用火车票查询系统

onclick="window.open('success.jsp')" />

onclick="window.open('trainNumber.jsp')" />

onclick="管理员.html" />

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>

公交查询系统的设计与实现.docx

. 公交查询系统的 设计与实现 班级: 12 物联网工程 学号: 1201141057 姓名:郑秀成 日期:2014 年 12 月 15 日

. 引言 随着因特网发展的日新月异,人们利用网络实现资源共享以及协同工作越来越成为 时代的潮流,使用各种网上的软件方便生活,已经成为了一个不可扭转的趋势。以此设 计题目为目的,选择市作为实践对象,以市公交系统为基础,再利用所学知识,熟练运 用开发工具后,开发一个市手机公交线路查询软件,并且尽可能将其开发为一个方便大 众使用的公交线路查询软件。 而且在当今公交出行线路多数是通过PC 机查询获得的,但是假想一下在公交出行 线路走到一半的时候计划有所变化,公交出行线路需要有所调整,那么如何能够动态掌 握线路信息显得尤为重要,而且将来对生活的满意度也不仅仅是百姓致富安居乐业就足以,而是逐渐趋向于一个更人性化的服务。城市交通服务以及附属的一些服务一直都在 不断的随着社会的进步而进步,这些服务从最开始的直接人力服务转向技术型服务,如 询问,路牌等,然而这些服务总是有比较大的局限性,即纵然你知道了这条路该怎么走,下条路线该通到哪却不知,于是开发这个手机公交线路查询软件,可在手机上随时随地 对公交线路进行查询,对用户将要出行的路线了如指掌,这对用户来说可以省去很多麻 烦,节省不少时间。本次毕业设计结合市公交线路系统开发一个公交线路手机查询软件,服务于大众。

. 目录 第一章需求分析与概要设计 (1) 1.1可行性分析 (1) 1.2需求分析 (2) 1.2.1 系统功能需求 (2) 1.2.2服务器端需求分析 (3) 1.2.3客户端需求分析 (4) 1.2.4开发环境及工具需求分析 (5) 1.3概要设计 (6) 1.3.1开发流程 (6) 1.3.2系统数据流图 (6) 1.3.3系统整体结构说明 (7) 1.3.4系统功能模块的划分 (8) 第二章模式设计 (12) 2.1C/S 模式简介 (12) 2.2B/S 模式简介 (12) 2.3B/S-C/S 模式 (13) 2.3.1B/S-C/S模式定义 (13) 2.3.2B/S-C/S模式特点 (15) 第三章数据库设计 (16) 3.1数据库结构 (16) 3.2服务器数据库设计: (16) 3.3客户端数据库设计: (20) 3.3.1SQLite 简介 (20) 3.3.2数据库设计 (21) 第四章系统测试 (24) 4.1系统测试方案 (24) 4.2性能分析 (24) 总结 (26)

公交查询系统的设计与实现

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 公交查询系统设计毕业论文 信息工程系 毕业设计(论文)诚信承诺 我谨在此承诺:本人所写的毕业论文《公交查询系统制作》,系本人独自完成,凡涉及其他作者的观点和材料,均作了注释与说明,若有不实,后果本人承担。 承诺人(签名): 2010年6 月1 日

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 摘要 为推进地名信息服务工作,开发的“南京市公交查询系统”软件(以下简称“本软件”),用于提供快速的、简便的城市公交站点、线路查询服务,也可以用于制作地铁、公路等交通信息查询系统。本软件的核心是对选择好的车次进行路线的查询,或者输入所要查询的车站名,点击“查询”按钮,查询所有含有该站的车次及相应的停靠站。此处既可以“精确查询”也可以是“模糊查询”,“模糊查询”主要方便那些对站名不是很清楚,但知道其中的一部分的乘客,系统可以帮助他们快速的查出。本软件用JSP作为开发语言并结合SQL数据库,只要将公交站点等信息输入数据库,就可以很快构建成一个简单、实用的本地公交查询系统。 关键词: JSP、 SQL数据库、车次管理,公交查询系统。 English Abstract To promote the geographical names information service work, I developed the "Nanjing Public Transport Query System" (hereinafter referred to as the "Software"), used to provide fast, convenient city bus stops, in line inquiry service can also be used to make subway , highway and other transportation information inquiry system. The core of this software is a good choice of trips to routes of inquiry, or enter the station name to the query, click the "Search" button, check all the trips with the station and the corresponding stops. Here both "Exact" can be "fuzzy query," "Fuzzy query," the main benefit of those on the station were not clear, but that one part of the passenger, the system can help them quickly find out. This software is developed using JSP as a language and SQL database integration, as long as the bus stops and other information

相关文档
最新文档