航空机票预订及销售系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

航空机票预订及销售系统课程设计报告组长:罗阳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/windows81.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)字段名数据类型描述相关约束usernamevarchar(16)用户名primarykeylen(username)=6andlen(username)=16passwordvarchar(16)密码notnulllen(password)=6andlen(password)=16unamevarchar(10)真实姓名idchar(18)身份证号uniquenotnulllen(password)=18emailvarchar(30)邮箱telvarchar(15)联系方式sexchar(2)性别check(sexin(‘男’,’女’))ageint年龄check(agebetween5and85)typesvarchar(10)用户类型check(typein(‘普通用户’,’管理员’))default‘普通用户’2.航班(flight)字段名数据类型描述相关约束fnovarchar(10)航班号primarykeyfstartvarchar(10)出发地点notnullfendvarchar(10)目的地notnullftstartdatetime起飞时间notnullftlastint飞行时间notnullcheck(ftlastbetween1and20)fdiscnumeric(4,3)折扣notnullcheck(fdiscbetween0and1)fpricenumeric(6,2)票价notnullcheck(fpricebetween0and5000)frestint余票数notnullckeck(frestbetween0and500)3.预定(book)字段名数据类型说明相关约束fnovarchar(10)航班号foreignkeyusernamevarchar(16)用户名foreignkeybnumint预订数量check(bnum0)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)建立聚集索引。

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功