列车时刻查询管理系统DOC.docx
《列车时刻查询管理系统DOC.docx》由会员分享,可在线阅读,更多相关《列车时刻查询管理系统DOC.docx(35页珍藏版)》请在冰豆网上搜索。
列车时刻查询管理系统DOC
沈航北方科技学院
课程设计说明书
课程名称软件综合课程设计
系别信息工程系
专业计算机科学与技术
班级B141102
学号B14110208
学生姓名
指导教师史俊
2014年11月
沈航北方科技学院
课程设计任务书
系别信息工程系专业计算机科学与技术
课程设计题目列车时刻查询管理系统
课程设计的内容及要求:
(一)主要内容
设计一个火车时刻表查询管理系统,主要实现以下功能:
1、客户可以对全国范围内的火车时刻进行查询;
2、能够按车次、始发站、终到站、发车时间、到站时间、中途到站以及中途到站时间和中途发车时间对车次进行查询;
3、可以查询某站经过的所有车次;
4、可以按票价进行排序;
5、管理员需凭密码进入系统,可以实现添加、修改、删除各车次信息等功能。
(二)基本要求
1、系统采用VB、VC++或JAVA作为开发工具,数据库应用SQLSever或ORACLE;
2、独立完成系统的设计、编码和调试,通过指导教师当场验收;
3、交出完整的课程设计报告。
指导教师史俊2014年11月8日
沈阳航空航天大学北方科技学院
课程设计成绩评定单
课程名称软件综合课程设计
课程设计题目列车时刻查询管理系统
专业计算机科学与技术班级B141102
学号B14110208姓名答辩日期2014年11月21日
指导教师(答辩组)评语:
课程设计成绩
指导教师(答辩组)签字
年月日
摘要
本次课程设计模拟列车时刻查询系统开发过程,简单介绍开发背景与意义,着重与需求分析和总体详细设计。
本报告中首先说明了该系统的背景与需达到的目的,主要是为了方便管理以及方便生活,之后详细说明了系统的业务流程和系统开发流程,重点介绍了系统各模块的功能及相关功能的具体方向。
本系统达到实验要求,可以对车站信息进行管理,能够在给出起始站和终点站情况下列出它们之间的所有行驶路线和起止时刻,能够对系统使用用户信息进行管理。
关键词列车时刻查询;方便用户;达到要求;
列车时刻查询管理系统
目录
摘要I
1绪论1
1.1课题背景1
1.2课题意义1
1.3课题目的1
1.4国内外发展现状及趋势2
2可行性分析3
2.1技术可行性分析3
2.2操作可行性分析3
2.3经济可行性分析4
2.4法律可行性4
3需求分析5
3.1功能需求5
3.2数据需求5
3.3性能需求6
3.4数据流图6
3.5数据字典7
3.6E-R图10
3.6.1实体属性图10
3.6.2系统E-R图11
4系统设计13
4.1系统结构13
4.2功能模块设计14
4.3数据库设计15
4.3.1数据库逻辑设计16
4.3.2数据库表设计16
4.4关键技术及开发工具17
5详细设计19
5.1框架结构19
5.2数据库连接19
5.3功能模块设计与实现20
5.3.1基本信息添加模块设计与实现20
5.3.2基本信息修改功能模块设计与实现21
5.3.3基本信息删除功能模块设计与实现21
5.3.4基本信息查询功能模块设计与实现22
5.3.5排序功能模块设计与实现23
5.3.6统计功能模块设计与实现24
5.4人机界面设计25
6系统调试与测试27
6.1系统调试27
6.2系统测试27
6.2.1测试方案28
6.2.2系统黑盒测试28
7结论30
参考文献31
附录1-客户手册32
附录2-源程序34
1绪论
1.1课题背景
21世纪是一个信息高速发展的时代。
随着时代的进步,越来越多的代步工具出现,但是要是说安全性、方便性的话,要数火车了。
然而,很多人到火车站售票台去买火车票时,总是买不到,火车票对于很多的人来说是“一票难求!
”,为什么会出现这个问题呢?
这是因为很多人在互联网上进行查询火车,这样就省去了很多的时间,并且效率高,不用排很长的队去买。
针对上述的这一问题,开发一套列车查询系统,客户进行查询操作。
1.2课题意义
现在,在世界各国,列车时刻查询使用的基本上都是员工操作计算机的模式,在这里,计算机主要是借助软件用来存储、更新数据的,并有统计帐目的功能。
严格的说,这并不是智能化,但是,这样的处理模式比已往的人工处理的好处显然还是很明显的,所有的数据都由数据库管理,可以随时动态的提取、存储数据,并可以将修改后的数据覆盖掉原有的数据。
所以,开发火车站车票查询系统软件是很有意义、有必要的。
1.3课题目的
随着人类社会的进步和科学技术的发展,人们生活水平也在不断的提高。
出行也越来越频繁,而列车是比较方便的出行方式,所以列车时刻查询管理系统应运而生。
1.4国内外发展现状及趋势
在当今社会,计算机占据了非常重要的位置,这些大部分都是通过使用软件而提高生产、管理效率来体现的。
本文研究的火车站车票查询系统正好就是这样性质的一个软件。
铁路运输一直都是我国重要的经济命脉,而且由于我国是内陆国家,这铁路运输的意义就显得更加突出了,对于这样重要的一件事,当然需要良好的管理了。
经过几十年的发展,事实早就证明了使用计算机软件来辅助自己比单纯的人工处理手段高明的多,在这样的背景下,研究这样的课题的意义也就不言而喻了。
2可行性分析
可行性分析(feasibilitystudy),是世界上普遍采用的一种研究工程项目是否可行的科学。
它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。
2.1技术可行性分析
当今社会计算机已经相当普及,人们的日常生活基本离不开它。
列车时刻查询管理系统主要实现客户对列车的各种查询,排序,以及管理员对列车的管理,包括增加,删除,修改,查询等。
我通过对SQL数据库、Oracle数据库课程的学习基本掌握了数据库知识,通过学习C语言、C++、Java等语言掌握了编程技术。
综上所述,列车时刻查询管理系统的开发从数据库技术、软件技术、硬件技术方面均具有可行性。
2.2操作可行性分析
根据要求本系统需要操作界面使用简单方便,系统稳定性好,安全可靠。
本系统是列车时刻查询管理系统,主要用于管理员对列车信息进行查询、添加、删除、修改等功能;客户对列车进行查询等功能。
综上所述,列车时刻查询管理系统的各项简洁操作,本系统在操作上是可行的。
2.3经济可行性分析
此次课设题目除电脑外不需其他硬件支持,开发工具用Eclipse和SQLserver,均可从网上下载,配置好运行环境就可以进行程序编写。
所以,从经济角度来讲,开发本程序是可行的。
2.4法律可行性
本系统主要用于列车的管理和查询,开发期间所涉及的系统,软件均符合法律规定,不涉及侵犯他人专利权和侵犯版权,不涉及国家安全或者商业机密,符合知识产权法等法律要求。
通过以上从技术角度、经济角度、操作性、法律可行性角度进行的全面分析,列车时刻查询管理系统的开发是可行的。
3需求分析
软件需求分析也称为需求分析工程,是软件生命期中重要的一步,通过需求分析,可以使我们所做的系统的目标更加明确。
在需求分析阶段,要对经过可行性分析所确定的系统目标和功能做近一步的详细论述,确定系统“做什么”的问题。
3.1功能需求
系统主要实现对列车的管理及查询;在列车信息管理方面,主要涉及管理员对列车信息的添加、修改、删除,结束后对信息进行存档。
具体功能如下:
(1)登录功能:
管理员需要凭借账号和密码登录系统;
(2)删除功能:
删除列车的所有信息;
(3)添加功能:
添加列车的所有信息;
(4)修改功能:
可修改列车除车次外的所有信息;
(5)查询功能:
对列车的信息进行查询;
(6)排序功能:
客户通过查询出来的列车根据票价自动排序;
3.2数据需求
系统中涉及到的数据较多,例如列车信息。
其中涉及到的数据信息,具体如下。
基本数据包括对车次,类型,出发地,终点站,出发时间,到站时间,票价,所过的站点等的输入。
3.3性能需求
系统是对列车信息进行系统管理和查询的一个软件。
由于是一个对列车信息进行管理,要求其要有明确的权限分配,并且要有较快的响应速度,系统还要有较高的可靠性。
(1)安全性
本系统对于列车基本信息的管理,客户只能对列车信息进行浏览查询功能,管理员则必须凭借管理员和密码登录才可以对列车信息进行修改等功能,所以本系统的安全性大大的提高。
(2)稳定性
由于列车信息资料、数量多,考虑到这个问题,所以本系统的开发适合大众,稳定性高的。
(3)可靠性
由于本系统分为管理员和客户两个界面,对于列车的基本信息,只能由管理员进行修改等操作,而客户对列车信息只有查询。
所有可靠性大幅提高。
3.4数据流图
数据流图简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
列车信息管理系统顶层数据流图如图3.1所示。
图3.1列车信息管理系统顶层数据流图
管理员、客户作为被分配不同权限的两个角色,登录系统后可以实现不同的功能。
管理员登录系统后可以添加、删除、修改列车信息等。
客户进入系统后可以查询列车信息,并且对列车的票价排序查等。
列车信息管理系统第一层层数据流图如图3.2所示。
图3.2列车信息管理系统一层数据流图
管理员可以添加、修改、删除数据信息,客户可以对数据信息进行查询。
3.5数据字典
数据字典(Datadictionary)是一种客户可以访问的记录数据库和应用程序元数据的目录。
主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。
被动数据字典是指修改时必须手工更新其内容的数据字典。
数据库数据字典不仅是每个数据库的中心。
而且对每个客户也是非常重要的信息。
客户可以用SQL语句访问数据库数据字典,数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
数据字典主要包数据流、数据处理、数据存储、数据元素信息。
(1)数据元素
1数据元素名称:
num
别名:
车次
简述:
列车的编号
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
2数据元素名称:
type
别名:
类型
简述:
列车的型号
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
3数据元素名称:
sta
别名:
出发站
简述:
列车的出站点
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
4数据元素名称:
endsta
别名:
终点站
简述:
列车的终站点
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
5数据元素名称:
time
别名:
出发时间
简述:
列车的出站时间
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
6数据元素名称:
endtime
别名:
到站时间
简述:
列车的到站时间
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
7数据元素名称:
course
别名:
途经站点
简述:
列车的路过站点
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
8数据元素名称:
money
别名:
票价
简述:
列车的票价
数据类型:
字符型
长度:
50
取值范围:
“000…001”-“999…999”
(2)数据流
①数据流名称:
列车信息
简述:
记录列车的信息
数据流组成:
列车信息=车次+类型+出发地+终点站+开发时间+到达时间+途经站点+票价
(3)处理逻辑条目
①处理逻辑名称:
添加
简述:
管理员对列车信息进行添加。
输入的数据流:
输入车次,类型,出发地,终点站,开发时间,到达时间,途经站点,票价
处理:
添加列车信息时,输入添加的新列车的相关信息,完成弹出提示。
输出的数据流:
添加是否成功。
②处理逻辑名称:
修改
简述:
管理员对列车信息进行修改。
输入的数据流:
首先输入修改的车次,然后选择修改的信息,选择修改
处理:
修改列车信息时,根据列车编号进行修改。
输出的数据流:
修改是否成功。
③处理逻辑名称:
删除
简述:
管理员对列车信息进行删除。
输入的数据流:
输入删除的列车编号。
处理:
删除列车信息时,根据列车编号进行删除。
输出的数据流:
删除是否成功。
④处理逻辑名称:
查询
简述:
客户对列车信息进行查询。
输入的数据流:
输入车次或者输入任意一个条件。
处理:
客户可以通过车次或者输入任意一个条件进行查询。
输出的数据流:
列车信息。
⑤处理逻辑名称:
排序
简述:
客户对列车票价进行排序。
处理:
客户可以通过列车价格进行排序。
输出的数据流:
列车信息。
(4)数据存储
①数据存储名称:
列车信息表
简述:
存储的列车信息
数据存储结构:
车次,类型,出发地,终点站,开发时间,到达时间,途经站点,票价
关键字:
车次
②数据存储名称:
管理员表
简述:
存储的管理员
数据存储结构:
管理员名称,密码
关键字:
管理员名称
3.6E-R图
E-R图也即实体-联系图(EntityRelationshipDiagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
实体型(Entity):
用矩形表示,矩形框内写明实体名;比如列k1、列车k2都是实体。
如果是弱实体的话,在矩形外面再套实线矩形。
属性(Attribute):
用椭圆形表示,并用无向边将其与相应的实体连接起来;比如列车的车次、类型、票价都是属性。
如果是多值属性的话,在椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
联系(Relationship):
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
3.6.1实体属性图
经过分析,本系统为列车和管理员两个实体。
(1)列车
列车实体属性主要包括:
车次,类型,出发地,终点站,出发时间,到站时间,途经站点,票价。
实体属性图如图3.3所示
图3.3列车实体属性图
(2)管理员
管理员实体属性主要包括:
名称,密码。
实体属性图如图3.4所示
图3.4管理员实体属性图
3.6.2系统E-R图
ER模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
N,M:
N,还是1:
1等。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
系统E-R图如图3.5所示。
图3.5系统E-R图
解释如下:
一个车站可以有多个列车经过,一个列车可以经过多个列站;
4系统设计
系统设计要回答“怎么做”,即如何实现系统说明书规定的系统功能。
在这一阶段,要根据实际的技术条件,经济条件和社会条件确定系统的实施方案,即系统的物理模型。
本系统主要面向房地产企业,为企业管理者提供全方位的信息服务。
本章主要从系统结构、功能模块设计、数据库设计、开发工具四个方面对系统设计进行了分析。
4.1功能模块设计
列车信息管理系统是为了车站计算机化的管理,以提高工作效率,方便客户。
主要功能有管理员对列车信息进行管理,以及客户对系统内列车信息的查询等。
系统功能图如图4.1所示。
图4.1系统功能图
系统功能主要由基本信息添加模块、修改模块、删除能模块、查询模块、排序模块、统计模块组成。
功能具体如下所示。
(1)基本信息添加模块:
可以对列车各项信息进行添加。
(2)基本信息修改模块:
可以对列车各项信息进行修改。
(3)基本信息删除模块:
可以对列车信息进行删除。
(4)基本信息查询模块:
可以对系统内列车信息进行查询。
4.2数据库设计
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种客户的应用需求(信息要求和处理要求)。
本节主要通过数据库逻辑设计、数据库表设计对数据库设计进行详细介绍。
4.2.1数据库逻辑设计
E-R图向关系模型的转换要解决的问题是如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。
根据ER图转换为关系的转换规则,实体之间1:
1,1:
n的联系与n方的关系模式合并,m:
n的联系转换为二元或多元关系模式,转换为关系模式如下。
(1)独立的关系模式
①列车信息关系:
包含的属性有车次,类型,出发地,终点站,出发时间,到站时间,票价,所过的站点。
列车编号是主码。
②管理员关系:
包含的属性有管理员名称,密码。
4.2.2数据库表设计
系统开发选择SQLServer2000作为后台数据库。
首先打开管理器,创建数据库为train,新建列车信息表,管理员表等数据库表共2个。
下面对数据库表一一进行介绍。
列车信息表(train)
列车信息表主要存储列车的基本信息,包括车次,类型,出发地,终点站,出发时间,到站时间,票价,所过的站点。
列车信息表train表结构如表4.3所示。
表4.2building表
字段名称
字段类型
字段长度
是否为空
字段说明
num
varchar
50
否
车次
type
varchar
50
否
类型
sta
varchar
50
否
出发站
endsta
varchar
50
否
终点站
time
varchar
50
否
出发时间
endtime
varchar
50
否
到达时间
course
varchar
50
否
途径站点
money
varchar
50
否
票价
表说明:
主键:
num
②外键:
course
管理员信息表(admin)
管理员信息表主要存储管理员的基本信息,包括车次。
管理员信息表admin表结构如表4.3所示。
表4.3quyu表
字段名称
字段类型
字段长度
是否为空
字段说明
Name
varchar
50
否
管理员名称
PWD
varchar
50
否
密码
表说明:
主键:
Name
4.3关键技术及开发工具
本系统主要采用本系统主要采用本程序采用JAVA程序框架式开发技术.
前台设计科研管理信息系统采用JAVA技术来实现,使用了Eclipse软件。
后台设计主要使用SQLServer2012。
作为新一代的数据平台产品,SQLServer2012不仅延续现有数据平台的强大能力,全面支持云技术与平台,并且能够快速构建相应的解决方案实现私有云与公有云之间数据的扩展与应用的迁移。
SQLServer2012提供对企业基础架构最高级别的支持—专门针对关键业务应用的多种功能与解决方案可以提供最高级别的可用性及性能。
在业界领先的商业智能领域,SQLServer2012提供了更多更全面的功能以满足不同人群对数据以及信息的需求,包括支持来自于不同网络环境的数据的交互,全面的自助分析等创新功能。
针对大数据以及数据仓库,SQLServer2012提供从数TB到数百TB全面端到端的解决方案。
作为微软的信息平台解决方案,SQLServer2012的发布,可以帮助数以千计的企业用户突破性地快速实现各种数据体验,完全释放对企业的洞察力。
SQLServer2012包含企业版(Enterprise)、标准版(Standard),另外新增了商业智能版(BusinessIntelligence)。
微软表示,SQLServer2012发布时还将包括Web版、开发者版本以及精简版。
5详细设计
详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。
详细设计的目标有两个:
实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
5.1框架结构
系统中采用了java的图形界面GUI,实现了系统的基本功能。
图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受,使开发者能够清晰有序地构造界面逻辑。
5.2数据库连接
jsp的数据库连接方式主要有两种,odbc桥接和Tomcat数据池连接。
下面具体介绍连接方法。
public Connection DBconn(){//返回连接的对象
Connection connectionct=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connectionct=DriverManager.getConnection("jdbc:
odbc:
exam");
Statement
statement=connectionct.createStatement();
} catch (Exception e) { // TODO:
handle exception
JOptionPane.showMessageDialog(null, "数据库没有连接上"); }
returnconnectionct; }
5.3功能模块设计与实现
列车信息管理系统根据功能的不同分为以下几大类:
基本信息添加模块、修改模块、删除模块,主要是对列车等基本信息的添加删除修改,此模块只有管理员才拥有使用权限。
基本信息查询模块,客户可以对列车信息进行查询浏览功能。
排序模块,客户可以根据票价进行排序查询。
5.3.1基本信息添加模块设计与实现
基本信息添加模块,只有管理员登录后才可以进行操作。
列车信息添加,设置SQL语句sql="insertintoTB_Buildingvaluess(值1,值2,值3…)"。
流程图如图5.1所示。
图5.1添加功能流程图
5.3.2基本信息修改功能模块设计与实现
基本信息修改模块,只有管理员登录后才可以进行操作。
列车信息修改,设置SQL语句Sql="updateTB_Buildingset字段名=字段值where条件表达式"
流程图如图5.2所示。
图5.2修改功能流程图
5.3.3基本信息删除功能模块设计与实现
基本信息删除模块,只有管理员登录后才可以进行操作。
列车信息删除,设置SQL语句Sql="deletefromTB_Buildingw