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

上传人:b****3 文档编号:4875275 上传时间:2022-12-11 格式:DOCX 页数:37 大小:761.25KB
下载 相关 举报
软件项目详细设计文档1127.docx_第1页
第1页 / 共37页
软件项目详细设计文档1127.docx_第2页
第2页 / 共37页
软件项目详细设计文档1127.docx_第3页
第3页 / 共37页
软件项目详细设计文档1127.docx_第4页
第4页 / 共37页
软件项目详细设计文档1127.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

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

《软件项目详细设计文档1127.docx》由会员分享,可在线阅读,更多相关《软件项目详细设计文档1127.docx(37页珍藏版)》请在冰豆网上搜索。

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

软件项目详细设计文档1127

研发生产中心

文档编号

bsars_20121127

版本

1.0

密级

商密A

项目名称

蓝天航空公司机票预订系统

项目来源

蓝天航空公司

QR-RD-022(Ver1.2)

 

蓝天航空公司机票预订系统

详细设计说明书

 

(内部资料请勿外传)

编写:

黄志威

日期:

2012-11-26

检查:

张常玲

日期:

2012-11-26

审核:

陈芝砚邓志赟

日期:

2012-11-26

批准:

黄志威

日期:

2012-11-26

 

SCAUOO2012

版权所有不得复制

 

文档变更记录

序号

变更(+/-)说明

作者

版本号

日期

批准

1

初稿

张常玲

0.1

2012-11-24

黄志威

2

修改模块设计

陈芝砚

0.2

2012-11-25

黄志威

3

修改数据库设计

邓志赟

0.3

2012-11-26

黄志威

1.引言

1.1编写目的和范围

本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。

本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。

1.2术语表

序号

术语或缩略语

说明性定义

1

TBA

TicketBookingAgent,机票预订代理

2

CP

CommonPassenger,普通乘客

3

VIP

VeryimportantPerson,VIP乘客

4

ET

e-ticket,电子机票

5

PT

PaperTicket,纸质机票

1.3参考资料

资料名称

作者

文件编号、版本

资料存放地点

《BSARS可行性分析说明书》

黄志威

v1.2

DD-FR-01

《BSARS项目计划》

黄志威

v1.2

DD-FR-01

《BSARS需求分析说明书》

黄志威

v1.2

DD-FR-01

《BSARS词汇表说明书》

张常玲

v1.2

DD-FR-01

《BSARS角色表说明书》

张常玲

v1.2

DD-FR-01

《BSARS架构设计说明书》

黄志威

v1.2

DD-FR-01

《BSARS概要设计说明书》

陈芝砚

v1.2

DD-FR-01

《BSARS数据库设计说明书》

邓志赟

v1.2

DD-FR-01

1.4使用的文字处理和绘图工具

文字处理软件:

MicrosoftOffice2010

UML绘图工具:

RationalRose7

数据库绘图工具:

PowerDesigner15

2.全局数据结构说明

2.1常量

2.1.1城市

定义

说明

1

丹佛,int,1位

2

华盛顿特区,int,1位

3

洛杉矶,int,1位

4

纽约,int,1位

5

亚特兰大,int,1位

6

克利夫兰,int,1位

2.1.2座位等级

定义

说明

1

头等舱,int,1位

2

公务舱,int,1位

3

经济舱,int,1位

2.1.3座位状态

定义

说明

0

有人,int,1位

1

空座,int,1位

2.1.4乘客类型

定义

说明

0

普通乘客,int,1位

1

VIP乘客,int,1位

2.1.5预订方式

定义

说明

0

普通预订,int,1位

1

VIP预订,int,1位

2.1.6支付方式

定义

说明

0

普通支付,int,1位

1

VIP支付,int,1位

2.1.7机票类型

定义

说明

0

普通机票,int,1位

1

电子机票,int,1位

2.2变量

2.3数据结构

根据系统需求,定义以下数据结构。

2.3.1航班

定义

说明

id

id,Long

number

航班号,String

leaveCityId

出发城市id,Long

leaveTime

出发时间,Date

arriveCityId

到达城市id,Long

arriveTime

到达时间,Date

2.3.2机票

定义

说明

id

id,Long

number

机票号,String

flightId

航班id,Long

seatId

座位id,Long

price

机票价格,float

2.3.3乘客

定义

说明

id

id,Long,32位

name

姓名,String,32位

personaNumber

身份证号,String,32位

cellphone

手机号码,String,16位

email

电子邮箱,String,64位

address

联系地址,String,128位

account

银行账号,String,32位

isVIP

VIP检验位,int,1位,0为普通乘客,1为VIP

consumeCount

消费总额,float

mileageCount

飞行里数,float

2.3.4座位

定义

说明

id

id,Long,32位

planId

飞机id,Long,32位

number

座位号,String,8位

level

