文档库 最新最全的文档下载
当前位置:文档库 › 机票订票系统 需求分析

机票订票系统 需求分析

题目: 机票订票系统

专业班级:计算机科学与技术系

学号:1208010117

学生姓名:刘雁冰

授课教师:周贵华

2015 年03月24

第1章需求分析规格说明书 (3)

1.1 项目背景 (3)

1.1.2编写目的 (3)

1.1.3技术要求及限定条件 (3)

1.1.4定义 (4)

1.1.4.1开发环境 (4)

1.1.4.2Mysql (4)

1.1.4.3数据字典 (4)

1.1.4.4 ER图 (4)

1.1.4.5数据库表间关系图 (4)

1.1.4.6处理流程图 (4)

1.4.5精度表 (4)

1.2.2用户 (5)

1.2.3条件与限制 (5)

1.2.3.1 B/S模式下架构的缺点 (5)

1.2.3.2客户信息共享下的约束 (5)

1.2.3.3信息真伪验证的约束 (5)

1.2.3.4技术发展的约束 (5)

1.2.4系统总体架构 (5)

1.2.5开发环境 (6)

1.2.5.1集成开发环境 (6)

1.2.5.2数据库 (6)

1.2.5.3调试环境 (6)

第2章概要设计分析 (6)

2.1功能设计 (7)

2.1.1系统基本功能 (7)

2.1.2信息真伪验证处理 (7)

2.2数据结构设计 (7)

2.2.1.1数据逻辑设计 (7)

2.2,2.2航班信息表(Flight) (7)

2.2.23 用户管理表(User) (8)

2.2.2.4旅客信息表(Passenger) (8)

2.2.2.5订单信息表(Orders) (9)

2.3物理结构设计 (9)

2.3.1航班信息表物理结构 (9)

2.3.2用户管理表物理结构 (9)

2.3.3旅客信息表物理结构 (10)

2.3.4订单信息表物理结构 (10)

2.3.5表间关系图 (11)

2.4机票订票系统流程概述 (12)

2.4.1订票流程 (12)

(12)

2.4.2取票流程 (12)

(13)

2.5模块分析 (13)

2.5.1管理人员注册模块 (13)

2.5.2管理人员登陆模块 (14)

2.5.3航班信息查询模块 (14)

2.5.4航班信息增加模块 (15)

2.5.5航班信息更新模块 (16)

2.5.6航班信息删除模块 (16)

2.5.7根据旅客要求查找航班模块 (17)

2.5.8订票模块 (18)

2.5.9录入订单信息模块 (18)

2.5.11显示订单模块 (20)

2.5.13打印订单模块 (21)

2.5.14取消订单模块 (22)

2.6参考文献 (23)

第1章需求分析规格说明书

1.1 项目背景

从宏观的角度看待,中国已经进入了经济发展的快速道,人民的生活水准不断提高,因此广大人民的消费观念正在不断的改变。在消费比重上,占据大头不仅仅是生存消费,精神消费上所占的比重日益增加,因此,可以说,将来在中国市场上,旅游业是一个非常热门的行业,市场的份额不可谓不高。而对于旅游业而言,旅途的顺利与方便是十分重要的,可以说是旅游业的一个竞争力所在。因此,航空公司在实现现代化管理以及适应当前中国旅游业的蓬勃发展的同时,必须拥有一个方便旅客,具备完整的存储,查询,核对,打印出机票信息的机票订票系统。

从微观调度看,21世纪已经进入了信息时代,因此,在这个时代,信息的作用非常巨大,如何安全,顺畅,便捷的管理信息是一个重要的课题。所以,在这个机票订票系统中,旅行社将委派专员将旅客的信息输入到订票系统中,通过计算机进行查询,计算,将自动的为旅客安排航班,打印出取票通知和账单。旅客在候机时,在机场通过取票通知和账单,身份证,当机场前台人员使用系统核对无误后,随即打印机票给顾客。

1.1.2编写目的

航空公司为给旅客乘机提供方便,需开发一机票预定系统。各旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入到该系统,系统为旅客安排航班。当旅客交付了预定金后,系统印出取票通知和帐单给旅客,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统核对无误即印出机票给旅客。此外航空公司为随时掌握各航向飞机的乘载情况,需定期进行查询统计,以便适当调整。

1.1.3技术要求及限定条件

(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知、交款发票等)。

(2)对于本系统还应补充以下功能:

(a)旅客延误了取票时间的处理

(b)班机取消后的处理

(c)旅客临时更改机票班次的处理

1.1.4定义

1.1.4.1开发环境

指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。

1.1.4.2Mysql

系统服务器所使用的数据库管理系统(DBMS)。

1.1.4.3数据字典

是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

1.1.4.4 ER图

提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

1.1.4.5数据库表间关系图

