火车订票(课程设计)-软件工程

火车订票(课程设计)-软件工程

2023年7月6日发(作者:)

河 北 工 业 大 学

课 程 设 计 报 告

课程名称 软件工程课程设计

设计题目 火车预售票系统设计

专 业 计算机科学与技术

班 级

学 号

姓 名

完成日期

课 程 设 计 任 务 书

设计题目: 火车预售票系统设计

_________________________________________________________

设计内容与要求:

为各类用户提供并实现以下功能:

1. 管理员:各类用户权限设置;

2. 操作员:查询与火车票销售/退票管理;

3. 普通用户:查询与网上预定/取消预定火车票。

课程设计报告的组成:

1. 需求规格说明书,包括用例图,数据流图,数据字典;

2. 概要设计说明书,包括系统模块结构图,功能模块清单,实体图,系统E-R图,数据库表结构设计。

3. 项目总结报告,包括实际完成情况表。

指导教师:

课 程 设 计 评 语

成绩:

指导教师:_______________

年 月 日 目 录

目 录 ................................................................................................................ 1

第一部分 软件需求规格说明书 ........................................................................... 1

1引言 ........................................................................................................... 1

1.1编写目的........................................................................................... 1

1.2背景 .................................................................................................. 1

1.3术语定义........................................................................................... 1

1.4参考资料........................................................................................... 2

2任务概述 .................................................................................................... 2

2.1目标 .................................................................................................. 2

2.2用户的特点 ....................................................................................... 2

3需求规定 .................................................................................................... 3

3.1系统用例图 ....................................................................................... 3

3.2数据流图与数据字典 ......................................................................... 4

3.3对性能的规定 ................................................................................. 13

4运行环境规定 ........................................................................................... 14

4.1设备 ................................................................................................ 14

4.2支持软件......................................................................................... 14

1引言 ......................................................................................................... 15

1.1目的 ................................................................................................ 15

1.2范围 ................................................................................................ 16

1.3命名规则......................................................................................... 16

1.4术语定义......................................................................................... 16

1.5参考资料......................................................................................... 17

2总体设计 .................................................................................................. 17

2.1总体结构设计 ................................................................................. 17

2.2功能模块清单 ................................................................................. 19

3数据库设计 .............................................................................................. 19

3.1数据库概念级设计(E-R图) ........................................................ 19

3.2数据结构逻辑级设计 ....................................................................... 22

第三部分 项目开发总结报告............................................................................. 24

1引言 ......................................................................................................... 24

1.1编写目的......................................................................................... 24

1.2参考资料......................................................................................... 24

2设计总结 .................................................................................................. 25

2.1实际完成情况 ................................................................................. 25

2.2 收获 ............................................................................................... 25

2.3有待改进之处 ................................................................................. 27 洛 阳 理 工 学 院

课 程 设 计 报 告

第一部分 软件需求规格说明书

1引言

1.1编写目的

《火车网上售票系统需求规格说明书》的目的是明确《火车网上售票系统》中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅。

《火车网上售票系统需求规格说明书》的阅读对象为:

1)对相关业务技术和总体方案作出决策和管理人员和质量管理人员;

2)对本《需求规格说明书》进行评审和确认的有关业务和技术人员;

3) 参加概要设计和详细设计阶段工作的全体设计人员;

4) 《火车票网上售票系统》项目组;

1.2背景

本项目的任务提出者、开发者、用户;

软件系统名称:火车票预售系统

任务提出者:

开发者:洛阳理工学院计算机系

用户:广大人民群众、系统管理员

1.3术语定义

用例图:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图称为用例图。

数据流:只能以事先规定好的顺序被读取一次的数据的一个序列

数据流图:结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

数据字典:一种用户可以访问的记录数据库和应用程序源数据的目录

1 洛 阳 理 工 学 院

课 程 设 计 报 告

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) 客户:能够较快地熟悉系统的用户,上网时会大量地使用本系统进行信息查询

2 洛 阳 理 工 学 院

课 程 设 计 报 告

和买票订票;

3需求规定

3.1系统用例图

管理员的功能是管理用户的权限。

