火车订票课程设计软件工程.docx
- 文档编号:3622793
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:29
- 大小:316.57KB
火车订票课程设计软件工程.docx
《火车订票课程设计软件工程.docx》由会员分享,可在线阅读,更多相关《火车订票课程设计软件工程.docx(29页珍藏版)》请在冰豆网上搜索。
火车订票课程设计软件工程
河北工业大学
课程设计报告
课程名称软件工程课程设计
设计题目火车预售票系统设计
专业计算机科学与技术
班级
学号
姓名
完成日期
课程设计任务书
设计题目:
火车预售票系统设计
_________________________________________________________
设计内容与要求:
为各类用户提供并实现以下功能:
1.管理员:
各类用户权限设置;
2.操作员:
查询与火车票销售/退票管理;
3.普通用户:
查询与网上预定/取消预定火车票。
课程设计报告的组成:
1.需求规格说明书,包括用例图,数据流图,数据字典;
2.概要设计说明书,包括系统模块结构图,功能模块清单,实体图,系统E-R图,数据库表结构设计。
3.项目总结报告,包括实际完成情况表。
指导教师:
课程设计评语
成绩:
指导教师:
_______________
年月日
第一部分软件需求规格说明书
1引言
1.1编写目的
《火车网上售票系统需求规格说明书》的目的是明确《火车网上售票系统》中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅。
《火车网上售票系统需求规格说明书》的阅读对象为:
1)对相关业务技术和总体方案作出决策和管理人员和质量管理人员;
2)对本《需求规格说明书》进行评审和确认的有关业务和技术人员;
3)参加概要设计和详细设计阶段工作的全体设计人员;
4)《火车票网上售票系统》项目组;
1.2背景
本项目的任务提出者、开发者、用户;
软件系统名称:
火车票预售系统
任务提出者:
开发者:
洛阳理工学院计算机系
用户:
广大人民群众、系统管理员
1.3术语定义
用例图:
由参与者(Actor)、用例(UseCase)以及它们之间的关系构成的用于描述系统功能的静态视图称为用例图。
数据流:
只能以事先规定好的顺序被读取一次的数据的一个序列
数据流图:
结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
数据字典:
一种用户可以访问的记录数据库和应用程序源数据的目录
1.4参考资料
[1]张海藩.软件工程导论(第五版).北京:
清华大学出版社,2012
[2]孙家广.软件工程.北京:
高等教育出版社,2005
[3]郑人杰.实用软件工程.北京:
清华大学出版社,2004
[4]陈有祺.软件工程引论.天津:
南开大学出版社,2000
[5]杨芙清.面向对象程序设计.北京:
北京大学出版社,1992
[6]潘锦平.软件系统开发技术.西安:
西安电子科技大学出版社,1997
[7]蔡希尧,陈平.面向对象技术.西安:
西安科技大学出版社,1993
[8]罗晓沛,侯炳辉.系统分析员教程.北京:
清华大学出版社,1992
2任务概述
2.1目标
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料
(1)完善目前火车售票系统,使之能跟上时代的发展。
同时通过实践来提高自己的动手能
(2)应用范围:
理论上能够实现于铁路部门的售票系统,其目的在于在原有的系统基础使得火车售票便捷化,以期实现完善日常生活中火车售票的各种缺陷。
(3)可实现旅客对于火车票的查询与购买功能,售票员则可实现查询、添加和删除等功能;对于所查询的车次结果提供列表显示输出;有一定的安全机制,普通旅客不能对车次信息随意删改,只有授权的售票员可通过密码识别进行维护。
2.2用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。
这些是软件设计工作的重要约束
本系统的最终用户有两类:
1)操作员:
对做各项售票管理熟悉,管理系统操作经验丰富,为本系统的主要面向用户,教务人员几乎每天都会体会到本教务系统;
2)客户:
能够较快地熟悉系统的用户,上网时会大量地使用本系统进行信息查询和买票订票;
3需求规定
3.1系统用例图
管理员的功能是管理用户的权限。
图1-1管理员用例图
客户的功能主要是注册、登录、修改密码、查询信息(查询车次信息、查询列车时刻表、查询余票信息)、预定车票、改签车票和退票几项功能。
图1-2客户用例图
操作员的功能主要包括查询、修改票价、修改车次、修改起始站、修改订单、统计查询。
图1-3操作员用例图
3.2数据流图与数据字典
3.2.1数据流图
从顶层逐层画出数据流图。
图1-4火车票预售系统0层数据流图
图1-5火车票预售系统客户端1层数据流图
图1-6火车票预售系统客户端2层数据流图
图1-7火车票预售系统管理员端1层数据流图
图1-8火车票预售系统管理员端2层数据流图
图1-9火车票预售系统管理员端1层数据流图
图1-10火车票预售系统管理员端2层数据流图
3.2.2数据字典
1.数据流条目
火车订票系统数据流条目数据字典描述举例如下。
(1)用户登录数据流
名称:
用户登录信息
别称:
用户登录验证
简述:
用户登录系统的身份验证
数据流组成:
用户登录信息=用户名+用户密码
数据来源:
客户、管理员及操作员
数据去向:
用户信息验证
(2)用户注册数据流
名称:
用户注册信息
别称:
用户信息存储
简述:
用户身份信息的存储
数据流组成:
用户登录信息=用户名+用户密码+身份证号+籍贯+出生日期+姓名+性别
数据来源:
客户及管理员
数据去向:
用户信息存储
(3)订票数据流
名称:
客户订票订单信息
别称:
无
简述:
客户订票的详细信息
数据流组成:
客户订票订单信息=客户名+客户身份证号+车次+乘车日期+出发站+目的站+票价+开车时间
数据来源:
客户
数据去向:
订票处理
(4)退票数据流
名称:
客户退票订单信息
别称:
无
简述:
客户退票的详细信息
数据流组成:
客户退票订单信息=客户名+客户身份证号+车次+乘车日期+出发站+目的站+应退款数
数据去向:
退票处理
(5)改签数据流
名称:
客户改签订单信息
别称:
无
简述:
客户改签的详细信息
数据流组成:
客户退票订单信息=客户名+客户身份证号+车次+日期+出发站+目的站+票价+应退补差价+开车时间
数据去向:
改签处理
(6)用户查询数据流
名称:
用户查询信息
别称:
无
简述:
用户查询自己的基本信息及订单信息
数据流组成:
用户信息+订票信息+退票信息+退票信息+列车时刻表+车次列表+余票信息
2.数据存储条目
数据存储是数据结构保存的地方。
一个数据存储词条应有以下几项内容:
数据存储名、简述、输入数据、输出数据、数据存储组织、记录数、记录组成。
火车订票系统数据存储描述举例如下所示:
(1)用户注册信息
名称:
用户注册信息
编号:
D1
主关键字:
用户名
存储组织:
每个用户对应一个用户名
组成:
用户名+用户密码+身份证号+籍贯+出生日期+姓名+性别
简要说明:
使用身份证号实现实名注册,每个身份证号只能注册一个账号,订票时实行实名制
(2)客户订票信息
名称:
客户订票信息
编号:
D2
主关键字:
订票订单号
存储组织:
每个订票订单对应一个订单号
组成:
订票订单编号+客户名+客户身份证号+车次+日期+出发站+目的站+票价
简要说明:
当订票成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息
(3)客户退票信息
名称:
客户退票信息
编号:
D3
主关键字:
退票订单编号
存储组织:
每个退票订单对应一个订单号
组成:
订票订单编号+客户名+客户身份证号+应退款数
简要说明:
当退票成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息
(4)客户改签信息
名称:
客户改签信息
编号:
D4
主关键字:
改签订单编号
存储组织:
每个改签订单对应一个订单号
组成:
改签订单编号+客户名+客户身份证号+车次+日期+出发站+目的站+应退补差价
简要说明:
当改签成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息
(5)车次信息
名称:
车次信息
编号:
D5
主关键字:
车次
存储组织:
每个车次对应着一个车次信息
组成:
车次+具体时间+到站数+行驶时间
简要说明:
车次信息的存储是由车次来决定的
(6)列车时刻表信息
名称:
列车时刻表
编号:
D6
主关键字:
车站名称
存储组织:
每个车站对应一个列车时刻表
组成:
车站名+时间点+车次+始发站+目的站
简要说明:
每个车站都有自己的列车时刻表
(7)余票信息
名称:
余票信息
编号:
D7
主关键字:
车次、乘车日期、乘车站、目的站
存储组织:
每个车站到其他车站的余票因时间和车次的不同而不同
组成:
车次日期+乘车日期+乘车站+目的站+余票数
简要说明:
每个车站到其他车站的余票因时间和车次的不同而不同
3.加工条目
加工逻辑是对数据流程图中各个基本处理的精确描述。
实例如下所示:
(1)注册加工
名称:
注册
输入数据流
加工号:
1
输入数据流:
客户注册信息
输出数据流:
客户查询信息
加工逻辑:
①当用户名或身份证号已被占用时,系统会自动提示
(2)登录加工
名称:
登录
加工号:
2
输入数据流:
客户登录信息
输出数据流:
用户查询信息
加工逻辑:
①当用户名或者密码输入有误时,系统会提示
(3)订单加工
加工号:
3
输入数据流:
订票,改签,退票
输出数据流:
用户查询信息
加工逻辑:
①订票时,如果没有余票则不能购买。
退票时,如果已经过了发车时间,则不能退票。
改签时,如果要改签到的车次没有余票,则不能改签。
订票、退票或者改签成功时都会自动生成一个订单号。
4.数据项
数据项是数据流组成的最小单位,是无法再细分的数据流。
火车订票系统房间号数据项描述如下。
名称:
用户名
别名:
用户登录名
所属数据流:
用户登录、用户注册
存储位置:
客户基本数据库,系统管理员基本数据库
代码类型:
字符串
备注:
每个用户有唯一的用户名
名称:
订单号
别名:
订单编号
所属数据流:
订票、改签、退票
存储位置:
客户订票订单数据库,客户改签订单数据库,客户退票订单数据库
代码类型:
字符串
备注:
每个订单只有唯一的订单号
名称:
车次
别名:
车辆编号
所属数据流:
订票、改签、客户查询信息
存储位置:
客户订票订单数据库,客户改签订单数据库、列车时刻表数据库、车次信息数据库
代码类型:
字符串
备注:
车次是客户买票的重要依据
名称:
乘车日期
别名:
乘车的具体日期
所属数据流:
订票,改签,客户查询信息
存储位置:
客户订票订单数据库,客户改签订单数据库
3.3对性能的规定
3.3.1精度
说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
在输入票价时,应当保留至小数点后两位,输入数量时
票价报表中的票价一般保留至小数位后两位
3.3.2时间特性要求
说明对于该软件的时间特性要求,如对:
1、响应时间;
2、更新处理时间;
3、数据的转换和传送时间;
4、解题时间等的要求。
1.响应时间:
所有的查询操作响应时间一般不超过5秒,大型的报表如票价报表则应该在15秒内显示或者提示相关出错信息;
2.更新处理时间:
所有提交数据一般在3秒内响应;
3.数据的转换和传送时间;
4.解决时间等的要求
4运行环境规定
4.1设备
列出运行该软件所需要的硬设备。
说明其中的新型设备及其专门功能,包括:
处理器型号及内存容量:
外存容量;
其它输入及输出设备。
4.2支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
操作系统:
windows、
编程工具:
VisualStdio2005
测试支持软件:
第二部分概要设计说明书
1引言
该文档首先给出了整个系统的整体网络结构和功能结构的概貌,试图从总体架构上给出整个系统的轮廓。
而且还给出了非常直观的模块结构图以及各实体的E-R图。
这些文字和图形都为了本文档能详细准确地描述用户的需求,同时也为用户更容易地理解这些需求的描述创造了条件。
该文档详尽说明了这一软件产品的需求和规格,这些规格说明是进行设计的基础,也是编写测试用例和进行系统测试的主要依据。
同时,该文档也是用户确定软件功能需求的主要依据。
本文档面向多种读者对象:
(1)项目经理:
项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。
(2)设计员:
对需求进行分析,并设计出系统,包括数据库的设计。
(3)程序员:
配合《设计报告》,了解系统功能,编写《用户手册》。
(4)测试员:
根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。
(5)销售人员:
了解预期产品的功能和性能。
(6)用户:
了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。
(7)其他人员:
如部门领导、公司领导等可以据此了解产品的功能和性能。
在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。
1.1目的
本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
1.2范围
本文档用于软件设计阶段的概要设计,它的上游(依据的基线)是《需求分析规格说明书》,它的下游是《详细设计说明书》,并为《详细设计说明书》提供测试的依据。
软件概要设计的范围是:
软件系统总体结构设计(包括系统模块结构图、功能模块清单)、数据库设计(包括实体图、系统E-R图、数据库的表结构)。
1.3命名规则
变量对象命名规则:
全局变量:
首字母英文大写;
局部变量:
首字母小写。
数据库对象命名规则:
数据库表名:
全部英文字母大写;
字段名:
英文首字母大写;
视图名:
英文字母小写。
1.4术语定义
E-R图:
是“实体-联系方法”(Entity-RelationshipApproach)的简称。
它是描述现实世界概念结构模型的有效方法。
是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来。
模块结构图:
采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想描述(分解)系统。
结构化设计方法,首先以数据流图为基础导出系统模块(功能)结构图。
在导出系统模块(功能)结构图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则。
先将系统数据流图中的加工转换成模块,再将各大模块继续划分为较小的模块,直到每一模块都是功能单一的模块。
主键:
全称叫主关键字。
主键作表的行的唯一标识的候选关键字。
一个表只有一个主关键字。
主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。
又称主码。
并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
外键:
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。
由此可见,外键表示了两个关系之间的相关联系。
以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。
外键又称作外关键字。
1.5参考资料
[1]张海藩.软件工程导论(第五版).北京:
清华大学出版社,2012
[2]孙家广.软件工程.北京:
高等教育出版社,2005
[3]郑人杰.实用软件工程.北京:
清华大学出版社,2004
[4]陈有祺.软件工程引论.天津:
南开大学出版社,2000
[5]杨芙清.面向对象程序设计.北京:
北京大学出版社,1992
[6]潘锦平.软件系统开发技术.西安:
西安电子科技大学出版社,1997
[7]蔡希尧,陈平.面向对象技术.西安:
西安科技大学出版社,1993
[8]罗晓沛,侯炳辉.系统分析员教程.北京:
清华大学出版社,1992
2总体设计
2.1总体结构设计
火车票预定系统包含6个模块。
分别是注册登录模块、售票功能模块、查询功能模块、调度功能模块、维护功能模块和系统功能模块。
总体结构设计如图2-1所示。
以下是对各个子模块的具体分析:
注册登录模块。
包括2个子模块:
(1)注册;
(2)登录。
售票功能模块。
包括4个子模块:
(1)销售车票;
(2)预定车票;(3)车票退订;(4)车票改签。
查询功能模块。
包括2个子模块:
(1)起始站查询;
(2)车次查询表查询。
维护功能模块。
包括4个子模块:
(1)票价修改;
(2)车票表修改;(3)退票表修改;(4)密码修改。
调度功能模块。
包括2个子模块:
(1)车次修改;
(2)起始站修改。
系统功能模块。
包括2个子模块:
(1)售票统计;
(2)报表打印。
系统的模块图如图2-2所示:
图2-2系统结构图
2.2功能模块清单
各功能模块的具体分析如表2-1所示。
表2-1功能模块清单
模块编号
模块名称
模块功能描述
M1
注册
在用户购票之前需要先注册
M2
登录
注册成功后用户可以登录系统购票
M3
车票销售
车票的卖出
M4
车票预订
提前预订车票
M5
车票退订
如果自己有其他情况可以退票
M6
车票改签
用户可以改签到其他时间坐车
M7
车次查询
用户、管理员可以根据车次号查询相关车次信息
M8
起始站查询
用户、管理员根据火车的始发站查询相关车次
M9
密码修改
为了安全用户可以更改自己的账户密码
M10
退票表修改
管理员及时对退票车次的信息进行修改
M11
车票表修改
管理员及时的对车次信息进行及时更新
M12
票价修改
管理员对车票票价进行更改
M13
车次修改
管理员对车次表修改
M14
起始站修改
管理员对临时调度车次的始发站进行修改
M15
售票统计
管理员对车次的售票情况进行统计
M16
报表打印
管理员对需要打印的数据进行打印
3数据库设计
3.1数据库概念级设计(E-R图)
3.1.1实体图
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
整体结构E-R图如图2-3所示:
图2-3
3.1.2系统E-R图
针对火车票网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,包括以下实体:
1.用户信息包括:
姓名、ID号、身份类别、电话。
实体图如图2-4所示:
图2-4
2.管理员信息包括:
姓名、电话、ID号、地址。
实体图如图2-5所示:
图2-5
3.操作员信息包括:
姓名、电话、ID号、地址。
实体图如图2-6所示:
图2-6
4.订单信息包括:
订单号、车次号、发车日期、订购票数、总价、起始站。
实体图如图2-7所示:
图2-7
5.车次信息包括:
车次号、起始站、发车时间、座位数、票价、发车时间。
实体图如图2-8所示:
图2-8
3.2数据结构逻辑级设计
火车站网上订票系统数据库中各个表格的设计结果如表2-2——表2-6所示。
每个表格表示在数据库中的一个表。
表2-2用户信息表
序号
字段名
类型(宽度、精度)
取值约束
空否
默认值
主键/外键
注释
1
Name
Char(20)
无
NotNull
空
姓名
2
ID
Char(20)
无
NotNull
空
主键
身份证号
3
Phone
Char(20)
无
NotNull
空
电话
4
Category
Char(20)
无
NotNull
成人
身份类别
表2-3管理员信息表
序号
字段名
类型(宽度、精度)
取值约束
空否
默认值
主键/外键
注释
1
Name
Char(20)
无
NotNull
空
姓名
2
ID
Char(20)
无
NotNull
空
主键
身份证号
3
Phone
Char(20)
无
NotNull
空
电话
4
Address
Char(20)
无
NotNull
空
地址
表2-4操作员信息表
序号
字段名
类型(宽度、精度)
取值约束
空否
默认值
主键/外键
注释
1
Name
Char(20)
无
NotNull
空
姓名
2
ID
Char(20)
无
NotNull
空
主键
身份证号
3
Phone
Char(20)
无
NotNull
空
电话
4
Address
Char(20)
无
NotNull
空
地址
表2-5订单信息表
序号
字段名
类型(宽度、精度)
取值约束
空否
默认值
主键/外键
注释
1
Name1
Char(20)
无
NotNull
空
姓名
2
ID
Char(20)
无
NotNull
空
外键
身份证号
3
Phone
Char(20)
无
NotNull
空
电话
4
Category
Char(20)
无
NotNull
空
身份类别
5
Total
Char(20)
无
NotNull
空
总票价
6
OrderID
Char(15)
无
NotNull
空
主键
订单号
7
Ordernum
Char(5)
无
NotNull
空
票数
8
BusFrom
Char(20)
无
NotNull
空
起始站
9
BusTo
Char(20)
无
NotNull
空
终点站
10
BusBegin
Char(20)
无
NotNull
空
发车时间
表2-6车次信息表
序号
字段名
类型(宽度、精度)
取值约束
空否
默认值
主键/外键
注释
1
BusID
Char(20)
无
NotNull
空
主键
车次号
2
Seat
Char(20)
无
NotNull
软卧
座位类型
3
Price
Char(20)
无
NotNull
空
票价
4
TicketNum
Char(20)
无
NotNull
空
剩余票数
5
BusFrom
Char(20)
无
NotNull
空
起始站
6
BusTo
Char(20)
无
NotNull
空
终点站
7
BusBegin
Char(20)
无
NotNull
空
发车时间
第三部分项目开发总结报告
1引言
1.1编写目的
以前火
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火车 订票 课程设计 软件工程
![提示](https://static.bdocx.com/images/bang_tan.gif)