长沙理工大学
《程序设计实践》课程设计报告
张 昭
学
班
院 计通学院
专
业 计算机科学与技术
级 计算机 03-05 学
号
28
学生姓名
张 昭
指导教师
卢曼莎
课程成绩
完成日期 2006 年 9 月 20 号
飞机订票系统分析与设计
学生姓名:张昭 指导老师:卢曼莎
摘要: 随着城市生活节奏的加快,飞机已经成为人们使用越来越频繁的交通工具,随
之而来的问题是,如何能让旅客最快、最便捷的订到机票。这就需要一个合适的订票系
统来处理航班、机票、旅客等信息,方便售票人员查询,插入,删除各种信息。
本课程设计结合实际的订票、售票制度,经过实际的需求分析,采用功能强大的 VC
作为开发工具、SQL 作为数据库开发出来的飞机订票管理系统。本文首先阐述了飞机订
票管理系统的需求分析,描绘了本飞机订票管理系统的基本模型图。通过对数据库技术
的现状与发展、数据库系统的选择原则、系统开发工具的选择一系列问题的分析,确定
了系统的开发平台。详细给出了从飞机订票管理系统分析到总体设计详细设计与实现及
测试的各个环节,最后对本系统做出了客观评价,指明了系统的现实意义、缺点以及系
统的升级方向。
关键词:飞机订票系统;数据库;SQL
1 需求分析
为了方便旅客,拟开发一个机票预订系统。旅行社工作人员把预订机票的旅客信
息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入系统,系统
为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭票通知和帐单交款取
票,系统校对无误即印机票给旅客。
1.1 用数据流图来描绘系统的逻辑模型:
票预订系统的基本系统模型如下:
旅 行 社 工
作人员
信息
订票系统
取票信息
机票
旅客
旅行社工作人员是数据源点,旅客是数据终点。
图 1-1 基本模型
1
1、进一步细化基本系统模型,“信息处理”、“订票处理”、“取票处理”是系统
必须完成的主要功能,将代替“订票系统”,可得
旅行社
工作人员
信息
1
信息
处理
D1 订票信息
旅客信息
2
订 票 处
理
取票信息
旅客
取票信息
3
机票
取 票 处
理
图 1-2 细化模型图
D2 取票信息
增加“订票信息”和“取票信息”两个数据存储。
2、再进一步细化可得
D1 订票信息
D3 订票清单
D2 取
票信息
信息
票
单
订票信息
订票 清单
2.1
订 票
处理
2.2
更 新 订
票 清 单
处理
订票信息
旅客信息
旅行社
工 作 人
员
信息
1.1
接收
信息
信息
1.2
信息
处理
息
票
3.1
取 票
信息
取票信息
取票信息
取票信息
3.2
打 印
机
D2 取票信息
2
取 票
2.3
订
产 生
订 票
清
信 息
处理
取票信
旅客
机
2.4
打
印
机
图 1-3 最终模型图
将 1.1、1.2、2.2 和 3.1 放在同一个边界内,这个系统将联机地接收信息、信息处理
订票处理、更新订票清单处理及取票处理;将 2.3 、2 .4 和 3.2 放在同一边界内,以批
量方式产生信息给旅客。
1.2 数据字典
名字:身份证号码
别名:
描述:在订票清单中唯一被
标志的关键城
定义:身份证号码=18 个字
符
位置:
订票信息
订票清单
取票信息
名字:取票通知
别名:
描述:取票证据之一
定义:取票通知=姓名+身份证
号码+取票时间+航班
位置:
取票信息
取票处理
打印机
名字:旅客信息
别名:
描述:姓名、性别、工作单
位、旅行时间、旅行目的
地、身份证号码
定义:旅客信息=姓名+性别+
工作单位+身份证号码+旅
行时间+旅行目的地
位置:
接收信息
信息处理
订票处理
更新订票清单处理
名字:姓名
别名:
描述:在订票清单中除身份证
号码外另一个被标识的城
定义:姓名=10 个字符
位置:
订票清单
订票信息
取票信息
名字:机票
别名:
描述:旅客凭此来坐飞机
定义:机票=日期+源地点+目
的地点+航班+坐次+起飞时
间
位置:
输出到打印机
3
名字:取票信息
别名:取票证据
描述:旅客凭此证据在飞机
起飞前一天取票
定义:取票信息=取票通知+
账单
位置:
取票信息
打印机
名字:帐单
别名:
描述:取票凭证之一
定义:帐单=姓名+身份证号码
+交款数额
位置:
取票信息
打印机
1 为把客户的数据要求清晰明确的表达出来,建立一个 ER 模型。
表 1-1 数据字典
性别
名字
身 份 证
号码
工作单位
旅行时间
旅 行 目
的地
旅行社工作人员
信息处理
旅客
订票/取票
机票
起飞时间
日期
源地点
目的地点
航班
坐次
图 1-4 ER 模型图
4
2、 IPO 图能够方便地描绘输入数据。对数据的处理和输出数据之间的关系。下
面用改进的 IPO 图表来描述
IPO 表
系统:机票预订系统
模块:信息处理
编号:1
被调用:
作者:丁霞
日期:
调用:订票模
块和取票模块
输入:订票信
息取票信息
输出:订票信
息取票信息
处理:盘但是订票还是取票,
并调用相应的功能模块。
局部数据元素:
注释:
IPO 表
系统:机票预订系统
模块:订票模块
编号:2
作者:丁霞
日期:
被调用:信息处理
调用:
输入:姓名、性别、工作
单位、身份证号码、旅行
时间、旅行目的地
输出:取票
信息
处理:将旅客信息输给本模块,根据旅客
要求安排航班,并给旅客在飞机起飞前一
天取票的证据即取票通知和账单
局部数据元素;
注释:
系统:机票预订系统
模块:取票模块
编号:3
被调用:信息处
理
作者:丁霞
日期:
调用:
输入:姓名、身份证
号码、航班、日期
输入:机票
处理:将输入的信息传给本模块,校对无
误后打印机票
局部数据元素:
注释:
图 1-5 IPO 图表
可采用 VB、VF、VC、PB 等算法来完成上述模块
5
2 总体设计
经过需求分析阶段的分析过程,已粗略的表现了整个设计过程。总体设计阶段的基
本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系
统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段要
完成两个小阶段,首先要进行系统设计,从需求分析阶段的数据流图设想完成系统功能
的最佳物理方案,然后进行软件结构设计,确定软件有哪些模块组成以及这些模块之间
的动态调用关系。用结构图来描绘软件结构
将需求分析阶段的数据流图进一步细化,经分析从而得到软件结构图,
如下:
旅 行
社 工
作 人
员
1.1
接 收
信息
信息
1.2
信 息
处理
退票或换票
D1 订票信息
D3 订票清单
D2 取票信息
无票
订票信息
订票清单
取票信息
旅客
信息
2.1
订 票
处理
3.1
取 票
处理
取票
信息
2.2
订票
更 新 订
票 清 单
处理
信息
取票
订票
2.3
产 生
清单
订 票
信 息
取票
信息
2.4
打
印
机
取票信息
3.2
信息
打 印
机
取票信息
机票
旅客
机票
取票信息
D2 取票信息
出错
图 2-1 数据流图
6
(二)由上面的数据流图可软件结构图
机票预定系统
信息处理
取票信息
机票
接收信息
订 票 处 理
系统
取 票 处 理
系统
旅 客
订 票
信息
旅 客
取 票
信息
订票信息
取票信息
姓
名
性
别
工
作
单
位
旅
行
时
间
身
份
证
号
旅
行
目
的
取
票
通
知
帐
单
图 2-2 软件结构图
3 详细设计
详细设计阶段的关键任务是确定怎样具体地实现所需要的目标系统,也就是要设计
出程序的“蓝图”,除了应该保证程序的可靠行之外,使下一步即将要编的程序可读性
好,容易理解,容易测试和容易修改,维护是详细设计阶段最重要的目标。
1)选择 PAD 图作为完成详细设计的工具,根据总体设计中的数据流图可得 PAD 图为:
p1
c
p2
p3
p1:信息处理
p2 : 订 票 处 理
p3.2
p3:取票处理
c:旅客信息
p2.1
def
p1.1
p1.2
P3
p2.2
p2.4
P1
P2
7
def
p3.1
p2.3