管理用户权限修改车次管理员修改票价修改始发车站

图1-1管理员用例图

客户的功能主要是注册、登录、修改密码、查询信息(查询车次信息、查询列车时刻表、查询余票信息)、预定车票、改签车票和退票几项功能。

注册登录修改密码查询信息客户预定车票改签车票退票

图1-2客户用例图

3 洛 阳 理 工 学 院

课 程 设 计 报 告

操作员的功能主要包括查询、修改票价、修改车次、修改起始站、修改订单、统计查询。

登录查询信息操作员订单修改

图1-3操作员用例图

3.2数据流图与数据字典

3.2.1数据流图

从顶层逐层画出数据流图。

操作员提交修改订单、登录信息客户请求查看信息注册登录信息客户提交订单信息提交调度、维护信息事务 事务数据 图1-4火车票预售系统0层数据流图

订单信息管理员请求查看信息登录信息管理员火车订票系统

4 洛 阳 理 工 学 院

课 程 设 计 报 告

p1验证注册信息注册信息D1 注册信息登录信息P2客户验证登录信息余票信息余票信息车次信息d4 车次信息列车时刻表信息注册信息登录信注册信息息P3提交订单信息订单信息订单信息d2 订单信息P7提取订单信息余票信息余票信息 d3 余票信息车次信息列车时刻表信息P4提取余票信息p5提取车次信息P6提取列车时刻表信息余票信息车次信息客户d5列车时刻表信息列车时刻表信息 图1-5火车票预售系统客户端1层数据流图

订票信息改签信息P4改签信息管理改签信息改签信息d6 改签信息P9提取改签信息P1验证注册信息注册信息P4提取订票信息订票d1 注册信息信息d2 订票信息登录信息P2P3订票信息管理余票信息余票信息车次信息d4车次信息列车时刻表信息注册信息注册信注册信息息d3余票信息P5退票退票信信息息管理退票信息退票信息退票信息余票信息车次信息P10提取退票信息改签信息客户验证登录信息余票信息d3余票信息余票信息车次信息P6退票信息提取余票信息p7提取车次信息P8提取车次信息客户列车时刻表信d5 列车时刻息表信息列车时刻表信息 图1-6火车票预售系统客户端2层数据流图

5 洛 阳 理 工 学 院

课 程 设 计 报 告

p1验证注册信息注册信息D1 注册信息登录信息P2验证登录信息调度信息d1 调度信息调度信息P3进行调度调度信息注册信息登录信注册信息息登录信息管理员管理员维护信息d2 维护信息维护信息P4进行维护维护信息

图1-7火车票预售系统管理员端1层数据流图

p1验证注册信息注册信息D1 注册信息注册信息P2管理员登录信息验证登录信息票价信票价信息息 d3 票价信息P2修改票价信息票价信息注册信息注册信注册信息息车次信息列车时刻表信息p5修改车列车时次信息刻表信P6d5列车时刻息表信息修改列车时刻表信息d4 车次信息车次信息车次信息管理员列车时刻表信息

图1-8火车票预售系统管理员端2层数据流图

6 洛 阳 理 工 学 院

课 程 设 计 报 告

p1验证注册信息注册信息D1 注册信息登录信息P2验证登录信息订单信息D2 订单信息信息

注册信息登录信注册信息息登录信息系统管理员订单信息P3修改订单信息订单信息图1-9火车票预售系统管理员端1层数据流图

p1验证注册信息注册信息D1 注册信息注册信息P2操作员登录信息验证登录信息订票信息改签信息注册信息注册信注册信息息P4余票信修改订 d3 订票信息息票订单信息改签信p5息d4 车次信修改改息签订单退票信信息d5列车时刻表信息息P6修改退票订单信息订票订单信息改签订单信息操作员退票信息退票订单信息 图1-10火车票预售系统管理员端2层数据流图

7 洛 阳 理 工 学 院

课 程 设 计 报 告

3.2.2数据字典

1.数据流条目

火车订票系统数据流条目数据字典描述举例如下。

(1)用户登录数据流

名称:用户登录信息

别称:用户登录验证

简述:用户登录系统的身份验证

