admin管理员组

文章数量:1568418

2024年1月7日发(作者:)

火车票预定系统的设计与实现

学 生 姓 名:

学 院:

专 业:

班 级:

学 号:

指 导 教 师:

完 成 日 期:

火车票预定系统的设计与实现

摘 要

针对火车站的订票实际情况,按照软件工程的结构化设计思想,本次课程设计经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车票预定系统。并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。

本次课程设计利用MyEclipse 开发工具和MySQL数据库来开发这个火车票预定系统。该系统要解决的是火车站网上订票工作所要解决的问题,可以满足火车站网上订票的基本要求,包括查询、订票、退票等三个方面的功能。该系统能运用到火车站订票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。

关键词:软件工程 需求 设计 服务

I

火车票预定系统的设计与实现

ABSTRACT

According to the actual situation, the train tickets according to the structural design of

software engineering, the curriculum design of project feasibility study and through the

requirement analysis, system design, detailed design and coding and commissioning

procedures designed and developed station tickets online system. And by using the data flow

chart and the data dictionary, e-r chart and logical structure, database, system flowcharts, level

and program flow chart of the system, the data needs, database, software system structure,

system, and flow process are analyzed and the design.

This course design using the MyEclipse development tools and MySQL database to

develop this train tickets online system. This system to solve the train tickets online work is to

solve the problem, can meet the basic requirements of train tickets online, including tracing,

booking tickets, refund from three aspects of the function. This system can be applied to train

tickets work, according to the needs of users, set permissions and convenient for users to

provide services.

Keywords: Software Engineering Demand Design Service

II

火车票预定系统的设计与实现

目 录

摘 要 ............................................................................................................................................................ I

ABSTRACT ........................................................................................................................................................ II

第一章 项目概述 .................................................................................................................................... - 1 -

1.1现系统概述 ............................................................................................................................................... -

1

-

1.2系统组织机构 ........................................................................................................................................... -

2

-

1.3系统业务流程 ........................................................................................................................................... -

2

-

第二章 系统的可行性研究与需求分析 .................................................................................................. - 4 -

2.1

可行性研究 .............................................................................................................................................. -

4

-

2.1.1经济可行性 ...................................................................................................................................... - 4 -

2.1.2技术可行性 ...................................................................................................................................... - 4 -

2.1.3操作可行性 ...................................................................................................................................... - 4 -

2.2

需求分析 .................................................................................................................................................. -

4

-

2.2.1功能需求 .......................................................................................................................................... - 5 -

2.2.2数据需求 .......................................................................................................................................... - 5 -

2.2.3性能需求 .......................................................................................................................................... - 6 -

2.2.4数据流图 .......................................................................................................................................... - 6 -

2.2.5数据字典 .......................................................................................................................................... - 8 -

2.2.6系统数据模型 ................................................................................................................................ - 11 -

2.2.7数据库逻辑结构 ............................................................................................................................ - 12 -

第三章 系统的总体设计 ....................................................................................................................... - 15 -

3.1

系统软件结构设计 ................................................................................................................................-

15

-

3.1.1 软件结构 ....................................................................................................................................... - 15 -

3.1.2 模块算法 ....................................................................................................................................... - 15 -

3.2

系统流程图 ............................................................................................................................................ -

17

-

第四章 详细设计 .................................................................................................................................. - 19 -

4.1模块算法 .................................................................................................................................................-

19

-

III

火车票预定系统的设计与实现

4.2

接口设计 ................................................................................................................................................ -

20

-

4.2.1 用户接口 ....................................................................................................................................... - 20 -

4.2.2 外部接口 ....................................................................................................................................... - 20 -

4.2.3内部接口 ........................................................................................................................................ - 20 -

4.2.4 软件接口 ....................................................................................................................................... - 21 -

4.2.5 模块内部 ....................................................................................................................................... - 21 -

4.3

过程设计 ................................................................................................................................................-

21

-

4.3.1 程序流程图 ................................................................................................................................... - 21 -

第五章 系统的实现与调试 ................................................................................................................... - 27 -

5.1

应用系统的开发及测试 ........................................................................................................................ -

27

-

5.1.1 系统首页 ....................................................................................................................................... - 27 -

5.1.2 产品说明 ....................................................................................................................................... - 27 -

5.1.3 用户登录及访问权限 ................................................................................................................... - 28 -

5.1.4 车次信息查询 ............................................................................................................................... - 29 -

5.1.5 订票信息查询 ............................................................................................................................... - 29 -

5.1.6 订票 ............................................................................................................................................... - 29 -

5.1.7 退票 ............................................................................................................................................... - 30 -

5.2

部分代码 ................................................................................................................................................-

30

-

5.2.1 登陆窗 ........................................................................................................................................... - 30 -

5.2.2 主界面 ........................................................................................................................................... - 33 -

5.2.3 车次查询条件选择窗口 ............................................................................................................... - 34 -

5.2.4 搜索车次信息 ............................................................................................................................... - 35 -

第六章 测 试 .................................................................................................................................. - 36 -

6.1

测试原则及测试方法概述 ....................................................................................................................-

36

-

6.1.1 测试原则 ....................................................................................................................................... - 36 -

6.1.2 测试方法 ....................................................................................................................................... - 36 -

6.2

测试项目测试用例 ................................................................................................................................-

36

-

6.3

软件测试结论 ........................................................................................................................................-

38

-

6.3.1 软件能力 ....................................................................................................................................... - 38 -

6.3.2 缺陷和限制 ................................................................................................................................... - 38 -