座位等级,int,1为头等舱,2为公务舱,3经济舱

2.3.5飞机

定义

说明

id

id,Long

name

名称,String

number

飞机号,String

2.3.6城市

定义

说明

id

id,Long

name

名字,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.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输出数据

系统返回查询结果,显示该价格范围的航班列表信息

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功能描述

预订代理通过选择座位等级,分别是头等舱座位、公务舱座位、经济舱座位,系统返回查询结果,显示该航班该等级的作为。

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号,录入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支付账户,并扣除费用。

如果普通支付,则输入乘客支付账户,并扣除费用。

确认支付后,系统封锁该座位。

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功能描述

预订代理根据乘客选定并已支付的航班,询问打印机票方式。

如果是电子机票,则根据乘客提供的电子邮箱或手机号码,发送机票号。

如果是普通机票,则根据乘客提供的联系地址,发送邮件。

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其他说明

无。

3.2.3乘客管理

乘客管理模块主要分为以下几个子模块:

记录乘客信息和VIP管理。

3.2.3.1录入乘客信息

3.2.3.2VIP管理

4.类设计

4.1总体架构设计

系统的总体架构设计采用分层模型,分为控制层、业务逻辑层、数据操作层和实体层。

对应的包分别是manager包、service包、dao包和entity包。

4.1.1控制层

控制层是系统提供给外界的功能接口,对于外部的请求,首先过滤并校验请求参数,然后才调用业务逻辑层接口,执行相应操作,对外部请求做出响应。

根据本系统的模块划分,在manager包下,查询航班模块的功能由FlightManager提供、票务管理模块的功能由TicketManager提供、乘客管理模块的功能由PassengerManager提供。

4.1.2业务逻辑层

业务逻辑层是为控制层提供完成系统功能的接口,主要处理一个业务的逻辑。

在service包下,FlightService向FlightManger提供接口,TicketService向TicketManager提供接口,PassengerService向PassengerManager提供接口。

4.1.3数据操作层

数据操作层向业务逻辑层提供接口,为处理一个业务提供数据,调用DBMS提供的接口,完成对数据的处理。

为了系统的扩展性,本层定义了数据操作的接口,和基于某种技术的具体实现。

在dao包下,定义FlightDao接口和FlightDaoImpl实现类,定义TicketDao接口和TicketDaoImpl实现类,定义PassengerDao接口和PassengerDaoImpl实现类,定义SeatDao接口和SeatDaoImpl实现类,定义PlaneDao接口和PlaneDaoImpl实现类,定义CityDao接口和CityDaoImpl实现类。

4.1.4实体层

实体层是系统各层实质操作的数据,根据系统需求,在entity包下,分为Flight、Ticket、Passenger、Seat、Plane和City。

4.2模块详细设计

根据系统需求,将系统划分为一下模块,flight模块,ticket模块和passenger模块。

4.2.1flight模块

4.2.1.1FlightManager

属性定义

说明

flightService

FlightService的实例对象,用于调用所提供的接口。

flight

Flight的实例对象,用于存放数据

方法定义

说明

showFlight()

查询所有有效的航班,public,无参数,返回List

findFlightByNumber()

根据航班号查询航班,public,参数为Long:

flightNumber,返回为Flight

findFlightByLevel()

根据座位等级查询航班,public,参数为Integer:

seatLevet,返回为Flight

findFlightByPrice()

根据往返价格号查询航班,public,参数为Float:

price,返回为Flight

findFlightByTime()

根据出发/到达日期时间查询航班,public,参数为Date:

leaveTime、Date:

arriveTime,返回为Flight

4.2.1.2FlightService

属性定义

说明

flightDao

FlightDao的实例对象,用于调用所提供的接口。

flight

Flight的实例对象,用于存放数据

方法定义

说明

showFlight()

查询所有有效的航班,private,无参数,返回List

findFlightByNumber()

根据航班号查询航班,private,参数为Long:

flightNumber,返回为Flight

findFlightByLevel()

根据座位等级查询航班,privat,参数为Integer:

seatLevet,返回为Flight

findFlightByPrice()

根据往返价格号查询航班,privat,参数为Float:

price,返回为Flight

findFlightByTime()

根据出发/到达日期时间查询航班,privat,参数为Date:

leaveTime、Date:

arriveTime,返回为Flight

4.2.1.3FlightDao

属性定义

说明

flightDaoImpl

FlightDaoImpl的实例对象,用于调用所提供的接口。

flight

Flight的实例对象,用于存放数据

方法定义

说明

show()

查询所有有效的航班,无参数,返回List

find()

查找一条航班记录,参数为Long:

flightNumber,返回为Flight

get()

取得一条航班记录,无参数为,返回为Flight

add()

增加一条航班记录,参数为Flight:

flight,返回为boolean

update()

更新一条航班记录,参数为Flight:

flight,返回为boolean

remove()

删除一条航班记录,参数为Flight:

flight,返回为boolean

4.2.1.4FlightDaoImpl

方法定义

说明

show()

查询所有有效的航班,无参数,返回List

find()

查找一条航班记录,参数为Long:

flightNumber,返回为Flight

get()

取得一条航班记录,无参数为,返回为Flight

add()

增加一条航班记录,参数为Flight:

flight,返回为boolean

update()

更新一条航班记录,参数为Flight:

flight,返回为boolean

remove()

删除一条航班记录,参数为Flight:

flight,返回为boolean

4.2.1.5Flight

属性定义详情参考章节2.3.1航班

方法定义

说明

getter()

定义属性只读方法

Setter()

定义属性只写方法

4.2.2ticke模块

4.2.2.1TicketManger

属性定义

说明

ticketService

TicketService的实例对象,用于调用所提供的接口。

ticket

Ticket的实例对象,用于存放数据

方法定义

说明

showTicket()

查询所有有效的机票,public,无参数,返回List

bookTicket()

预订机票,public,参数为Ticket:

ticket,返回为Ticket

payTicket()

支付机票,public,参数为Ticket:

ticket,返回为Ticket

printTicket()

打印机票,public,参数为Ticket:

ticket,返回为Ticket

cancleTicket()

取消机票,public,参数为Ticket:

ticket,返回为Ticket

4.2.2.2TicketService

属性定义

说明

ticketDao

TicketDao的实例对象,用于调用所提供的接口。

ticket

Ticket的实例对象,用于存放数据

seatDao

SeatDao的实例对象,用于调用所提供的接口。

seat

Seat的实例对象,用于存放数据

planeDao

PlaneDao的实例对象,用于调用所提供的接口。

plane

Plane的实例对象,用于存放数据

方法定义

说明

showTicket()

查询所有有效的机票,private,无参数,返回List

bookTicket()

预订机票,private,参数为Ticket:

ticket,返回为Ticket

payTicket()

支付机票,private,参数为Ticket:

ticket,返回为Ticket

printTicket()

打印机票,private,参数为Ticket:

ticket,返回为Ticket

cancleTicket()

取消机票,private,参数为Ticket:

ticket,返回为Ticket

4.2.2.3TicketDao

属性定义

说明

ticketDaoImpl

TicketDaoImpl的实例对象,用于调用所提供的接口。

ticket

Ticket的实例对象,用于存放数据

方法定义

说明

show()

查询所有有效的机票,无参数,返回List

find()

查找一条机票记录,参数为String:

ticketNumber,返回为Ticket

get()

取得一条机票记录,无参数为,返回为Ticket

add()

增加一条机票记录,参数为Ticket:

ticket,返回为boolean

update()

更新一条机票记录,参数为Ticket:

ticket,返回为boolean

remove()

删除一条机票记录,参数为Ticket:

ticket,返回为boolean

4.2.2.4SeatDao

属性定义

说明

seatDaoImpl

SeatDaoImpl的实例对象,用于调用所提供的接口。

seat

Seat的实例对象,用于存放数据

方法定义

说明

show()

查询所有有效的座位,无参数,返回List

find()

查找一条座位记录,参数为String:

flightNumber,返回为Flight

get()

取得一条座位记录,无参数为,返回为Seat

add()

增加一条座位记录,参数为Seat:

seat,返回为boolean

update()

更新一条座位记录,参数为Seat:

seat,返回为boolean

remove()

删除一条座位记录,参数为Seat:

seat,返回为boolean

4.2.2.5PlaneDao

属性定义

说明

planeDaoImpl

PlaneDaoImpl的实例对象,用于调用所提供的接口。

plane

Plane的实例对象,用于存放数据

方法定义

说明

show()

查询所有有效的飞机,无参数,返回List

find()

查找一条飞机记录,参数为Long:

flightNumber,返回为Flight

get()

取得一条飞机记录,无参数为,返回为Plane

add()

增加一条飞机记录,参数为Plane:

plane,返回为boolean

update()

更新一条飞机记录,参数为Plane:

plane,返回为boolean

remove()

删除一条飞机记录,参数为Plane:

plane,返回为boolean

4.2.2.6TicketDaoImpl

方法定义

说明

show()

查询所有有效的机票,无参数,返回List

find()

查找一条机票记录,参数为String:

ticketNumber,返回为Ticket

get()

取得一条机票记录,无参数为,返回为Ticket

add()

增加一条机票记录,参数为Ticket:

ticket,返回为boolean

update()

更新一条机票记录,参数为Ticket:

ticket,返回为boolean

remove()

删除一条机票记录,参数为Ticket:

ticket,返回为boolean

4.2.2.7SeatDaoImpl

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

当前位置:首页 > 法律文书 > 调解书

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

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