数据流组成:用户登录信息=用户名+用户密码

数据来源:客户、管理员及操作员

数据去向:用户信息验证

(2)用户注册数据流

名称:用户注册信息

别称:用户信息存储

简述:用户身份信息的存储

数据流组成:用户登录信息=用户名+用户密码+身份证号+籍贯+出生日期+姓名+性别

数据来源:客户及管理员

数据去向:用户信息存储

(3)订票数据流

名称:客户订票订单信息

别称:无

简述:客户订票的详细信息

数据流组成:客户订票订单信息=客户名+客户身份证号+车次+乘车日期+出发站+目的站+票价+开车时间

数据来源:客户

数据去向:订票处理

(4)退票数据流

名称:客户退票订单信息

8 洛 阳 理 工 学 院

课 程 设 计 报 告

别称:无

简述:客户退票的详细信息

数据流组成:客户退票订单信息=客户名+客户身份证号+车次+乘车日期+出发站+目的站+应退款数

数据去向:退票处理

(5)改签数据流

名称:客户改签订单信息

别称:无

简述:客户改签的详细信息

数据流组成:客户退票订单信息=客户名+客户身份证号+车次+日期+出发站+目的站+票价+应退补差价+开车时间

数据去向:改签处理

(6)用户查询数据流

名称:用户查询信息

别称:无

简述:用户查询自己的基本信息及订单信息

数据流组成:用户信息+订票信息+退票信息+退票信息+列车时刻表+车次列表+余票信息

2.数据存储条目

数据存储是数据结构保存的地方。一个数据存储词条应有以下几项内容:数据存储名、简述、输入数据、输出数据、数据存储组织、记录数、记录组成。火车订票系统数据存储描述举例如下所示:

(1)用户注册信息

名称:用户注册信息

编号:D1

主关键字:用户名

存储组织:每个用户对应一个用户名

组成:用户名+用户密码+身份证号+籍贯+出生日期+姓名+性别

9 洛 阳 理 工 学 院

课 程 设 计 报 告

简要说明:使用身份证号实现实名注册,每个身份证号只能注册一个账号,订票时实行实名制

(2)客户订票信息

名称:客户订票信息

编号:D2

主关键字:订票订单号

存储组织:每个订票订单对应一个订单号

组成:订票订单编号+客户名+客户身份证号+车次+日期+出发站+目的站+票价

简要说明:当订票成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息

(3)客户退票信息

名称:客户退票信息

编号:D3

主关键字:退票订单编号

存储组织:每个退票订单对应一个订单号

组成:订票订单编号+客户名+客户身份证号+应退款数

简要说明:当退票成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息

(4)客户改签信息

名称:客户改签信息

编号:D4

主关键字:改签订单编号

存储组织:每个改签订单对应一个订单号

组成:改签订单编号+客户名+客户身份证号+车次+日期+出发站+目的站+应退补差价

简要说明:当改签成功后自动生成订单,有个订单都有自己唯一的订单号,订单包括订票的各种信息

(5)车次信息

10 洛 阳 理 工 学 院

课 程 设 计 报 告

名称:车次信息

编号:D5

主关键字:车次

存储组织:每个车次对应着一个车次信息

组成:车次+具体时间+到站数+行驶时间

简要说明:车次信息的存储是由车次来决定的

(6)列车时刻表信息

名称:列车时刻表

编号:D6

主关键字:车站名称

存储组织:每个车站对应一个列车时刻表

组成:车站名+时间点+车次+始发站+目的站

简要说明:每个车站都有自己的列车时刻表

(7)余票信息

名称:余票信息

编号:D7

主关键字:车次、乘车日期、乘车站、目的站

存储组织:每个车站到其他车站的余票因时间和车次的不同而不同

组成:车次日期+乘车日期+乘车站+目的站+余票数

简要说明:每个车站到其他车站的余票因时间和车次的不同而不同

3.加工条目

加工逻辑是对数据流程图中各个基本处理的精确描述。实例如下所示:

(1)注册加工

名称:注册

输入数据流

加工号:1

输入数据流:客户注册信息

输出数据流:客户查询信息