6.3.3 建议 ............................................................................................................................................... - 38 -

IV

火车票预定系统的设计与实现

结束语 ....................................................................................................................................................... - 39 -

致 谢 ................................................................................................................................................... - 40 -

参考文献 ................................................................................................................................................... - 41 -

V

火车票预定系统的设计与实现

第一章 项目概述

1.1现系统概述

目前火车站售票的状况是仅靠手工操作,以现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题。同时还会出现由此带来的大量记录存放和管理所带来的问题。本次设计拟开发一个火车票预定系统,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票。

火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。本次设计便是利用开发工具MyEclipse 和MySQL数据库共同开发的一个火车票预定系统的设计与实现,它能方便快捷地运用在火车站订票业务的营运之中,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票。

因特网技术的飞速发展为铁路带来了全新的售票方式。

1994年10月,美国联合铁路公司率先推出了网上售票系统,乘客只须在网上输入自己的信用卡号和有效期,就可以直接购买车票。出票方式有电子车票、车站取票、送票上门等多种方式。

网上订票给旅客带来了方便。购票者足不出户就可在电脑上查询火车动态、票价和车票的可售情况,并直接订购车票,免去了奔波之苦。网上订票还扩充了铁路公司的销售网点。截至1997年9月底,世界上排名前20位的铁路公司都有了自己的网上售票系统。

网上订票的优越性使国内越来越多的铁路公司着手研制自己的网上订票系统。1999年9月,中国羊城铁路公司的网上订票系统正式启动,只要进入羊城铁路公司的网上订座页面就可以自己订购车票了,票款的支付方式为网上支付和现金支付。

软件职业技术学院062402班 斯明 学号:20063342 - 1 -

火车票预定系统的设计与实现

1.2系统组织机构

目前系统组织机构如下图1-1所示:

火车票预定系统

用户功能

信息查询

订退管理

管理设置

新用户注册

老用户登陆

管理员设置

车次查询

订购查询

预定票管理

退票管理

车次信息管理

订票管理

会员管理

售票情况统计

图1-1系统组织机构图

1.3系统业务流程

本系统设计主要是根据订票业务的基本流程进行的,系统功能包括如下几个方面:

查询:分为对车次信息的查询和客户对已订车票信息的查询

订票:通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上订票确定已预订选中的车票。

退票:可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票

软件职业技术学院062402班 斯明 学号:20063342 - 2 -

火车票预定系统的设计与实现

信息查询

新、老用户管理

订票管理

用户管理

车次信息管理

管理设置

车次订购查询

会员管理

订票管理

预定、退票管理 售票情况统计

图1-2 系统的业务流程

软件职业技术学院062402班 斯明 学号:20063342 - 3 -

火车票预定系统的设计与实现

第二章 系统的可行性研究与需求分析

2.1 可行性研究

可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。

2.1.1经济可行性

开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。

2.1.2技术可行性

开发工具:JSP

数据库环境:MySQL

系统环境:Microsoft Windows 2000或以上版本。

系统实现依靠相对熟悉的JSP语言和MySQL数据库系统,其基本操作实质还是对数据库进行添加、删除、查找等操作,暂不存在技术问题。

2.1.3操作可行性

系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便。用户只需对订票流程和业务调查了解即可,不需掌握数据库等相关知识。

2.2 需求分析

需求分析是软件设计的一个重要的环节。本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。用户对系统的需求我们从以下几方面进行分析。

软件职业技术学院062402班 斯明 学号:20063342 - 4 -

火车票预定系统的设计与实现

2.2.1功能需求

本网上订票系统应该具备如下功能:

1. 查询

分为对车次信息的查询和客户对已订车票信息的查询。要求:

1) 对车次的查询,可以按照发车车次进行查询;

2) 车次信息包括:车号、出发地、目的地、发车日期、开出时刻、票价;

3) 座位类型设定;

4) 车次信息只允许用户查询,不能修改。

2. 订票

通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上订票确定已预订选中的车票。要求:

订票记录应包括:会员名、车号、发车日期、订购日期、订购票数、总价。

3. 退票

可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票。

2.2.2数据需求

信息需求,即在系统中需要处理哪些数据。根据对火车票预定系统的设计与实现的分析,本系统的信息需求如表2-1所示。

表2-1信息输入输出

信息输入

用户输入所需车次

信息处理

检索系统数据库

信息输出

符合用户需求的车次及相关信息

操作反馈(如订票成功)

符合用户需求的订票信息

用户输入个人信息及所需更新系统中的订票信息,将订购的车票信息

用户输入自己的名字、身份证号;或交易的订单号

用户输入自己的名字

新信息存入系统数据库

检索系统数据库

检索系统数据库以得到订票记录,删除用户请求的订票操作反馈(如退票成功等)

记录,更新系统数据库

软件职业技术学院062402班 斯明 学号:20063342 - 5 -

火车票预定系统的设计与实现

2.2.3性能需求

为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。

1. 准确性和及时性

系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。

2. 易用性

本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。

3. 安全性

网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致性。

2.2.4数据流图

数据流图(DFD:Data Flow Diagram)是对调查材料进行加工、提炼、抽出其中只反映组织中信息运动规律的部分,是组织中信息运动的抽象,是信息系统逻辑模型的主要形式。由于图形描述简明,清晰,不涉及到技术细节,所描述的内容是面向用户的,所以数据流程图是系统分析人员与用户进行交流的有效手段,也是系统设计的主要依据之一。

数据流图符号说明如表2-2所示。

软件职业技术学院062402班 斯明 学号:20063342 - 6 -