数据库中,表示各表的主键与外键的图,显示了表间关系,是数据完整性的重要体现。

1.1.4.6处理流程图

提供了系统处理各个流程之间的关系,完整展现系统流程。

1.4.5精度表

数据库表中各个字段元素的数据类型。

如图1-1系统总体架构图所示:

1.2.1任务目标

在现有的硬件基础上(笔记本),利用数据库(SQL Server)和开发平台(MyEclipse6.5+Struts2+Tomcat6)编写一个机票订票系统,该系统具有开发结构,便于维护,

易于扩展功能,具有良好界面以及良好人机交互界面的特点。该系统主要用于实现在航空公司与旅行公司之间进行良好的信息交流,具体在于由旅行公司提供旅客的信息(姓名,身份证号码,性别,航班出发时间,航班始发地,航班目的地,仓位要求等。),并且将信息输入到机票订票系统中,由系统给出订票信息,最后在机场由订票信息取得相应的机票。

1.2.2用户

该系统的用户群一般是旅行公司的相关的负责人,负责听取旅客信息,在跟旅客进行交流后,将旅客信息输入到机票订票系统中。该用户并不需要具有很高的计算机水平,因为该系统易用性良好,一般的操作人员在两三天的使用之后就可以熟悉具体的操作。

1.2.3条件与限制

1.2.3.1 B/S模式下架构的缺点

B/S采用浏览器/服务器模式,在该模式下,如果应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果将不堪设想。再则,用户必须在计算机上安装好浏览器。

1.2.3.2客户信息共享下的约束

客户必须与旅行社工作人员进行交流,将客户自身信息输入到系统中,因此存在客户信息在人与人交流之中的共享情况,容易导致客户信息非客观原因泄露。

1.2.3.3信息真伪验证的约束

旅客身份证的验证必须通过与公安系统的二代身份证信息库一致才能进行机票预订,否则,不予预订并提示旅行社操作人员。

1.2.3.4技术发展的约束

计算机技术与信息技术处于不断发展和更新的年代,当前进行设计的系统未必是最新最好的系统,因此必须在系统设计中预留可发展的空间。

1.2.4系统总体架构

本系统采用B/S结构(Browser/Server,浏览器/服务器模式)设计,具体的系统结构图如下所示:

1.2.5开发环境

1.2.5.1集成开发环境

采用MyEclipse6.5集成开发工具

Struts2框架

Spring MVC 架构模型

Hibernate3 持久化设计

MyQL 数据库设计

Tomcat6.0

1.2.5.2数据库

采用MySQL DBMS

1.2.5.3调试环境

在MyEclipse 6.5 下利用Tomcat6.0进行调试

在Chrome,Firfox,Internet Explorer(64 bir)等主流浏览器下进行测试。

第2章概要设计分析

2.1功能设计

2.1.1系统基本功能

根据旅行社操作人员输入的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,系统自动为其作出可行的航班安排。

2.1.2信息真伪验证处理

旅客信息中的身份证验证必须以公安系统二代身份证信息库一致才能进行机票预订,否则,不予以预订并且提示旅行社工作人员。

2.2数据结构设计

2.2.1.1数据逻辑设计

数据逻辑设计主要由以下数据表构成

2.2,2.2航班信息表(Flight)

航班信息表:用于记录航班编号,起飞时间,目的地,余票数量,票价等航班信息。主键为航班编号。实现航班信息管理的增删改模块。

表格内容

2.2.23 用户管理表(User)

用户管理表:用于记录用户编号,用户名,用户密码,用户手机号码和用户身份证号码,对管理人员进行记录,实现系统的登陆以及注册模块。

表格内容

2.2.2.4旅客信息表(Passenger)

旅客信息表:用于记录旅客编号,旅客姓名,旅客性别,旅客身份证号,旅客手机号码等旅客信息。主键是旅客编号。实现按照

2.2.2.5订单信息表(Orders)

订单信息表:用于记录订单编号,航班编号,旅客编号,订单机票数等订单信息,其中

2.3物理结构设计

2.3.1航班信息表物理结构

2.3.2用户管理表物理结构

2.3.3旅客信息表物理结构

2.3.4订单信息表物理结构

2.3.5表间关系图

2.4机票订票系统流程概述2.4.1订票流程

2.4.2取票流程

2.5模块分析

2.5.1管理人员注册模块

2.5.1.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.1.2模块功能分析

管理人员注册模块,是航空公司内部管理人员通过输入自己的用户名,密码,证件号,手机号码等信息,完成管理系统用户的注册。只有注册了管理人员权限才可以进入系统进行操作。

该模块设计已经存在的用户名的用户不能重复注册,如果不存在该用户名的用户,才会被允许注册。

2.5.1.3模块设计

持久化PO类:https://www.wendangku.net/doc/472647349.html,er