加工逻辑:

11 洛 阳 理 工 学 院

课 程 设 计 报 告

①当用户名或身份证号已被占用时,系统会自动提示

(2)登录加工

名称:登录

加工号:2

输入数据流:客户登录信息

输出数据流:用户查询信息

加工逻辑:

①当用户名或者密码输入有误时,系统会提示

(3)订单加工

加工号:3

输入数据流:订票,改签,退票

输出数据流:用户查询信息

加工逻辑:

①订票时,如果没有余票则不能购买。退票时,如果已经过了发车时间,则不能退票。改签时,如果要改签到的车次没有余票,则不能改签。

订票、退票或者改签成功时都会自动生成一个订单号。

4.数据项

数据项是数据流组成的最小单位,是无法再细分的数据流。火车订票系统房间号数据项描述如下。

名称:用户名

别名:用户登录名

所属数据流:用户登录、用户注册

存储位置:客户基本数据库,系统管理员基本数据库

代码类型:字符串

备注:每个用户有唯一的用户名

名称:订单号

别名:订单编号

所属数据流:订票、改签、退票

存储位置:客户订票订单数据库,客户改签订单数据库,客户退票订单数据

12 洛 阳 理 工 学 院

课 程 设 计 报 告

代码类型:字符串

备注:每个订单只有唯一的订单号

名称:车次

别名:车辆编号

所属数据流:订票、改签、客户查询信息

存储位置:客户订票订单数据库,客户改签订单数据库、列车时刻表数据库、车次信息数据库

代码类型:字符串

备注:车次是客户买票的重要依据

名称:乘车日期

别名:乘车的具体日期

所属数据流:订票,改签,客户查询信息

存储位置:客户订票订单数据库,客户改签订单数据库

3.3对性能的规定

3.3.1精度

说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。

在输入票价时,应当保留至小数点后两位,输入数量时

票价报表中的票价一般保留至小数位后两位

3.3.2时间特性要求

说明对于该软件的时间特性要求,如对:

1、响应时间;

2、更新处理时间;

3、数据的转换和传送时间;

4、解题时间等的要求。

1.响应时间:

所有的查询操作响应时间一般不超过5秒,大型的报表如票价报表则应该在

13 洛 阳 理 工 学 院

课 程 设 计 报 告

15秒内显示或者提示相关出错信息;

2.更新处理时间:所有提交数据一般在3秒内响应;

3.数据的转换和传送时间;

4.解决时间等的要求

4运行环境规定

4.1设备

列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:

处理器型号及内存容量:

外存容量;

其它输入及输出设备。

4.2支持软件

列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。

操作系统:windows、

编程工具:Visual Stdio 2005

测试支持软件:

14 洛 阳 理 工 学 院

课 程 设 计 报 告

第二部分 概要设计说明书

1引言

该文档首先给出了整个系统的整体网络结构和功能结构的概貌,试图从总体架构上给出整个系统的轮廓。而且还给出了非常直观的模块结构图以及各实体的E-R图。这些文字和图形都为了本文档能详细准确地描述用户的需求,同时也为用户更容易地理解这些需求的描述创造了条件。

该文档详尽说明了这一软件产品的需求和规格,这些规格说明是进行设计的基础,也是编写测试用例和进行系统测试的主要依据。同时,该文档也是用户确定软件功能需求的主要依据。

本文档面向多种读者对象:

(1)项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。

(2)设计员:对需求进行分析,并设计出系统,包括数据库的设计。

(3)程序员:配合《设计报告》,了解系统功能,编写《用户手册》。

(4)测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。

(5)销售人员:了解预期产品的功能和性能。

(6)用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。

(7)其他人员:如部门领导、公司领导等可以据此了解产品的功能和性能。

在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。

1.1目的

本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。

15 洛 阳 理 工 学 院

课 程 设 计 报 告

1.2范围

本文档用于软件设计阶段的概要设计,它的上游(依据的基线)是《需求分析规格说明书》,它的下游是《详细设计说明书》,并为《详细设计说明书》提供测试的依据。

