航空机票预订与销售系统.docx

上传人:b****3 文档编号:3707698 上传时间:2022-11-24 格式:DOCX 页数:14 大小:168.37KB
下载 相关 举报
航空机票预订与销售系统.docx_第1页
第1页 / 共14页
航空机票预订与销售系统.docx_第2页
第2页 / 共14页
航空机票预订与销售系统.docx_第3页
第3页 / 共14页
航空机票预订与销售系统.docx_第4页
第4页 / 共14页
航空机票预订与销售系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

航空机票预订与销售系统.docx

《航空机票预订与销售系统.docx》由会员分享,可在线阅读,更多相关《航空机票预订与销售系统.docx(14页珍藏版)》请在冰豆网上搜索。

航空机票预订与销售系统.docx

航空机票预订与销售系统

航空机票预订及销售系统

组长:

罗阳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

email

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)建立聚集索引。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1