(三) 主要数据流图如下:
(1)功能模块设计
4
(2)主要层次结构图:
旅客航班查询
各项业务管理界面 乘机资料人明细管理 售票管理 票务管理 购送票管理 定单信息管理 退出 点击 乘客 机组人员 送票情况 订票情况 关闭该界面回到登陆界面 客户购票统计 航航班增加 班删除 航班修改 查询业务 订票业务 退票业务 售票业务 取票业务 机场航班查询 5 三 概要设计
航空订票系统E-R图如下:
性别 证件号 电话 旅客类型 年龄 姓名 地址 旅客 1 1 订票 购买 票价 1 n 1 型号 姓名 订票旅客 1 航班 飞机 证件号 机型 舱位 n 目的地 航班 座位 飞行 航班类型 舱位 航班号 起飞时间 1 座位 飞机型号 订票日期 取票日期 航班 起飞时间
航班号 剩余票数
目的地 票价
出发地 起飞日期 到达时间 6
四 逻辑设计
根据E-R图和相关要求,把ER模型图转换为关系表,进行数据模型转换,系统用到五个基本表:
旅客(passenger )表;购买(buy)表;航班(flight)表;飞行(fly)表;飞机(plane)表
将E-R图转换成关系模型,关系的主码用横线标识:
旅客(passenger )(姓名,证件号,电话,旅客类型,性别,年龄,
地址)
购买(buy)(旅客证件号,航班,票价)
航班(flight)(航班,出发地,目的地,起飞时间,抵达时间,航班
类型,剩余票数,票价,起飞日期)
飞行(fly)(航班,型号,航程,中转站) 飞机(plane)(型号,舱位,座位,航班)
五 .详细设计
(一)基本查询语句
订票业务: 每次当有旅客需要订票时,首先需要对机场的航班情况进行查询,当有符合旅客的航班的机票剩余时旅客可以订票,并记录下旅客的相关信息,用到的SQL 语句为:
insert into passenger(姓名,证件号,年龄,性别,旅客类型,地址,电话);然后旅客的订票信息存入数据库,并分配相应的航班和取票信息;
退票业务:当有旅客退票时,需要根据录入旅客相关的信息将数据库peopleorder表中相应的记录删除,所用SQL语句为:
delete from peopleorder where 姓名=’旅客姓名’,证件号=’旅客证件号码’,状态= ‘买票’;
航班增加/删除/修改业务(需要管理员权限):当航空公司需要对机场航班情况进行调整时,如增加/删除/修改操作,通过以下SQL语句实现: 增加: insert into flight values (‘航班号’,’出发地’ ,’目的地’,’起飞时间’ ,’抵达时间’,’航班类型’,’剩余票数’ ,’票价’,’起飞日期’) 删除: delete from flight where 航班号=’航班号码’;
修改:update flight set [任意属性列]=[修改值] where航班号=’航班号码’;
7
二) 程序流图中某些加工实现采用IPO图的方式描述:
“收集旅客信息数据算法”IPO表 系统:航空售票 作者:孙启欢 模块:收集数据算日期:2008.12.7 编号:被调用:取调用: 数据模块 输入:姓名、性输出:格式化之后别 的数据 处理: 格式化后的各种数据 = 格式化(相关输入数据) 局部数据元素: 注释: 本加工仅采集数据,未进行实质性的数据变换 8
(