软件概要设计的范围是:软件系统总体结构设计(包括系统模块结构图、功能模块清单)、数据库设计(包括实体图、系统E-R图、数据库的表结构)。

1.3命名规则

变量对象命名规则:

全局变量:首字母英文大写;

局部变量:首字母小写。

数据库对象命名规则:

数据库表名:全部英文字母大写;

字段名:英文首字母大写;

视图名:英文字母小写。

1.4术语定义

E-R图:是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来。

模块结构图:采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想描述(分解)系统。结构化设计方法,首先以数据流图为基础导出系统模块(功能)结构图。在导出系统模块(功能)结构图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则。先将系统数据流图中的加工转换成模块,再将各大模块继续划分为较小的模块,直到每一模块都是功能单一的模块。

16 洛 阳 理 工 学 院

课 程 设 计 报 告

主键:全称叫主关键字。主键作表的行的唯一标识的候选关键字。一个表只有一个主关键字。主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。又称主码。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。

外键:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。

1.5参考资料

[1] 张海藩.软件工程导论(第五版).北京:清华大学出版社,2012

[2] 孙家广.软件工程. 北京:高等教育出版社,2005

[3] 郑人杰.实用软件工程.北京:清华大学出版社,2004

[4] 陈有祺.软件工程引论.天津:南开大学出版社,2000

[5] 杨芙清.面向对象程序设计.北京:北京大学出版社,1992

[6] 潘锦平.软件系统开发技术.西安:西安电子科技大学出版社,1997

[7] 蔡希尧,陈平.面向对象技术.西安:西安科技大学出版社,1993

[8] 罗晓沛,侯炳辉.系统分析员教程.北京:清华大学出版社,1992

2总体设计

2.1总体结构设计

火车票预定系统包含6个模块。分别是注册登录模块、售票功能模块、查询功能模块、调度功能模块、维护功能模块和系统功能模块。

总体结构设计如图2-1所示。

17 洛 阳 理 工 学 院

课 程 设 计 报 告

火车票预订系统

注册登陆 售票功能 查询功能 调度功能 维护功能 系统功能

图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所示:

火车票预订系统注册登录售票功能查询功能维护功能调度功能系统功能M3M1M2车注登票册陆销售M4车票预订M5车票退订M6车票改签M7车次查询M8起始站查询M9密码修改M10退票表修改M11车票表修改M12票价修改M13车次修改M14M15M16起始售票报表站修统计打印改

图2-2 系统结构图

18 洛 阳 理 工 学 院

课 程 设 计 报 告

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所示:

19 洛 阳 理 工 学 院

课 程 设 计 报 告

用户m1查询订票1退票n车次m订单nmm操作员修改授权处理1nn管理员m

图 2-3

3.1.2 系统E-R图

针对火车票网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,包括以下实体:

1.用户信息包括:姓名、ID号、身份类别、电话。

实体图如图2-4所示:

用户姓名电话ID号类别

图2-4

2.管理员信息包括:姓名、电话、ID号、地址。

实体图如图2-5所示:

20 洛 阳 理 工 学 院

课 程 设 计 报 告

管理员姓名电话ID号地址

图2-5

3.操作员信息包括:姓名、电话、ID号、地址。

实体图如图2-6所示:

操作员姓名电话ID号地址

图2-6

4.订单信息包括:订单号、车次号、发车日期、订购票数、总价、起始站。

实体图如图2-7所示:

起始站发车日期订单信息车次订单号总价票数

图2-7

5.车次信息包括:车次号、起始站、发车时间、座位数、票价、发车时间。

实体图如图2-8所示:

21 洛 阳 理 工 学 院

课 程 设 计 报 告

起始站发车时间车次车次号票价座位类型座位数

图2-8

3.2数据结构逻辑级设计

火车站网上订票系统数据库中各个表格的设计结果如表2-2——表2-6所示。每个表格表示在数据库中的一个表。

表2-2 用户信息表

序号

1

2

3

4

表2-3 管理员信息表

序号

1

2

3

4

字段名

Name

ID

Phone

Address

类型(宽取值约束

度、精度)

Char(20)

Char(20)

Char(20)

Char(20)

空否

Not Null

