摘要
随着社会水平的提高和国家经济的发展,人们对美好生活的定义正在日益提
高,而旅游正成为人们享受美好的生活的第一大方式。随着航空业的不断进步,
飞机票价日益“亲民化”,也使得越来越的人们选择乘坐飞机作为自己的出游方
式,节约时间成了飞机的主要优势。
但面对越来越庞大的乘客数量,订飞机票的方式也早已不再像过去的人工窗
口了。随着互联网的发展,智能手机,移动支付等技术的出现,使得在线订票成
为可能。所以,作为任何一个有前瞻性的航空公司,开发自己公司的机票预定系
统都是一件非常有必要的事。通过系统将旅行社,乘客与航空公司联结起来,实
验机票订购一体化的流水线操作,不仅能降低售卖机票的人工成本,还能节约乘
客与旅行社的订票时间,改善乘客的旅行体验,并提升航空公司的知名度。
为了使航空公司适应目前的需求,促进机票预订管理信息化,不断满足乘客
预订机票的要求,争取更好的经济效益,开发一个适用于航空公司的机票预定系
统,是一件事半功倍的策略。
因此,我们就“机票预定系统”进行系统分析和设计,分析出系统的需求,对
系统的基本功能进行设计,得出系统使用等方面的问题,并在最后对本系统做出
客观评价,指明了系统的现实意义、缺点以及系统的升级方向。
关键词:SAD 机票预订 系统分析 需求分析 功能设计
目录
摘要......................................................................................................1
一. 概述.............................................................................................. 1
1.1 引言........................................................................................1
1.2 编写目的................................................................................1
1.3 问题描述................................................................................1
1.4 参考文献................................................................................1
二.需求分析..................................................................................... 1
2.1 项目概述................................................................................1
2.1.1 系统目标...................................................................... 1
2.1.2 用户及数据.................................................................. 1
2.1.3 系统约束与假设.......................................................... 2
2.2 数据流程图 (DFD)................................................................2
2.2.1 定义.............................................................................. 2
2.2.2 数据流图的细化.......................................................... 2
2.3 用例视图(User Case)..............................................................3
2.3.1 定义.............................................................................. 3
2.3.2 用例分析与详述.......................................................... 4
三. 系统分析...................................................................................... 5
3.1 类图(Class diagram)设计....................................................... 5
3.1.1 定义与分析.................................................................. 5
3.1.2 类分析与详述.............................................................. 6
3.2 时序图(Sequence Diagram)分析............................................8
3.2.1 定义.............................................................................. 8
四. 总结............................................................................................ 10
一. 概述
1.1 引言
本次课程设计实验,主要是通过设计一个“机票预订系统”,训练我们在软件
工程导论课程中学习的有关面向对象设计部分,以及软件系统设计部分的相关知
识的应用能力。通过需求分析,系统设计,结论等部分,运用学习的知识以及相
关的图表,实现“机票预订系统”的原型设计与系统分析文档的编写。
1.2 编写目的
完成“机票预订系统”的需求分析与系统设计,利用面向对象的思想拆分细化
相关的功能,进行类(class)的设计,完成编码前的主要工作。
1.3 问题描述
为方便乘客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的乘
客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进
该系统,系统为乘客安排航班,印出取票通知和账单,乘客在飞机起飞的前一天
凭取票通知和账单交款取票,系统校对无误即印出机票给乘客。
1.4 参考文献
《软件工程导论》(第六版),张海藩 牟永敏编著,清华大学出版社
二.需求分析
2.1 项目概述
2.1.1 系统目标
设计机票预订系统,让旅行社通过该系统为乘客预定制定航空公司的机票,
并打印相关凭证,以达到流水线操作。
2.1.2 用户及数据
系统中的用户分为三个,分别是:
1.航空公司
2.乘客
1
3.旅行社
其中主要的对象是航空公司,旅行社和用户为航空公司提供必要的信息,如
姓名、性别、工作单位、身份证号码等,然后由航空公司对相关的信息进行处理,
乘客为主要的信息提供者,而旅行社作为信息交换的中间桥梁,将乘客提供的相
关字段提交给航空公司。
图 2.1 基本数据流图
2.1.3 系统约束与假设
我们规定在使用系统的过程中,乘客所提供的数据真实有效切符合相关法
律,旅行社在输入信息时能按照系统要求做到准确无误,且在数据传输的过程中
不会出现相关的异常,与此同时,航空公司在处理信息时不会出现异常。
2.2 数据流程图 (DFD)
2.2.1 定义
数据流图或数据流程图(Data Flow Diagram)是结构化分析方法中使用的
工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统
必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图
是需求分析阶段产生的结果,它从数据传递和加工的角度,以图形的方式刻画数
据流从输入到输出的移动变换过程。
2.2.2 数据流图的细化
基于 2.1.2 中的图 2.1 基本数据流图,我们得到了系统中大致的数据流向,
我们可以基于此继续细化其中的数据。
由于订票系统是设立在航空公司之中,那么我们首先可以将“航空公司”更改
为我们的“订票系统”,用于表示处理我们传递的数据。
图 2.2 DFD 第一次优化
其次,我们可以将整个订票系统的功能划分为三个阶段,分别是由旅行社“记
录乘客信息”并“传递乘客信息”给系统,由系统“安排机票”并“打印取票凭证”,交
给乘客。
由此我们可以得到第二次优化过的 DFD,如下:
2
图 2.3(a) DFD 第二次优化
与此同时,在乘客进行取票时,系统还需“核对乘客信息”并“打印机票”给乘
客:
图 2.3(b) DFD 第二次优化
最终,我们得到了系统的数据流图如图 2.3 所示。
2.3 用例视图(User Case)
2.3.1 定义
用例图(User Case)是指由参与者(Actor)、用例(Use Case),边界以及
它们之间的关系构成的用于描述系统功能的视图,是系统的蓝图。用例图呈现了
一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的
功能行为进行建模。
我们可以根据在 2.2 中得到的数据流程图,分析得到系统的三个用户的用例
图。
3
图 2.4 机票预订系统用例图
2.3.2 用例分析与详述
2.3.2.1 参与者(Actor)
a. Passager 乘客
b. Agency 旅行社
c. System(Airline Company)预订系统(航空公司)
2.3.2.2 用例(Use Case):
1. Booking(预订机票)
用例参与者:系统,旅行社
用例说明:旅行社向系统输入信息并预订机票
2. ManageBill(管理账单)
用例参与者:系统,旅行社
用例说明:系统与旅行社进行账单的查询,添加等管理操作
3. ManagePassanger(管理乘客)
4
用例参与者:系统,旅行社
用例说明:系统与旅行社进行预定机票的乘客的查询,添加等管理
操作
4. Searching(查询机票信息)
用例参与者:系统,旅行社,乘客
用例说明:系统,旅行社与乘客对相关的机票信息进行查询
5. SubmitRequest(提交订票申请)
用例参与者:旅行社,乘客
用例说明:乘客向旅行社提交订票申请
6. PickUpTickets(取票)
用例参与者:系统,乘客
用例说明:系统向乘客提供取票凭证
7. ManagePick-up(管理取票信息)
用例参与者:系统
用例说明:系统对所有的取票信息进行的查询,添加等管理操作
三. 系统分析
3.1 类图(Class diagram)设计
3.1.1 定义与分析
类图(Class diagram)是显示模型的静态结构,特别是模型中存在的类、类的
内部结构以及它们与其他类的关系类图不显示暂时性的信息。类图是面向对象建
模的主要组成部分,是一种静态的结构图,描述了系统的类的集合,类的属性和
类之间的关系,可以简化了人们对系统的理解。
我们可以根据之前 2.3 中的用例图,结合具体问题并稍作修改,通过面向对
象的相关知识,我们可以得到程序中包含的类有:
1. System (系统)
2. Passanger (乘客)
3. Agency (旅行社)
4. Manage (管理)
5. Searching (查找)
5
并通过分析类之前的关系,我们可以得到本系统的类图如下:
图 3.1 类图设计及类的泛化
3.1.2 类分析与详述
1.Searching(查找)
Searching 类是 Passanger 类,Agency 类与 System 类的基类。
其中包含的方法有:
+ Searching(String cityFrom,String cityTo): bool
public 修饰,返回值为 bool,参数为 String cityFrom,String cityTo,
函数名为 Searching,用于查询机票的相关信息,参数需输入出发地与
目的地,将会显示具体的信息并返回 true,如果无条目则返回 false。
2.Manage(管理)
Manage 类是 Agency 类与 System 类的基类。
其中包含的属性有:
+ passangerList: String []
public 修饰,String 类型的字符串数组,用于存放对应乘客的个人信息。
+ billList:String[]
public 修饰,String 类型的字符串数组,用于存放对应乘客的账单信息。
6