火车票预定系统的设计与实现

表2-2 数据流图符号说明

图形符号

名称

实体

符号说明

记述系统之外的数据提供或数据获得组织机构或个人,框内为试题名称

处理

记述某种业务的手工或计算机处理,其中,PM区记述处理标号,C区记述处理名称

数据流

记述数据流的流动方向,FM记述数据流名称

记述与处理有关的数据存储,DN区记述存储的标号,S区记述存储数据的名称

数据存储

软件职业技术学院062402班 斯明 学号:20063342 - 7 -

火车票预定系统的设计与实现

车次信息

事务

接收

事务

事务 更新

数据

车次

信息

接收

事务

事务

事务

更新

数据

用反

户馈

用户信息

订单信息

用户信息

订单信息

接收事务

事务

事务

接收事务

反馈

事务

查询订单

事务

反馈

更新数据库

事务

修改订单

更新

数据

事务

退票

事务

接收事务

事务

图2.3数据流图

2.2.5数据字典

数据字典对数据流程图的各种成分其注解、说明作用,给这些成分赋以实际的内容并且还要对系统分析中其他需要说明的问题进行定义和说明。数据字典是对DFD的说明,是系统设计、系统实施及系统维护的重要基础资料。

数据字典描述的主要内容有:数据流、数据元素、数据存储、加工处理、其中数据元素是组成数据流的基本成分。

软件职业技术学院062402班 斯明 学号:20063342 - 8 -

火车票预定系统的设计与实现

火车票网上预定系统——专家数据管理模块数据字典如下:

1. 数据元素:是不可再分的数据单位

名字:用户功能模块

描述:用于区分用户使用系统权限

编号:F1.1

数据类型:字符串

取值范围:管理员、会员

名字:信息管理模块

描述:对车票的信息查询和订购信息查询

编号:F1.2

数据类型:字符串

取值范围: 车系信息、订购车票信息

名字:订退票管理模块

描述:进行订票退票处理

编号:F1.3

数据类型:字符串

取值范围: 订票信息和退票信息处理

名字:管理设置模块

描述:车票信息管理、会员管理、订票管理和售票情况统计

编号:F1.4

数据类型:字符串

数据来源: 管理信息

2. 数据存储:数据存储是数据结构停留或报讯的地方。也是数据流的来源和去向之一。可以是手工文档或手工凭单,也可以使计算及文档,一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。

软件职业技术学院062402班 斯明 学号:20063342 - 9 -

火车票预定系统的设计与实现

名字:用户信息

描述:与用户相关的属性集合

编号:D1

组成:用户名、地址、性别、电话、密码、邮箱、权限、验证码

名字:信息查询

描述:与信息查询相关的属性集合,存放订单信息的文件,以供用户查询,并作相应操作

编号:D1

组成:用户名、车号、发车日期、订购日期、订购票数、总价

3. 数据流:是数据结构在系统内传输的路径。岁数据流的描述通常包括如下内容:{数据流明,说明,编号,数据流来源,数据流去向,组成(数据结构)}

名字:退订票管理

描述:与退订票相关的信息

编号:F1

组成:订票信息、退票信息、

名字:用户信息管理

描述:动态进行专家查询的条件组合

编号:F2.1

组成:用户名、地址、性别、电话、密码、邮箱、权限、验证码

4. 数据处理:是处理过程的具体处理逻辑通常在详细设计过程中用判定表或评定树来描述。在数据字典中,只需要描述处理过程说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}

名字:顶退票管理

描述:预订车票、退车票

编号:P1.1、P2.1

输入/输出数据流: 预定车票、退车票输入输出

软件职业技术学院062402班 斯明 学号:20063342 - 10 -

火车票预定系统的设计与实现

2.2.6系统数据模型

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。

针对火车票预定系统的设计与实现,通过对网上订票工作的过程、内容以及数据流程分析,设计如下所示的数据项和数据结构:

1. 车次信息包括:车号、出发地、目的地、发车日期、开出时刻、剩余座位数、票价。

2. 订票记录包括:订单号、身份证号、车号、订购日期、订购票数、总价。

3. 用户信息包括:用户名、身份证号、性别、电话。

表2-4 E-R图符号约定

符号含义

实体

属性

联系

符号 说明

表示实体集

表示属性

表示联系集

线段

将属性连接到实体集或将实体集连接到联系集

软件职业技术学院062402班 斯明 学号:20063342 - 11 -

火车票预定系统的设计与实现

用户名

性别

地址

车次

m

查询

坐位类型

票价

订票

n

n

n

电话

用 户

1 1

退票

车次

订票信息

订单号

总价

开出

时刻

目的地

车号

发车日期

订购日期

发车日期 出发地

用户身份证号

图2-5实体-联系图(E-R图)

2.2.7数据库逻辑结构

由系统的概念模型导出关系模式。主要原则及实现方法如下:

1. 主要原则:

一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。

1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另

软件职业技术学院062402班 斯明 学号:20063342 - 12 -

火车票预定系统的设计与实现

一个关系模式的码和联系本身的属性。

2) 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码n端实体的码。

3) 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码各实体码的组合。

4) 一个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

2. 实现:

依据上述原则,得出管理信息系统的关系模式:

1) 登陆用户(用户ID,密码)

2) 车次出发地,目的地,发车日期(主键),开出时刻,到达时刻,剩余票数,安全数,票价

3) 订单订单号(主键),身份证号(外键),车号(外键),发车日期(外键),订购日期,订购票数,总价