Not Null

Not Null

Not Null

默认值

主键

主键/外键 注释

姓名

身份证号

电话

地址

字段名

Name

ID

Phone

类型(宽取值约束

度、精度)

Char(20)

Char(20)

Char(20)

空否

Not Null

Not Null

Not Null

Not Null

默认值

成人

主键

主键/外键 注释

姓名

身份证号

电话

身份类别 Category Char(20)

表2-4 操作员信息表

序号

字段名

类型(宽取值约束

度、精度)

空否 默认值 主键/外键 注释

22 洛 阳 理 工 学 院

课 程 设 计 报 告

1

2

3

4

Name

ID

Phone

Address

Char(20)

Char(20)

Char(20)

Char(20)

Not Null

Not Null

Not Null

Not Null

主键

姓名

身份证号

电话

地址

表2-5 订单信息表

序号

1

2

3

4

5

6

7

8

9

10

表2-6 车次信息表

序号

1

2

3

4

5

6

7

字段名

BusID

Seat

类型(宽取值约束

度、精度)

Char(20)

Char(20)

Char(20)

Char(20)

Char(20)

Char(20)

空否

Not Null

Not Null

Not Null

Not Null

Not Null

Not Null

Not Null

默认值

软卧

主键/外键

主键

注释

车次号

座位类型

票价

剩余票数

起始站

终点站

发车时间

字段名

Name1

ID

Phone

Total

OrderID

类型(宽取值约束

度、精度)

Char(20)

Char(20)

Char(20)

Char(20)

Char(15)

空否

Not Null

Not Null

Not Null

Not Null

Not Null

Not Null

Not Null

Not Null

Not Null

Not Null

默认值

主键

外键

主键/外键 注释

姓名

身份证号

电话

身份类别

总票价

订单号

票数

起始站

终点站

发车时间

Category Char(20)

Ordernum Char(5)

BusFrom Char(20)

BusTo

BusBegin

Char(20)

Char(20)

Price

TicketNum

BusFrom

BusTo

BusBegin

Char(20) 无

23 洛 阳 理 工 学 院

课 程 设 计 报 告

第三部分 项目开发总结报告

1引言

1.1编写目的

以前火车站售票的状况是仅靠手工操作,以现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题。同时还会出现由此带来的大量记录存放和管理所带来的问题。本次设计拟开发一个火车站网上订票系统,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票。火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。本次设计便是利用开发工具JAVA 和SQL Server 2005数据库共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。

本文档预期的读者为软件开发人员。

1.2参考资料

[1]孙卫琴,李洪成.《Tomcat 与 Java Web 开发技术详解》.电子工业出版社,2004年4月:1-205

[2]罗晓沛,侯炳辉.系统分析员教程.北京:清华大学出版社,1992

[3]孙一林,彭波.《Java数据库编程实例》. 清华大学出版社,2002年8月:30-210

[4]蔡希尧,陈平.面向对象技术.西安:西安科技大学出版社,1993

[5]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300

[6]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354

[7]陶华亭,吴洁,魏里.《软件工程实用教程》.清华大学出版社,2012年9月

[8]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2006年5月:3-460

[9]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月:1-268

24 洛 阳 理 工 学 院

课 程 设 计 报 告

[10]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月:1-410

[11]张海藩.软件工程导论(第五版).北京:清华大学出版社,2012

[12]孙家广.软件工程. 北京:高等教育出版社,2005

[13]郑人杰.实用软件工程.北京:清华大学出版社,2004

[14]陈有祺.软件工程引论.天津:南开大学出版社,2000

[15]杨芙清.面向对象程序设计.北京:北京大学出版社,1992

[16]潘锦平.软件系统开发技术.西安:西安电子科技大学出版社,1997

2设计总结

2.1实际完成情况

表3-1实际完成情况统计表

2.2 收获

对于项目开发来说需求规格说明书是非常重要且必要的,它可以说明编写这份软件需求说明书的目的,指出预期的读者。软件需求说明书的作用在于便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据,并作为确认测试和验收的依据。

首先进行需求分析,列出需要实现的业务逻辑,然后编出需求规格说明书,需求规格说明书中需要用到用例图、数据流图和数据字典。

