ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:761.25KB ,
资源ID:17827875      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17827875.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件项目详细设计文档1127Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件项目详细设计文档1127Word文档格式.docx

1、2012-11-253修改数据库设计邓志赟0.31. 引言1.1 编写目的和范围本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。1.2 术语表术语或缩略语说明性定义TBATicket Booking Agent,机票预订代理CPCommon Passenger,普通乘客VIPVery important Person,VIP乘客4ETe-ticket,电子机票5PTPaper Ticket,纸质机票1.3 参考资料资料名称文件编号、版本资料存

2、放地点BSARS可行性分析说明书v1.2DD-FR-01BSARS项目计划BSARS需求分析说明书BSARS词汇表说明书BSARS角色表说明书BSARS架构设计说明书BSARS概要设计说明书BSARS数据库设计说明书1.4 使用的文字处理和绘图工具文字处理软件:Microsoft Office 2010UML绘图工具:Rational Rose 7数据库绘图工具:PowerDesigner 152. 全局数据结构说明2.1 常量2.1.1 城市定义说明丹佛,int,1位华盛顿特区,int,1位洛杉矶,int,1位纽约,int,1位亚特兰大,int,1位6克利夫兰,int,1位2.1.2 座位等

3、级头等舱,int,1位公务舱,int,1位经济舱,int,1位2.1.3 座位状态有人,int,1位空座,int,1位2.1.4 乘客类型普通乘客,int,1位VIP乘客,int,1位2.1.5 预订方式普通预订,int,1位VIP预订,int,1位2.1.6 支付方式普通支付,int,1位VIP支付,int,1位2.1.7 机票类型普通机票,int,1位电子机票,int,1位2.2 变量无2.3 数据结构根据系统需求,定义以下数据结构。2.3.1 航班idid,Longnumber航班号,StringleaveCityId出发城市id,LongleaveTime出发时间,Datearrive

4、CityId到达城市id,LongarriveTime到达时间,Date2.3.2 机票id,Long 机票号,StringflightId航班id,Long seatId座位id,Longprice机票价格,float2.3.3 乘客id,Long,32位name姓名,String,32位personaNumber身份证号,String,32位cellphone手机号码,String,16位email电子邮箱,String,64位address联系地址,String,128位account银行账号,String,32位isVIPVIP检验位,int,1位, 0为普通乘客,1为VIPconsu

5、meCount消费总额,floatmileageCount飞行里数,float2.3.4 座位planId飞机id,Long,32位座位号,String,8位level座位等级,int, 1为头等舱,2为公务舱,3经济舱2.3.5 飞机名称,String飞机号,String 2.3.6 城市名字,String 3. 模块设计3.1 用例图3.1.1 系统用例3.1.2 查询航班用例3.1.3 票务管理用例3.1.4 乘客管理用例3.2 功能设计说明3.2.1 查询航班航班查询模块主要分为以下几个子模块:查询航班号、查询往返价格、查询出发/到达日期时间和查询座位等级。3.2.1.1 查询航班号3

6、.2.1.1.1 功能描述预订代理通过输入航班号查询航班,系统返回查询结果,显示对应航班信息。3.2.1.1.2 输入数据根据键盘输入航班号,查询DBMS的Flight表,检验航班号正确性。3.2.1.1.3 输出数据系统返回查询结果,显示一个航班信息。3.2.1.1.4 业务算法和流程3.2.1.1.5 限制条件无。3.2.1.1.6 其他说明3.2.1.2 查询往返价格3.2.1.2.1 功能描述预订代理通过选择航班价格范围,系统返回查询结果,显示对应价格的航班信息。3.2.1.2.2 输入数据根据键盘选择的机票价格范围,校验机票范围参数的正确性。3.2.1.2.3 输出数据系统返回查询结

7、果,显示该价格范围的航班列表信息3.2.1.2.4 业务算法和流程3.2.1.2.5 限制条件3.2.1.2.6 其他说明3.2.1.3 查询出发/到达日期时间3.2.1.3.1 功能描述预订代理通过输入出发日期时间、到达日期时间,系统返回查询结果,显示对应时间的航班信息。3.2.1.3.2 输入数据根据键盘输入出发日期时间、出发日期时间,校验日期时间的正确性。3.2.1.3.3 输出数据系统返回查询结果,显示航班列表信息。3.2.1.3.4 业务算法和流程3.2.1.3.5 限制条件3.2.1.3.6 其他说明3.2.1.4 查询座位等级3.2.1.4.1 功能描述预订代理通过选择座位等级,