由于关系当中没有属性的存在,为了实现成套出库的功能也没有消除部分依赖,所以该数据库设计仅为1NF

火车票预定系统的设计与实现数据库中各个表格的设计结果如表2-5——表2-7所示。每个表格表示在数据库中的一个表。

表2-5车次信息表BusInfo

字段名

BusID

BusFrom

BusTo

BusDate

BusBegin

BusEnd

TicketNum

Price

数据类型

char(10)

varchar(50)

varchar(50)

Datetime

Datetime

Datetime

int

Money

是否可空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

说明

车号(主键)

出发地

目的地

发车日期(主键)

开出时刻

到达时刻

剩余票数

票价

软件职业技术学院062402班 斯明 学号:20063342 - 13 -

火车票预定系统的设计与实现

表2-6订单表OrderInfo

字段名

OrderID

UserID

BusID

BusDate

OrderDate

OrderNum

Total

数据类型

Char(10)

Char(18)

char(10)

datetime

datetime

Int

Money

是否可空

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

NOT NULL

说明

订单号(主键)

身份证号(外键)

车号(外键)

发车日期(外键)

订购日期

订购票数

总价

表2-7用户表User

字段名

UserID

User

Sex

数据类型

char(18)

varchar(50)

Char(2)

是否可空

NOT NULL

NOT NULL

用户名

性别

说明

身份证号(主键)

软件职业技术学院062402班 斯明 学号:20063342 - 14 -

火车票预定系统的设计与实现

第三章 系统的总体设计

3.1 系统软件结构设计

3.1.1 软件结构

本火车票预定系统的设计与实现可划分为信息查询、网上订票、取消订票三个部分。其中信息查询又可分为车次查询和订单查询两个部分。其层次图如图3.1所示。

火车票网上订票系统

信息查询 网上订票 取消订票

车次查询 订票查询

图3.1火车票预定系统的设计与实现的层次图

3.1.2 模块算法

1. 各级别算法

1) 界面级算法

处理输入信息,产生相应任务。

输入数据 信息反馈

客户端校验数据

产生任务

信息加工

数据

图3.2界面级算法示意图

软件职业技术学院062402班 斯明 学号:20063342 - 15 -

火车票预定系统的设计与实现

2) 数据库级算法

执行相应数据库操作,并直接返回信息反馈。

任务数据校验,调用相关模块功能

用户界面级底层数据库操作(封装)

图3.3数据库级算法示意图

3) 任务级算法

执行所需功能,满足用户需求。

任务触发

生成数据请求

并记录

权限校验

失败

数据处理

并反馈

界面显示

图3.4任务级算法示意图

2. 调用关系

1) 界面模块调用任务模块

2) 任务模块调用数据模块

3) 数据模块调用界面模块显示

软件职业技术学院062402班 斯明 学号:20063342 - 16 -

火车票预定系统的设计与实现

3.2 系统流程图

事务

查询程序 订票程序 退票程序

火车站网上订票系统

系统数据库

相应信息

操作反馈

图3.5顶层系统流程

事务

输入所需车次的重要信息

系统数据库

查询程序

符合用户

需求的车

次信息

图3.6车次信息查询系统流程图

软件职业技术学院062402班 斯明 学号:20063342 - 17 -

火车票预定系统的设计与实现

符合用户

输入查

事务

询条件

查询程序

需求的订

票信息

系统数据库

图3.7订单信息查询系统流程图

事务

输入订

票信息

订票程序

操作反馈

系统数据库

图3.8订票系统流程图

事务

输入退

票信息

退票程序

操作反馈

系统数据库

图3.9退票系统流程图

软件职业技术学院062402班 斯明 学号:20063342 - 18 -

火车票预定系统的设计与实现

第四章 详细设计

4.1模块算法

1. 各级别算法

1) 界面级算法

处理输入信息,产生相应任务。

输入数据 信息反馈

客户端校验数据

产生任务

信息加工

数据

图4.1界面级算法示意图

2) 数据库级算法

执行相应数据库操作,并直接返回信息反馈。

任务数据校验,调用相关模块功能

用户界面级模底层数据库操作(封装)

图4.2数据库级算法示意图

软件职业技术学院062402班 斯明 学号:20063342 - 19 -

火车票预定系统的设计与实现

3) 任务级算法

执行所需功能,满足用户需求。

任务触发

生成数据请求

并记录

权限校验

失败

数据处理

并反馈

界面显示

图4.3任务级算法示意图

2. 调用关系

1) 界面模块调用任务模块

2) 任务模块调用数据模块

3) 数据模块调用界面模块显示

4.2 接口设计

4.2.1 用户接口

用户通过界面接口实现参数的输入,进入相应的界面后输入提示的信息即可产生相应的任务。

4.2.2 外部接口

接口通过一个数据转换器,将网络二进制数据流转换为一个合适的数据结构单位并添加到缓冲区中。

4.2.3内部接口

软件职业技术学院062402班 斯明 学号:20063342 - 20 -

火车票预定系统的设计与实现

表4-1 内部接口说明表

顶层模块 二级模块

用户操作模块

接口

对应数据库相关表操作

生成任务

生成批处理

数据模块 底层数据操作模块 取出记录集,执行SQL语句

界面模块 界面模块

缓冲区模块

4.2.4 软件接口

本系统程序所使用的数据库来源于主机数据库,所以系统数据与主机数据库数据向一致。

4.2.5 模块内部

模块以接受参数方式独立登陆主机数据库并且独立运行,返回数据包显示在界面上。

4.3 过程设计

4.3.1 程序流程图