其中数据流图是关键技术,数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也能容易理解。数据流图里的符号也极为简单,只有四个:1)外部实体;2)处理;3)连线;4)数据存储。这四个符号也有两种。一种是Yourdon & Coad法,另一种是Gane & Sarson法。只是略有不同而已。如果你使用Microsoft Visio,那么你只能使用Gane & Sarson法了。需要注意的是:1)处理并不一定是程序。它可以是一系统程序、单个程序或程序的一个模块,甚至可以是人工处理过程; 2)数据存储并不等同于一个文件。它可以是一个文件、文件的一部分、数据库元素或记录的

25 洛 阳 理 工 学 院

课 程 设 计 报 告

一部分;它代表的是静态的数据。 3)数据流也是数据,是动态的数据。下面就介绍下画数据流图的步骤:

1分离数据流图中的元素

2逐步分解的画出数据流图:第一步,画出最概括的系统模型。因为任何系统实质上都是由若干个数据源点/终点以及一个处理组成。这个处理就代表了系统对数据加工变换的基本功能。然后对第一步进行细化,随后勾出边界,最后在细化一下。

数据流图的命名方法:

1)为数据流命名

A.名字应该代表整个数据流(或数据存储)的内容;

B.不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”);

C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图;

2)为处理命名

A.通常先为数据流命名,然后再为与之相关联的处理命名;

B.名字应该反映整个处理的功能;

C.应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”;

D.通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当;

E.如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。

3)为数据源点/终点命名

通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字。

然后是概念设计说明书,需要画出功能模块和E-R图,其中E-R图为关键技术。

E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,

26 洛 阳 理 工 学 院

课 程 设 计 报 告

并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。

下面介绍E-R图的具体步骤:

⑴确定所有的实体集合

⑵选择实体集应包含的属性

⑶确定实体集之间的联系

⑷确定实体集的关键字,用下划线在属性上表明关键字的属性组合

⑸确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型

设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以以这一层次的数据流图为出发点,设计分E-R图。一般而言,中层的数据流图能较好地反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据。

然后逐一设计分E-R图每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,<1> 标定局部应用中的实体, <2> 实体的属性、标识实体的码,<3> 确定实体之间的联系及其类型(1:1、1:n、m:n)。

最后生成基本E-R图分E-R图经过合并生成的是初步E-R图。但因为其中可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,因此得到初步E-R图后,还应当进一步检查E-R图中是否存在冗余,如果存在,应设法予以消除。修改、重构初步E-R图以消除冗余,主要采用分析方法。

2.3有待改进之处

每个项目的完成都会存在这样那样的缺陷,包括设计上的缺陷和业务逻辑上的不足。例如:查询模块提供的查询模式过少,如果提供更多种查询方式,则可以

27 洛 阳 理 工 学 院

课 程 设 计 报 告

更方面人们的查询,可以增加日期查询,时间点查询,班次的种类删选,团体类型查询,代售点查询等。

在项目要进行自由分组后,我们的项目小组便诞生了。我们小组由3个成员组成,在相互商量后我们也确定了我们组的项目,是做一个火车票预售系统。我们也随即做了分工。我们的项目也正式开始了。需求调研和分析对于软件开发过程至关重要。我们在开发时如果不进行调研和分析,那么对于后来的项目进展将产生致命的后果。我们在项目的开发中便遇到了这样的问题。

在这一周里,我还对软件工程有了新的理解。在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件。但现在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上。所以,软件工程就不仅仅是单一的编程过程了。它包括了系统分析->建模->概要设计->详细设计->编码->测试->维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。

通过这次课设使我们提升了合作精神,由于大家负责的模块不一样,所以需要很好的沟通,个模块之间独立但又有某种联系,这就要求我们需要很好的熟悉项目的需求。我们通过网上查询资料,翻阅课本,向同学和老师请教,最终完成了这份报告。在这过程中使我们自学的能力进一步提升,也让我们初步了解了企业项目开发的流程,对我们以后参加工作奠定了基础。知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆!

28

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688602712a154288.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信