8、分别是头等舱座位、公务舱座位、经济舱座位,系统返回查询结果,显示该航班该等级的作为。3.2.1.4.2 输入数据根据键盘选择的座位等级,查询DBMS中的Seat表,校验座位等级参数的正确性。3.2.1.4.3 输出数据系统返回查询结果,显示该航班该等级座位列表信息。3.2.1.4.4 业务算法和流程3.2.1.4.5 限制条件查询并选定航班。3.2.1.4.6 其他说明3.2.2 票务管理模块票务管理模块主要分为以下几个子模块:预订机票、支付机票、打印机票和取消机票。3.2.2.1 预订机票模块3.2.2.1.1 功能描述预订代理根据乘客选定的航班,询问预订方式。如果是VIP预订,则输入VIP

9、号,录入VIP乘客信息。如果是普通预订,则直接录入乘客信息。接着系统分配座位,并预留24小时,等待乘客支付机票。3.2.2.1.2 输入数据(1)如果是VIP预订,键盘输入VIP号,校验VIP号正确性。(2)如果是普通预订,键盘输入乘客信息。3.2.2.1.3 输出数据系统返回操作结果,显示被预订的机票信息。3.2.2.1.4 业务算法和流程3.2.2.1.5 限制条件3.2.2.1.6 其他说明3.2.2.2 支付机票3.2.2.2.1 功能描述预订代理根据乘客选定的航班,询问支付方式。如果是VIP支付,则输入VIP号,扣除飞行里数,接着输入VIP支付账户,并扣除费用。如果普通支付,则输入乘

10、客支付账户,并扣除费用。确认支付后,系统封锁该座位。3.2.2.2.2 输入数据(1)如果是VIP支付,键盘输入VIP号,校验VIP号正确性。(2)如果是普通支付,键盘输入乘客支付账号。3.2.2.2.3 输出数据系统返回操作结果,显示已支付的机票信息。3.2.2.2.4 业务算法和流程3.2.2.2.5 限制条件机票被预订,并未超过24小时的保留时间。3.2.2.2.6 其他说明3.2.2.3 打印机票3.2.2.3.1 功能描述预订代理根据乘客选定并已支付的航班,询问打印机票方式。如果是电子机票,则根据乘客提供的电子邮箱或手机号码,发送机票号。如果是普通机票,则根据乘客提供的联系地址,发送

11、邮件。3.2.2.3.2 输入数据键盘输入机票号,校验机票号正确性。3.2.2.3.3 输出数据系统返回操作结果,显示已打印的机票信息。3.2.2.3.4 业务算法和流程3.2.2.3.5 限制条件机票已支付。3.2.2.3.6 其他说明3.2.2.4 取消机票3.2.2.4.1 功能描述预订代理根据乘客提供的机票号,查询出该机票,解封该座位,并返回支付金额和飞行恢复飞信里数,最后删除该机票。3.2.2.4.2 输入数据3.2.2.4.3 输出数据系统返回操作结果,显示已取消的机票信息。3.2.2.4.4 业务算法和流程3.2.2.4.5 限制条件机票已预订,或机票已支付。3.2.2.4.6

12、其他说明3.2.3 乘客管理乘客管理模块主要分为以下几个子模块:记录乘客信息和VIP管理。3.2.3.1 录入乘客信息3.2.3.2 VIP管理4. 类设计4.1 总体架构设计系统的总体架构设计采用分层模型,分为控制层、业务逻辑层、数据操作层和实体层。对应的包分别是manager包、service包、dao包和entity包。4.1.1 控制层控制层是系统提供给外界的功能接口,对于外部的请求,首先过滤并校验请求参数,然后才调用业务逻辑层接口,执行相应操作,对外部请求做出响应。根据本系统的模块划分,在manager包下,查询航班模块的功能由FlightManager提供、票务管理模块的功能由Ti

13、cketManager提供、乘客管理模块的功能由PassengerManager提供。4.1.2 业务逻辑层业务逻辑层是为控制层提供完成系统功能的接口,主要处理一个业务的逻辑。在service包下,FlightService向FlightManger提供接口,TicketService向TicketManager提供接口,PassengerService向PassengerManager提供接口。4.1.3 数据操作层数据操作层向业务逻辑层提供接口,为处理一个业务提供数据,调用DBMS提供的接口,完成对数据的处理。为了系统的扩展性,本层定义了数据操作的接口,和基于某种技术的具体实现。在dao包

