航空机票预订及销售系统.docx
- 文档编号:8347528
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:14
- 大小:168.75KB
航空机票预订及销售系统.docx
《航空机票预订及销售系统.docx》由会员分享,可在线阅读,更多相关《航空机票预订及销售系统.docx(14页珍藏版)》请在冰豆网上搜索。
航空机票预订及销售系统
航空机票预订及销售系统
课
程
设
计
报
告
组长:
罗阳2013211688
组员:
王泊谦2013211683
许超婷2013211686
侯旻2013211690
班级:
计算机科学与技术13-3班
指导老师:
沈明玉、邵堃
实验地点:
1号机房
实验时间:
2015.7.5~2015.7.17
计算机与信息学院
一.系统概述
1.1、软件实现目标及应用环境
1.1.1软件实现目标
1.1.2应用环境
1.2、软件主要功能模块
二.软件总体结构
2.1、软件开发环境
2.2、软件基本结构
三.数据库设计
3.1、需求分析
3.1.1数据流图
3.2、概念设计
3.2.1E-R图
3.3、逻辑设计
3.3.1关系模式设计
3.3.2其他
3.4、物理设计
一、系统概述
1.1软件实现目标及应用环境
1.1.1软件实现目标
普通用户注册账号登陆航空订票及预订销售系统,接着进入机票预订界面可查看所有航班信息购票,也可根据出发地点检索购票。
在用户界面还具有个人信息查看与修改、修改密码、退订机票等功能。
管理员通过特定的用户名和密码登陆系统,可以制定航班、安排航班、删除航班、查看航班。
1.1.2应用环境
Windows7/windows8
1.2软件主要功能模块
1.2.1用户模块
(1)用户注册模块:
用户填写个人基本信息,设置用户名及密码
(2)用户登录模块:
输入用户名和密码进入系统
(3)机票预订模块:
用户查看航班信息购买机票,或者根据出发地检索相应航班信息购买机票
(4)用户个人信息修改与查看模块:
查看及修改用户个人信息
(5)修改密码模块:
更改个人密码
(6)查看与退订模块:
查看已预订机票及退订机票
1.2.2管理员模块
(1)管理员登陆模块:
输入用户名密码进入管理员界面
(2)制定航班模块:
制定航班号、出发地、目的地、飞行时间、价格、票数等航班基本信息
(3)安排航班模块:
可设置航班折扣、起飞时间等信息
(4)查看航班模块:
查看所有航班及余票情况
二、软件总体结构
2.1软件开发环境
采用sqlserver2005和eclipse两个开发环境,使用JDBC链接数据库
2.2功能
普通用户:
可以在系统中注册账号密码,可以购买机票、退订机票、查看机票信息、修改密码、修改个人信息
管理员:
通过管理员账号和密码登陆系统,具有建立航班、制定航班、查看航班等权限
2.3适用的用户
该系统面对的主要用户是购买机票的旅客,其次是管理该系统的工作人员。
2.4软件基本结构
三、数据库设计
3.1需求分析
3.1.1用户管理:
a)用户注册
所需信息:
用户名、密码、性别、联系方式、邮箱、身份证号、真实姓名,年龄
b)用户登录
所需信息:
用户类型、用户名、密码
普通用户登陆成功后:
c)查看机票信息并购票
显示航班号、出发地、目的地、航班起飞时间、飞行时间、票价、折扣、总票数。
在确认航班号及需购票数填写之后方能成功购票。
d)根据起飞地点查看机票信息并购票
用户输入出发地点之后显示航班号、出发地、目的地、航班起飞时间、飞行时间、票价、折扣、总票数。
在确认航班号及需购票数填写之后可成功购票。
e)个人信息查看与修改
显示信息:
用户名、密码、真实姓名、身份证号、邮箱、联系方式、性别、年龄、用户类型。
其中,真实姓名、邮箱、联系方式、性别可供修改。
f)用户密码修改
所需信息:
原密码,新密码,确认密码
g)查看已购票并提供退票选项。
显示已购机票信息,包含航班号、出发地、目的地、航班起飞时间、飞行时间、票价。
用户确认航班号并选择退票张数后可成功退票。
3.1.2管理员权限:
h)管理员登陆:
所需信息:
用户名、密码
管理员登录成功后:
i)制定航班
所需信息:
航班号、出发地、目的地、起飞时间、飞行时间、价格、票数
j)安排航班
所需信息:
航班号、折扣、起飞时间
k)删除航班
所需信息:
航班号
l)查看航班
显示信息:
航班号、出发地、目的地、起飞时间、飞行时间、折扣、票价、余票数
3.1.3输入输出要求:
用户注册:
用户名长度大于等于6,小于等于16
密码长度大于等于6,小于等于16
真实姓名不能为空
身份证号必须为18位,且由数字、x、X组成。
性别不为空,且值为男或女
年龄范围在5~85
用户登录:
用户名长度大于等于6,小于等于16
密码长度大于等于6,小于等于16
用户密码修改:
原密码必须输入正确即为当前用户的密码
新密码不能和原密码相同
新密码长度大于6,小于等于16
确认密码必须和新密码相同
用户信息修改:
提供修改的信息:
真实姓名、邮箱、联系方式、性别
更改后的信息不能和原信息相同,且约束同注册约束
管理员管理航班:
管理员设置折扣范围必须在0~1,且不能为0
管理员设置的航班号符合航班号命名规则
管理员设置的票数大于等于0,小于等于500
管理员设置的票价大于等于0,小于等于5000
管理员设置的时间采用YYYY/MM/DDHH:
MM格式
3.1.4顶层数据流图
3.1.5一层数据流图
3.1.6用户注册
3.1.7用户登录
3.1.8用户订票
3.2概念设计
E-R图
3.3逻辑设计
3.3.1关系模式设计
1.用户(users)
字段名
数据类型
描述
相关约束
username
varchar(16)
用户名
primarykey
len(username)>=6andlen(username)<=16
password
varchar(16)
密码
notnull
len(password)>=6andlen(password)<=16
uname
varchar(10)
真实姓名
id
char(18)
身份证号
unique
notnull
len(password)=18
varchar(30)
邮箱
tel
varchar(15)
联系方式
sex
char
(2)
性别
check(sexin(‘男’,’女’))
age
int
年龄
check(agebetween5and85)
types
varchar(10)
用户类型
check(typein(‘普通用户’,’管理员’))
default‘普通用户’
2.航班(flight)
字段名
数据类型
描述
相关约束
fno
varchar(10)
航班号
primarykey
fstart
varchar(10)
出发地点
notnull
fend
varchar(10)
目的地
notnull
ftstart
datetime
起飞时间
notnull
ftlast
int
飞行时间
notnull
check(ftlastbetween1and20)
fdisc
numeric(4,3)
折扣
notnull
check(fdiscbetween0and1)
fprice
numeric(6,2)
票价
notnull
check(fpricebetween0and5000)
frest
int
余票数
notnull
ckeck(frestbetween0and500)
3.预定(book)
字段名
数据类型
说明
相关约束
fno
varchar(10)
航班号
foreignkey
username
varchar(16)
用户名
foreignkey
bnum
int
预订数量
check(bnum>0)
notnull
(fno,username)为主码
3.3.2其他
【完整性】
实体完整性:
每个基本表都设置了主码
参照完整性:
users表中的username和flight表中的fno是book表中username和fno的外码
用户定义完整性:
以下约束均在网页中用javascript检查
用户注册:
用户名长度大于等于6,小于等于16
密码长度大于等于6,小于等于16
真实姓名不能为空
身份证号必须为18位,且由数字、x、X组成。
性别不为空,且值为男或女
年龄范围在5~85
用户登录:
用户名长度大于等于6,小于等于16
密码长度大于等于6,小于等于16
用户密码修改:
新密码不能和原密码相同
新密码长度大于0,小于等于16
用户信息修改
提供修改的信息:
密码、真实姓名、邮箱、联系方式、性别
更改后的信息不能和原信息相同,且约束同注册约束
管理员管理航班:
管理员设置折扣范围必须在0~1,且不能为0
管理员设置的航班号符合航班号命名规则
管理员设置的票数大于等于0,小于等于500
管理员设置的票价大于等于0,小于等于5000
管理员设置的时间采用YYYY/MM/DDHH:
MM格式
【安全性】
设置了两种用户身份:
普通用户和管理员。
对每种身份的用户,给予的不同数据库操作的权限。
【触发器】
1、t_update_book
用户退票时,book中预订数量(bnum)减少,flight中对应余票数量(frest)增加,若预订数量为0则删除元祖。
【视图】
1、v_flight_inquire
视图显示用户查看航班安排所需要的信息。
涉及基本表:
flight
内容:
航班号(fno),出发地(fstart),目的地(fend),起飞时间(ftstart),机票价格(fprice*fdisc)和余票数(frest)。
2、v_book_inquire
视图显示用户已购买机票的信息,支持退票操作。
涉及基本表:
flight,book
内容:
用户名(username),航班号(fno),出发地(fstart),目的地(fend),起飞时间(ftstart),机票价格(fprice*fdisc)和预订数量(bnum)。
3、v_users_info
视图显示用户的个人信息,并支持用户修改真实姓名、邮箱、联系方式、性别等信息。
涉及基本表:
users
内容:
用户名(username),真实姓名(name),身份证号(id),邮箱(email),联系方式(tel),性别(sex),年龄(age),用户类型(types)
【存储过程】
1、buy_tickets(@username,@fno,@num)
使用买票功能,用户只需要给服务器传递航班号和购买数量,数据调用存储过程对余票数进行自动更新。
2、refund_ticket2(@username,@fno,@num)
使用退票功能,用户只需要给服务器传递航班号和购买数量,数据调用存储过程对用户预定票数进行自动更新,每执行一次这个存储过程都会调用触发器对余票数进行更新。
3.4物理设计
【索引】
1、flight的起飞时间(ftime)上建立索引
users表:
users表的主码username自动建立索引。
其它属性都不经常作为等值查询的条件,又考虑到users表经常更新,不考虑建其他索引。
flight表:
flight表的主码fno自动建立索引。
其他非主属性中,出发地、目的地和起飞时间经常作为等值查询的条件,但考虑到这个表经常更新,维护太多的索引的消耗很大,所以选择只在起飞时间(ftstart)上建立索引。
book表:
book表的的主码(fno,flight)建立聚集索引。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 航空 机票 预订 销售 系统