习题:销售飞机票系统
问题陈述:
在一个简单的机票销售系统中,售票员根据旅客需要的航班,查询有无对应
的机票,若有,则输入旅客基本信息(姓名、身份证号、航班号、到达港);完
成售机票业务,系统可打印机票。系统还包括乘机保险销售,当旅客需要购买乘
机保险时,系统可根据旅客基本信息完成保险相关业务;销售部经理可查询航班
的售票情况(航班号,售票数量、营业额);并在日结时计算日营业额,并打印
输出。
1.用 ER 图表述系统的数据关系
2.给出该系统各 DFD(顶层、1 层和 2 层)
3.给出系统的数据字典
1
1 解:
系统 ER 图:
旅客信息
1
有
1
机票信息
1
有
1
航班信息
1
有
1
旅客保险信息
n
n
有
有
1
1
售票情况信息
1
有
1
日结信息
旅客信息
姓名
身份证
航班号
到达港
售票信息
航班
售 票 数
量
营业额
注:其他实体属性表示图略。
2
顶层语境图
操作请求
旅客信息
机票售票
系统
航班信息
售票情况
日结单
保险单
机票
一层 DFD 图
查询处理
航班信息
售票情况
查询请求
操作请求
操作请求
处理
日结请求
日结处理
日结单
保险请求
保险处理
保险单
售票请求
售票处理
机票
旅客信息
2 解:
3
二层 DFD 图
查询处理
查询请求
查询请求
分解
查询机票请求
查询机票
处理
航班信息
查询航班售票请求
查询航班
机票处理
售票信息
航班信息文件
售票情况文件
二层 DFD 图
售票处理
售票请求
售票处理
记录售票请求
记录机票
文件
旅客信息
输出机票请求
旅客信息
录入请求
旅客信息
登记
售票情况文件
输出机票
机票
旅客信息文件
机票文件
4
二层 DFD 图
销售保险处理
保险请求
输出
保险单
保险单
机票文件
录入修改
保险金额
保险资料文件
二层 DFD 图
日结处理
日结请求
日结处理
日结单
售票情况文件
5
3 解:
数据字典
一、数据流条目:
1) 查询请求=[ 查询航班售票请求 | 查询机票请求 ]
查询航班请求=[ 日期 + 出发地 + 到达地 ]
查询售票信息=[ 日期 + 班号 ]
2) 售票请求=[ 日期 + 航班号 ]
3) 保险请求=[ 日期 + 航班号 ]
4) 日结请求=[ 日期 ]
5) 录入旅客信息请求=[ 日期 + 航班号 ]
6) 记录售票请求=[ 日期 + 航班号 + 仓位 + 旅客信息 ]
7) 输出机票请求=[ 机票 ]
8) 保险金额=[ 保险项目号 + 保险金值 ]
9) 旅客信息=[ 姓名 + 身份证号 + 航班号 + 舱位类型 + 到达港 ]
10)售票信息=[ 日期 + {航班 + 售票数量 }+ 营业额 + 当前剩余票数 ]
11)航班信息=[ 航班号 + 出发地 + 到达地 + 起飞时间 + 到达时间 + 公务舱数 + 经济
舱数 + 公务舱票价 + 经济舱票价 ]
12)保险单=[ 日期 + 航班 + 保险金额 ]
13)机票=[ 日期 + 航班 + 姓名 + 机票号 + 票价 ]
14)机票号=[ 记录售票时自动生成的序号 ]
15)日结单=航班售票信息
二、文件条目:
1) 航班信息文件=[ 航班号 + 舱位类型 + 舱位数量 + 票价 ]
2) 售票信息文件=[ 日期 + 航班号 + 舱位类型 + 已售出数 + 机票号 ]
3) 旅客信息文件=[ 机票号 + 姓名 + 身份证号 + 航班号 + 舱位类型 + 到达港 ]
4) 保险资料文件=[ 保险项目号 + 保险金值 ]
5) 机票文件=[{机票}]
6