本系统主界面为用户设计了三个功能操作以供选择:查询,订票,退票。另外,为方便用户,还将“退出系统”也单另列了出来,用户可以根据需要触发不同事件。其处理流程如图4.5所示。图4.5——图4.10反映了不同触发事件具体的处理流程。

1. 系统用户权限的系统主处理流程

软件职业技术学院062402班 斯明 学号:20063342 - 21 -

火车票预定系统的设计与实现

开始

登录框

登录,确定访问权限

主界面

选择订

票窗口

NY选择查询

窗口

YN订票

界面

查询

车次

信息

查询

界面

选择退

票窗口

N查询

订票

信息

退票

界面

YY订票

订票

退票

N退票

退出

N结束

图4.4系统用户权限的系统主程序流程图

软件职业技术学院062402班 斯明 学号:20063342 - 22 -

火车票预定系统的设计与实现

2. 车次信息查询处理流程

开始

查询

界面

N

查询车次信息

Y

用户输入要

查询条件

N

查询

Y

返回主页

读数据文件

输出查询结果

N

N

Y

关闭窗口

继续查询

车次信息

Y

订票

Y

订票

界面

N

订票

结束

图4.5车次信息查询程序流程图

软件职业技术学院062402班 斯明 学号:20063342 - 23 -

火车票预定系统的设计与实现

3. 订票处理流程

开始

订票

界面

N

订票

Y

输入订

票信息

N

提交

返回主Y

继续订票

N

Y

信息有效性

Y

修改数据文N

错误提关闭窗口

Y

结束

N

图4.6 订票程序流程图

软件职业技术学院062402班 斯明 学号:20063342 - 24 -

火车票预定系统的设计与实现

4. 订票信息查询处理流程

开始

查询

界面

N

查询订

票信息

Y

读数据文返回主页

Y

主界面

关闭窗口

Y

N

N

输出查询结果

继续查询

订票信息

N

Y

退票

Y

退票

界面

退票

结束

图4.7订票信息查询模块程序流程图

软件职业技术学院062402班 斯明 学号:20063342 - 25 -

火车票预定系统的设计与实现

5. 退票模块处理流程

开始

退票

界面

N

退票

Y

输入退票信息

N

提交

Y

返回主信息有效性

Y

N

错误提Y

继续退票

N

关闭窗口

Y

结束

N

图4.8退票模块程序流程图

软件职业技术学院062402班 斯明 学号:20063342 - 26 -

火车票预定系统的设计与实现

第五章 系统的实现与调试

5.1 应用系统的开发及测试

5.1.1 系统首页

图5.1系统首页

5.1.2 产品说明

图5.2产品说明

软件职业技术学院062402班 斯明 学号:20063342 - 27 -

火车票预定系统的设计与实现

5.1.3 用户登录及访问权限

本系统设计要求用户通过登录框选择访问权限,登录系统。其中,用户须输入用户名和密码,以进入系统。未使用过本系统的用户选择注册会员,系统自动跳转至主界面。系统用户权限登录访问时,车次信息查询、订票信息查询、订票、退票等功能均可用。系统用户输入正确的用户名和密码,访问系统,得到其相应的权限。如图5.3-5.4。

图5.3登录框

系统用户输入错误的用户名或身份证号,系统拒绝其访问。如图5.5。

图5.5 出错提示

新用户在登录窗口选择“注册”单选钮,系统自动跳转到注册页面,并控制其访问权限,如图5.6所示。

软件职业技术学院062402班 斯明 学号:20063342 - 28 -

火车票预定系统的设计与实现

图5.6新用户权限登录主窗体

5.1.4 车次信息查询

对车次信息的查询,系统提供了车次信息,进行精确的查询,系统经过检索,返回符合用户要求的车次,再由用户自行选择满意的车次。图5.7选择查询条件。

图5.7车次查询条件框

5.1.5 订票信息查询

对于订票信息的查询,本系统只提供一种查询方式。由于用户在登录时已选择了访问权限,且输入了身份证号等确认具体身份的重要信息。故用户可以通过菜单选项直接查询自己的订票信息。该信息由系统自动返回,简便、快捷。

图5.8订票

5.1.6 订票

系统用户可以通过两种方式进入到订票环节。一是在主界面的菜单选项中,直接选择“订票”服务,二是用户可以由车次查询界面,点击“订票”命令,直接跳转订票界面。新用户在填写订票信息之前,必须填写用户信息,以保证下次访问系统时的系统权

软件职业技术学院062402班 斯明 学号:20063342 - 29 -

火车票预定系统的设计与实现

限不受限制。订票信息中的订单号由系统提供。如果用户是从车次查询界面跳转至订票界面的,在填写订票信息时,车次的相关信息由系统自动提供。用户只需输入订票数,点击“下一步”完成订票交易。交易成功后,系统会弹出提示框,示意用户订票操作已成功。

新用户通过菜单,直接进入订票程序,如图5.9所示。首先点击新增,激活操作,填写用户信息。如图9所示。

图5.9订票信息界面

5.1.7 退票

系统进入退票管理也是通过两个方法来实现,用户可以直接进入退票环节,也可以从订单查询环节进入。订票相关信息由系统自动提供。

图5.10系统自动返回退票后的信息

5.2 部分代码

5.2.1 登陆窗

<%@ page language="java" import=".*" contentType="text/html ;

charset=gb2312" % >

<%@ include file="../../iframe/" %>

<%

String message = (String)ribute("message");

if(message == null){

}

