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