Hibernate映射文件:User.hbm.xml

Dao设计:

DAO接口https://www.wendangku.net/doc/472647349.html,erDao

DAO类实现DAO接口com.air.dao. UserDaoImpl

业务逻辑组件设计:

Service接口https://www.wendangku.net/doc/472647349.html,erService

Service类实现https://www.wendangku.net/doc/472647349.html,erServiceImpl

Action处理类com.air.action.RegisterAction

用户注册页UserRegister.jsp

2.5.2管理人员登陆模块

2.5.2.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.2.2模块功能分析

已经在管理人员注册模块中进行了注册的管理人员可以通过该模块登陆到系统中。这个模块实现了管理员人登陆系统的功能。

2.5.2.3模块设计

持久化PO类:https://www.wendangku.net/doc/472647349.html,er

Hibernate映射文件:User.hbm.xml

Dao设计:

DAO接口https://www.wendangku.net/doc/472647349.html,erDao

DAO类实现DAO接口com.air.dao. UserDaoImpl

业务逻辑组件设计:

Service接口https://www.wendangku.net/doc/472647349.html,erService

Service类实现https://www.wendangku.net/doc/472647349.html,erServiceImpl

Action处理类com.air.action.LoginAction

用户登陆页UserLogin.jsp

2.5.3航班信息查询模块

2.5.

3.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.

3.2模块功能分析

在数据库中已经加入了若干的航班信息,这个模块负责将数据库中的航班信息表的记录显示到JSP页面中。

除了将航班信息输出到页面中的功能之外,这个模块也实现了按照数据属性来进行查询,这个查询功能非常重要,对于增加航班,更新航班,删除航班以及寻找航班等都有很大的作用。

2.5.

3.3模块设计

持久化PO类:com.air.po.Flight

Hibernate映射文件:Flight.hbm.xml

Dao设计:

DAO接口com.air.dao Flight Dao

DAO类实现DAO接口com.air.dao. FlightDaoImpl

业务逻辑组件设计:

Service接口com.air.service. FlightService

Service类实现com.air.service. FlightServiceImpl

Action处理类com.air.action. FlightShowAllAction

航班信息显示页FlightShow.jsp

2.5.4航班信息增加模块

2.5.4.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.4.2模块功能分析

该模块用来增加航班的信息,包括输入航班编号,起飞时间,目的地,剩余座位,以及价格等信息,在航班信息中就会增加一个航班。

根据输入的航班编号进行查询,如果输入的航班编号已经存在,则不允许进行航班信息的增加,如果输入的航班信息并不存在,则允许新增加的航班信息。

2.5.4.3模块设计

持久化PO类:com.air.po.Flight

Hibernate映射文件:Flight.hbm.xml

Dao设计:

DAO接口com.air.dao FlightDao

DAO类实现DAO接口com.air.dao. FlightDaoImpl

业务逻辑组件设计:

Service接口com.air.service. Flight Service

Service类实现com.air.service. FlightServiceImpl

Action处理类com.air.action. FlightAddAction

增加航班页FlightAdd.jsp

2.5.5航班信息更新模块

2.5.5.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.5.2模块功能分析

该模块用来实现对现有的航班信息进行修改操作。根据按照航班编号进行查询,寻找到要进行更新的航班记录。

然后保留航班编号,如果更新的航班编号不存在,则不允许进行更新,如果更新航班的航班编号存在,则允许进行更新。

2.5.5.3模块设计

持久化PO类:https://www.wendangku.net/doc/472647349.html,er

Hibernate映射文件:User.hbm.xml

Dao设计:

DAO接口https://www.wendangku.net/doc/472647349.html,erDao

DAO类实现DAO接口com.air.dao. UserDaoImpl

业务逻辑组件设计:

Service接口https://www.wendangku.net/doc/472647349.html,erService

Service类实现com.air.service. FlightUpdateAction

Action处理类com.air.action.

航班信息更新页FlightUpdate.jsp

2.5.6航班信息删除模块

2.5.6.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.6.2模块功能分析

该模块用来实现对现有的航班记录进行删除的操作。

按照航班编号进行查找,如果寻找到的航班编号不存在,则不允许进行删除,而且在后台显示该航班不存在。如果寻找到的航班编号存在,则允许进行航班删除的操作。

2.5.6.3模块设计

持久化PO类:https://www.wendangku.net/doc/472647349.html,er

Hibernate映射文件:User.hbm.xml

Dao设计:

DAO接口https://www.wendangku.net/doc/472647349.html,erDao

DAO类实现DAO接口com.air.dao. UserDaoImpl

业务逻辑组件设计:

Service接口https://www.wendangku.net/doc/472647349.html,erService

Service类实现https://www.wendangku.net/doc/472647349.html,erServiceImpl

Action处理类com.air.action. FlightDeleteAction