if (!().equals("")){

软件职业技术学院062402班 斯明 学号:20063342 - 31 -

alert("请输入您的用户名!");

();

alert("请输入您的密码!");

();

alert("请输入验证码!");

();

alert("验证码错误!");

();

message = "";

火车票预定系统的设计与实现

}

n("");

Attribute("message");

String yzm=ckCode();

%>

action=<%=basePath %>?method=PAGEUSERLOGIN method=post >

<%=(0).toString() %>


欢迎登陆

colspan=2 height=25>

value=person>

用户名:

name=username maxLength=10

eplace(/[^d]/g,''))"

onkeyup="value=e(/[W]/g,'')"

value=<%=ribute("reg_user")==null?"":ribute("reg_user") %>>

size=15

id=password style="WIDTH: 110px"

type=password maxLength=16 name=password

onbeforepaste="a('text',a('text').ronbeforepaste="a('text',a('text').replace(/[^d]/g,''))"

软件职业技术学院062402班 斯明 学号:20063342 - 32 -

火车票预定系统的设计与实现

onkeyup="value=e(/[W]/g,'')">

验证码:

name=checkcode onKeyUp="=e(/D/gi,'')"> <%=yzm %>

height=25>

onClick="checklogin()">

找回密码

href="<%=basePath %>">注册会员

<%@ include file="../../iframe/"%>

5.2.2 主界面

class=tablewidth>

软件职业技术学院062402班 斯明 学号:20063342 - 33 -

火车票预定系统的设计与实现

<%List list2=Train();

