航空机票预订及销售系统Word文档下载推荐.docx
《航空机票预订及销售系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《航空机票预订及销售系统Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
二.软件总体结构
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软件实现目标及应用环境
普通用户注册账号登陆航空订票及预订销售系统,接着进入机票预订界面可查看所有航班信息购票,也可根据出发地点检索购票。
在用户界面还具有个人信息查看与修改、修改密码、退订机票等功能。
管理员通过特定的用户名和密码登陆系统,可以制定航班、安排航班、删除航班、查看航班。
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
确认密码必须和新密码相同
用户信息修改:
提供修改的信息:
真实姓名、邮箱、联系方式、性别
更改后的信息不能和原信息相同,且约束同注册约束
管理员管理航班:
管理员设置折扣范围必须在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逻辑设计
1.用户(users)
字段名
数据类型
描述
相关约束
username
varchar(16)
用户名
primarykey
len(username)>
=6andlen(username)<
=16
password
密码
notnull
len(password)>
=6andlen(password)<
uname
varchar(10)
真实姓名
id
char(18)
身份证号
unique
len(password)=18
email
varchar(30)
邮箱
tel
varchar(15)
联系方式
sex
char
(2)
性别
check(sexin(‘男’,’女’))
age
int
年龄
check(agebetween5and85)
types
用户类型
check(typein(‘普通用户’,’管理员’))
default‘普通用户’
2.航班(flight)
fno
fstart
出发地点
fend
目的地
ftstart
datetime
起飞时间
ftlast
飞行时间
check(ftlastbetween1and20)
fdisc
numeric(4,3)
折扣
check(fdiscbetween0and1)
fprice
numeric(6,2)
票价
check(fpricebetween0and5000)
frest
余票数
ckeck(frestbetween0and500)
3.预定(book)
说明
foreignkey
bnum
预订数量
check(bnum>
0)
(fno,username)为主码
【完整性】
实体完整性:
每个基本表都设置了主码
参照完整性:
users表中的username和flight表中的fno是book表中username和fno的外码
用户定义完整性:
以下约束均在网页中用javascript检查
新密码长度大于0,小于等于16
用户信息修改
密码、真实姓名、邮箱、联系方式、性别
【安全性】
设置了两种用户身份:
普通用户和管理员。
对每种身份的用户,给予的不同数据库操作的权限。
【触发器】
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)建立聚集索引。