航班信息删除页FlightShow.jsp

2.5.7根据旅客要求查找航班模块

2.5.7.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.7.2模块功能分析

改模块的功能是:系统管理人员根据用户的要求输入航班的起飞时间,以及目的地,然后系统根据航班的起飞时间以及目的地对航班信息表进行多条件复合查询,将查询到的结果以航班信息的模式输出到前台页面中,在前台页面中有一个对该目标航班进行订票的链接。

如果当用户要求的航班不在航班信息表中,则会跳转到错误页面。

2.5.7.3模块设计

持久化PO类:com.air.po.Flight

Hibernate映射文件:User.hbm.xml

Dao设计:

DAO接口com.air.dao. Flight Dao

DAO类实现DAO接口com.air.dao. Flight DaoImpl

业务逻辑组件设计:

Service接口com.air.service. Flight Service

Service类实现com.air.service. FlightServiceImpl

Action处理类com.air.action. FlightQueryTargetAction

查找目标航班页FlightShow.jsp

2.5.8订票模块

2.5.8.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.8.2模块功能分析

该模块实现订票功能。当用户执行了根据旅客要求查找航班模块的功能之后,系统将查询出匹配用户目标的航班。当用户点击了订票后,将转到录入订单信息模块,进行订单信息的输入。

当用户点击了提交订单之后,在航班信息表中将自动的对其中的座位数这个字段的值进行相应数据的减少,减少的值为用户订购的机票数量。

2.5.8.3模块设计

持久化PO类:com.air.po.Orders

Hibernate映射文件:Orders.hbm.xml

Dao设计:

DAO接口com.air.dao.OrdersDao

DAO类实现DAO接口com.air.dao. Orders DaoImpl

业务逻辑组件设计:

Service接口com.air.service. Orders Service

Service类实现com.air.service. OrdersServiceImpl

2.5.9录入订单信息模块

2.5.9.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.9.2模块功能分析

该模块实现将订单信息录入数据库的功能。当用户点击了订票之后,将执行录入订单信

息模块,这里需要输入订单的编号,旅客编号,订票数量等,其中航班编号已经被指定。然后数据库执行语句将订单信息存入订单信息表。

2.5.9.3模块设计

持久化PO类:com.air.po.Orders

Hibernate映射文件Orders.hbm.xml

Dao设计:

DAO接口com.air.dao. Orders Dao

DAO类实现DAO接口com.air.dao. Orders DaoImpl

业务逻辑组件设计:

Service接口com.air.service. Orders Service

Service类实现com.air.service. OrdersServiceImpl

Action处理类com.air.action. OrdersAddAction

订单信息录入页:OrderTickets.jsp

2.5.10录入旅客信息模块

2.5.10.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.10.2模块功能分析

该模块实现将录入旅客信息的功能。用户在录入了订单信息之后,下一步就是录入旅客信息,其中要求输入旅客的姓名,性别,手机号码,身份证号码,其中旅客编号已经被指定。点击确定之后,系统将执行语句将旅客信息录入到旅客信息表中。

2.5.10.3模块设计

持久化PO类:com.air.po.Passenger

Hibernate映射文件Passenger.hbm.xml

Dao设计:

DAO接口com.air.dao. PassengerDao

DAO类实现DAO接口com.air.dao. PassengerDaoImpl

业务逻辑组件设计:

Service接口com.air.service. PassengerService

Service类实现com.air.service. PassengerServiceImpl

Action处理类com.air.action.PassengerAddAction

旅客信息录入页:PassengerAdd.jsp

2.5.11显示订单模块

2.5.11.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.11.2模块功能分析

该模块实现将系统当前所有的订单显示出来的功能。

2.5.11.3模块设计

持久化PO类:com.air.po.Orders

Hibernate映射文件Orders.hbm.xml

Dao设计:

DAO接口com.air.dao. OrdersDao

DAO类实现DAO接口com.air.dao. OrdersDaoImpl 业务逻辑组件设计:

Service接口com.air.service. OrdersService

Service类实现com.air.service. OrdersServiceImpl Action处理类com.air.action. OrdersShowAll

显示订单页:OrdersShowAll.jsp

2.5.12显示旅客模块

2.5.12.1模块架构

表现层:JSP

MVC层:Struts2+Spring2

业务逻辑层:使用业务逻辑组件

DAO层:DAO组件

Hibernate持久层:Hibernate3

数据库层:MySQL

2.5.12.2模块功能分析

该模块实现将系统当前所有的旅客显示出来的功能。

2.5.12.3模块设计

持久化PO类:com.air.po.Passenger

Hibernate映射文件Passenger.hbm.xml

Dao设计:

DAO接口com.air.dao. PassengerDao

DAO类实现DAO接口com.air.dao. PassengerDaoImpl

相关文档
相关文档 最新文档