if(()!=0){

%>

5.2.3 车次查询条件选择窗口

序号 车辆路线 开车时间 到站时间 坐位类型 票价 预定
<%=i+1 %> <%=(1).toString() %> <%=(2).toString() %> <%=(3).toString() %> <%=(4).toString() %> <%=(5).toString() %> <%=(6).toString() %>

for(int i = 0; i<(); i++){

List list3 = (List)(i);

href="<%=basePath %>?method=prepTrain&id=<%=(0).toString()%>">预定

路线信息查询

action="<%=basePath %>" method="post"

name="form1" >

5.2.4 搜索车次信息

public List getOneTrain(String id){

String sql = "select * from train where id='"+id+"' ";

DBO dbo=new DBO();

list = new ArrayList();

();

try{

rs = eQuery(sql);

while(()){

(ing(1));

(ing(2));

(ing(3));

(ing(6));

(ing(7));

(ing(8));

软件职业技术学院062402班 斯明 学号:20063342 - 35 -

火车票预定系统的设计与实现

第六章 测 试

6.1 测试原则及测试方法概述

系统测试的目的是发现系统中的错误,并在发现错误之后诊断错误、改正错误,以提高系统质量,使系统完全符合用户的要求。

6.1.1 测试原则

(1)尽早地和不断地进行软件测试。

(2)测试用例应由测试输入数据和与之对应的预知结果两部分组成。

(3)程序员避免检查自己的错误。

(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

(5)充分注意测试中的群集现象。

(6)严格执行测试计划,排除测试的随意性。

(7)应当对每一个测试结果作全面检查。

(8)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

6.1.2 测试方法

本系统的测试普遍采用了黑盒、白盒两种测试方法。黑盒测试是对系统功能的检测,而白盒是检查系统的内部流程。

6.2 测试项目测试用例

表6-1系统测试案例

模块

用户注册

测试用例描述 操作过程及数据 预期结果

注册成功

注册提示信息填入错误

用例类别

功能点

对于各字段分别输进入用户注册界面,分别在入正常值

对于各字段分别输入非正常值

各个输入域中填入正常值

进入用户注册界面,分别在各个输入域中填入非正常值

功能点

软件职业技术学院062402班 斯明 学号:20063342 - 36 -

火车票预定系统的设计与实现

老用户登陆

对于各字段分别输入正常值

对于各字段分别输入非正常值

进入登陆用户界面分别在各个输入域中填入正常值

进入登陆用户界面,分别在各个输入域中填入非正常值

各个输入域中填入正常值

进入修改注册界面,分别在各个输入域中填入非正常值

登陆成功

登陆提示信息填入错误

修改成功

每个文本域后都会提示正常的输入域的范围

功能点

功能点

对于各字段分别输进入分店修改界面,分别在查看修改

车信退

票息

查询

订票查询

预订

退

订车票

退

车票

会员管理

选择退票

选择查询订票信息

选择查询订票信息

选择订票

选择订票

选择退票

进入查询页面,在查询界面选车查询信息

进入查询页面,在查询界面选车未查询信息

进入订票页面,选择所订车票

进入预订查询页面,选择未定车票

进入退票页面,选择所退车票票

进入退票页面,选择所未退车票

会员,修改会员

入正常值

对于各字段分别输入非正常值

功能点

功能点

选择查询

进入查询界面,选择车次查询

显示查询信息 功能点

查询成功

查询失败

预订成功

预订失败

退票成功

退票失败

修改成功

修改失败

功能点

功能点

功能点

界面效验

功能点

界面效验

功能点

功能点

对于各字段分别输进入会员管理注册面,选择入正常值

入非正常值

对于各字段分别输进入会员管理界面,未选会 软件职业技术学院062402班 斯明 学号:20063342 - 37 -

火车票预定系统的设计与实现

订票管理

对于各字段分别输入正常值

对于各字段分别输入非正常值

对于各字段分别输入正常值

对于各字段分别输入非正常值

进入订票管理界面,查看用户点击修改,分别在各个输入域中填入正常值

进入订票修改界面,查看用户后点击修改,分别在各个输入域中填入非正常值

进入车票管理界面,分别在各个输入域中填入正常值格那填入正常值

进入车票管理界面,分别在各个输入域中填入非正常值

修改失败

界面效验

修改成功 功能点

修改失败 功能点

修改成功 功能点

车票管理

售票统计

对于订票信息存在进入售票情况页面,查看正在正确值 确售票情况

显示售票情况

界面效验

6.3 软件测试结论

6.3.1 软件能力

根据软件测试的结果,表明中网上车票预订管理系统——模块可以满足用户的需求,应用于实际工程。

6.3.2 缺陷和限制

通过软件测试,发现现系统存在如下不足之处:

鉴于专家属性过多,故而专家查询时可能存在些许时间等待;专家各属性均有长度限制。

6.3.3 建议

用户对专家数据进行处理时,输入的信息应简洁、明了,以此提高系统运行效率。

软件职业技术学院062402班 斯明 学号:20063342 - 38 -

火车票预定系统的设计与实现

结束语

二十一世纪是一个高速、快捷的年代。在这个高速发展的年代里,速度成了我们追求的目标;二是提高工作效率;三是降低成本。因此,办公自动化的高速度、高效率、高便捷、低成本便成了我们的目的,为此开发了这个火车票预定系统的设计与实现。本系统可以大大简化退票、订票、查询等十分繁琐的工作,简化办公环节,提高工作效率,而且易学、易用,满足客户需求。

这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的一个整体过程,使我真正明白了要做一个软件的难度,特别是要做一个真正可用的软件,就更难了。在老师和同学的帮助下,我把以往所学的软件工程、数据库知识结合起来,利用MyEclipse开发工具,加上MySQL数据库系统,完成了本次课程设计,尽量使它能满足各个方面的要求。当然,我的个人能力有限,还有很多不足的地方,敬请谅解。

在这次课程设计过程中我遇到了不少的难题,比如数据库操作问题,界面设计问题,函数使用与实现问题,消息处理问题等等。其中,最关键的是在最初对系统的需求分析做的不透彻,导致后续设计工作乃至编码时的修改工作量变大。以至于为了能按时完成设计任务,我一连度过了几个通宵。尤其,越接近结束,就越是时常出现问题。所以,通过这次课程设计我深刻体会到软件工程还是必须学精通点、学透彻点。

通过这次课程设计,我学会了如何对所学课程综合运用,巩固了软件工程的一般规范,对数据库的使用也有了更进一步了解。总体来说,课程设计让我学了不少知识。

我认为课程设计是我们学习生涯中相当重要的一课,除了验证学生的学习成果外,也是训练一个人独立思考及解决问题的能力.在这里,我要感谢指导老师和同学在这次课程设计中对我的帮助。

软件职业技术学院062402班 斯明 学号:20063342 - 39 -

火车票预定系统的设计与实现

致 谢

本论文是在导师的悉心指导下完成的。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。使我树立了远大的学术目标、掌握了基本研究方法。本人从选题到完成,每一步都是在导师的指导下完成的,倾注了导师大量的心血。在此,谨向导师表示崇高的敬意和衷心的感谢!

本论文的顺利完成,离不开各位老师、同学和朋友的关心和帮助。三年学习期间,对于同窗好友的关心和帮助,在此表示深深的感谢。还有远方家人的精神鼓励与支持。没有你们的帮助和支持是没有办法完成我的学士学位论文的。

最后对老师,同学再次致以我最衷心的感谢!

软件职业技术学院062402班 斯明 学号:20063342 - 40 -

火车票预定系统的设计与实现

参考文献

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

[2] BruceEckel.《Java编程思想》. 机械工业出版社,2003年10月:1-378

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

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

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

[6] 孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246

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

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

[9] 朱红,司光亚.《JSP Web编程指南》.电子工业出版社, 2001年9月:34-307

[10] 赛奎春.《JSP工程应用与项目实践》. 机械工业出版社, 2002年8月:23-294

软件职业技术学院062402班 斯明 学号:20063342 - 41 -

本文标签: 系统订票信息

更多相关文章

xp系统

使用U盘安装Linux系统

7小时前

下图是装完之后凭借印象截出的图&#xff08;基本上没问题&#xff09;下边对20年12月1日安装linux Centos 7系统的过程简单概括 这个安装包下载地址&#xff08;如果连接有问题&#xff

安装centos出现需要插入U盘才能启动系统_F_hawk189_新浪博客

7小时前

今天安装centos6.6的时候&#xff0c;居然需要插入U盘才能正常启动系统&#xff0c;主要是因为把启动项安装到U盘中了&#xff0c;需要重新安装grub到硬盘的MBR中。 1、首先通过U盘先正常进入Cen

安装grub到U盘分区,实现多系统引导

7小时前

安装grub到U盘分区&#xff0c;实现多系统引导 目录 1.分区工具及分区类型  1.1 显示分区表和分区信息  1.1.1 fdisk -l  1.1.2 gdisk -l  1.1.3 parted -l  1.2 常见分区

服务器系统u盘制作工具哪个好,服务器专用U盘装系统制作工具(PC也行)

7小时前

一直在做运维&#xff0c;有时候避免不了给客户装系统。通过远程装系统的效率是非常慢的&#xff0c;所以考虑U盘装。 问题就来了&#xff0c;市面上譬如XX桃&#xff0c;XX大师&#xff0c

U盘做启动盘重装win10系统

7小时前

U盘做启动盘重装win10系统 可备份C盘文件 1、迅雷下载 magnet:?xturn:btih:75C53FC59E677E355327E73E3296F8848F90A538&dncn_windows_10_consume

【Linux】Kickstart 配置U盘自动化安装Linux系统

6小时前

文章目录 前言一、刻录USB二、配置以BIOS方式启动引导2.1 引导文件配置2.2 KS文件配置 三、以EFI方式启动引导3.1 引导文件3.2 KS文件 四、 总结 前言 之前安装系统&#xff0c;例如在VMware虚拟机中

【Centos安装】华为鲲鹏服务器安装Centos系统

6小时前

跟我一起安装CentOS系统 1、对多块硬盘进行RAID2、准备系统安装盘3、进入安装界面前的过程4、带UI的可视化安装页面5、将其他可用的磁盘进行挂载并创建分区 1、对多块硬盘进行RAID 通过将多块硬盘建立为磁盘阵列(Redundan

linux recuse 挂载u盘,从U盘启动kali系统出现Grub Rescue问题

6小时前

问题产生的原因&#xff1a; 某一天心血来潮想要把kali系统装到U盘里&#xff0c;这样方便与随身携带学习用。刚开始还是好好的&#xff0c;从U盘启动到使用都是极好的。后来换了一台笔记本&#xff0c

【安装系统】windows10、ubuntu16.04系统安装

6小时前

之前有电脑莫名奇妙的本系统崩了&#xff0c;现在都不知道是什么原因&#xff0c;只能归其原因是博主水逆造成的&#xff0c;然后就开始学习装系统 一、windows10 1、安装方式&#xff1a;P

第一章 Dell 游匣 G15 5511 安装Ubuntu 20.04 系统

6小时前

由于工作环境需要,要将电脑的win 11系统刷成 Ubuntu 20.04 第一章 Dell 游匣 G15 5511 安装Ubuntu 20.04 系统 文章目录 一、下载Ubuntu 20.04 镜像二、制作U盘启动盘1.准备U盘2.下

联想E480安装MacOS苹果系统记录

6小时前

联想E480安装MacOS记录 联想E480安装黑苹果 自己有用IPad和Iphone,但Mac OS却没怎接触过,于是萌生了转用Mac OS的想法,用自用的联想E480装个黑果,为了方便软件上的互补,双系统优先。网上搜搜转转没发现有E

来自官方的系统服务说明 (一)

5小时前

原位置&#xff1a; http:labs.microsoftchinatechnetsecuritytopicsserversecuritytcgtcgch07n.mspx 系统服务描述 下面各小节介绍了 Win

【windows系统anaconda下gym环境搭建】新手向手把手细致讲解

5小时前

今天来用一篇文章说明讲解一下小白如何零基础,在windows系统下的anaconda下安装搭建gym环境,对新手十分友好,也欢迎大家在评论区一起讨论解决问题。闲话少说,发车! 第一步:anaconda下载 首先我们要明白Windows本

nouveau未禁用导致Ubuntu rsyslogd频繁写系统日志CPU占用率高的问题

5小时前

最近在使用Ubuntu14.04服务器时遇到一个如下问题。 服务器开机后&#xff0c;发现rsyslogd服务占用率一直为100%&#xff0c;查看日志发现才开机的几分钟的时间&#xff0c;刚清空的syslog

Filebeat+Kafka+数据处理服务+Elasticsearch+Kibana+Skywalking日志收集系统

5小时前

前言 该文档不会为读者提供中间件的安装和部署教学&#xff0c;仅作为我在这大半年从零开始建立日志收集系统的整个过程。整个日志收集系统目前已迭代三次&#xff0c;从第二版开始已经稳定运行半年&#xff0c;第三版

win11系统如何清理C盘垃圾文件

4小时前

电脑用了不久&#xff0c;C盘却爆满&#xff1f;我们要怎么办&#xff1f;&#xff1f;&#xff1f; 如下是收集整理到的一些适用于win11系统的简单方法 打开电脑内置的"回

【电脑专修】小鱼体验了一把国产系统,支持一键安装自带输入法微信

4小时前

大家好&#xff0c;我是爱吃鱼香ROS的小鱼。 从小鱼高中开始就不断有人找小鱼修电脑&#xff0c;在我这些邻居眼里&#xff0c;写代码和修电脑就一个样子&#xff0c;所以小鱼在家不到一个月就又有找上门

win10字体安装_WIN10美化:一键更换系统字体!

3小时前

针对win10 的美化&#xff0c;小帮从未停止过&#xff0c;每天越来越多的时间都是坐在电脑面前&#xff0c;面对一个自己精心改造的桌面不仅仅可以提高我们的工作效率&#xff0c;心情也会变得美美哒。

最简单的WIN7内核PE系统的U盘安装方法+WIN7密码破解

2小时前

最简单的WIN7内核PE系统的U盘安装方法&#xff08;安装WIN7系统利器&#xff01;绝对PE工具箱&#xff09;感谢作者&#xff01; 绝对PE工具箱是一款可安装在硬盘、U盘、光盘使用的Wind

从装系统开始到搭好java开发框架

2小时前

从装系统开始到搭好开发框架 约定&#xff1a; 1、 此教程仅适用于小白&#xff0c;没有接触过开发的想自学的朋友。 2、 这里说的开发语言是javaSE&#xff0c;JavaEE仅提供资料和工具。 3、 系统

发表评论

全部评论 0
暂无评论

最新文章

请选择路线: 软件职业技术学院062402班 斯明 学号:20063342 - 34 -

list=Train();if(!y()){for(int

i=0;i<();i++){List list2=(List)(i);%>

火车票预定系统的设计与实现

">