14、下,定义FlightDao接口和FlightDaoImpl实现类,定义TicketDao接口和TicketDaoImpl实现类,定义PassengerDao接口和PassengerDaoImpl实现类,定义SeatDao接口和SeatDaoImpl实现类,定义PlaneDao接口和PlaneDaoImpl实现类,定义CityDao接口和CityDaoImpl实现类。4.1.4 实体层实体层是系统各层实质操作的数据,根据系统需求,在entity包下,分为Flight、Ticket、Passenger、Seat、Plane和City。4.2 模块详细设计根据系统需求,将系统划分为一下模块,flig

15、ht模块,ticket模块和passenger模块。4.2.1 flight模块4.2.1.1 FlightManager属性定义flightServiceFlightService的实例对象,用于调用所提供的接口。flightFlight的实例对象,用于存放数据方法定义showFlight()查询所有有效的航班,public,无参数,返回ListfindFlightByNumber()根据航班号查询航班,public,参数为Long:flightNumber,返回为FlightfindFlightByLevel()根据座位等级查询航班,public,参数为Integer:seatLevet,

16、返回为FlightfindFlightByPrice()根据往返价格号查询航班,public,参数为Float:price,返回为FlightfindFlightByTime()根据出发/到达日期时间查询航班,public,参数为Date:leaveTime、Date:arriveTime,返回为Flight4.2.1.2 FlightServiceflightDaoFlightDao的实例对象,用于调用所提供的接口。查询所有有效的航班,private,无参数,返回List根据航班号查询航班,private,参数为Long:根据座位等级查询航班,privat,参数为Integer:根据往返价格

17、号查询航班,privat,参数为Float:根据出发/到达日期时间查询航班,privat,参数为Date:4.2.1.3 FlightDaoflightDaoImplFlightDaoImpl的实例对象,用于调用所提供的接口。show ()查询所有有效的航班,无参数,返回Listfind ()查找一条航班记录,参数为Long:get ()取得一条航班记录,无参数为,返回为Flightadd ()增加一条航班记录,参数为Flight:flight,返回为booleanupdate ()更新一条航班记录,参数为Flight:remove()删除一条航班记录,参数为Flight:4.2.1.4 Fl

18、ightDaoImpl4.2.1.5 Flight属性定义详情参考章节2.3.1航班getter ()定义属性只读方法Setter()定义属性只写方法4.2.2 ticke模块4.2.2.1 TicketMangerticketServiceTicketService的实例对象,用于调用所提供的接口。ticketTicket的实例对象,用于存放数据showTicket()查询所有有效的机票,public,无参数,返回ListbookTicket()预订机票,public,参数为Ticket:ticket,返回为TicketpayTicket()支付机票,public,参数为Ticket:pri

19、ntTicket()打印机票,public,参数为Ticket:cancleTicket()取消机票,public,参数为Ticket:4.2.2.2 TicketServiceticketDaoTicketDao的实例对象,用于调用所提供的接口。seatDaoSeatDao的实例对象,用于调用所提供的接口。seatSeat的实例对象,用于存放数据planeDaoPlaneDao的实例对象,用于调用所提供的接口。planePlane的实例对象,用于存放数据查询所有有效的机票,private,无参数,返回List预订机票,private,参数为Ticket:支付机票,private,参数为Tic

20、ket:打印机票,private,参数为Ticket:取消机票,private,参数为Ticket:4.2.2.3 TicketDaoticketDaoImplTicketDaoImpl的实例对象,用于调用所提供的接口。查询所有有效的机票,无参数,返回List查找一条机票记录,参数为String:ticketNumber,返回为Ticket取得一条机票记录,无参数为,返回为Ticket增加一条机票记录,参数为Ticket:ticket,返回为boolean更新一条机票记录,参数为Ticket:删除一条机票记录,参数为Ticket:4.2.2.4 SeatDaoseatDaoImplSeatDa

21、oImpl的实例对象,用于调用所提供的接口。查询所有有效的座位,无参数,返回List查找一条座位记录,参数为String:取得一条座位记录,无参数为,返回为Seat增加一条座位记录,参数为Seat:seat,返回为boolean更新一条座位记录,参数为Seat:删除一条座位记录,参数为Seat:4.2.2.5 PlaneDaoplaneDaoImplPlaneDaoImpl的实例对象,用于调用所提供的接口。查询所有有效的飞机,无参数,返回List查找一条飞机记录,参数为Long:取得一条飞机记录,无参数为,返回为Plane增加一条飞机记录,参数为Plane:plane,返回为boolean更新一条飞机记录,参数为Plane:删除一条飞机记录,参数为Plane:4.2.2.6 TicketDaoImpl4.2.2.7 SeatDaoImpl

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

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