航空订票系统需求规格说明书.docx
《航空订票系统需求规格说明书.docx》由会员分享,可在线阅读,更多相关《航空订票系统需求规格说明书.docx(39页珍藏版)》请在冰点文库上搜索。
航空订票系统需求规格说明书
《TOLO航空订票系统》需求规格说明书
1.引言
编写目的
本需求说明书的目的是明确T-3GABS项目的业务背景、业务范围以及项目定义的专业词汇,通过分析项目的核心功能和系统需求。
为后续的系统设计以及开发人员和测试人员提供功能需求和非功能需求的详细定义,为测试人员提供测试用例设计的功能参考本文档的主要受众为:
需求分析人员,设计人员,开发人员,测试人员,运维人员和项目管理人员。
最终用户、项目投资方、以及其他项目干系人。
项目背景
1.2.1行业背景
2011年,中国的机票处理量高达亿张机票,总收入达到了576亿美元。
整个航空公司的订票系统也从最原始的电话订票逐渐过渡到网络订票例如各大门户网站的订票量一直在高速增加,随着科技的发展,随着智能手机的普及,手机订票系统越来越受到各大航空公司的青睐,手机订票系统以其方便的订票方式,快速的查询方式,简洁的支付方式和漂亮美观的界面设计等越来越收到各旅客的喜爱。
因此我们期望开发一套高效率的航空订票系统来满足旅客的需要。
1.2.2客户行业背景
TOLO航空公司是一家注册在中华人民共和国境内的民用航空公司,该公司遵循中华人民共和国的相关法律法规为客户提供航空运输的服务。
该公司的上级主管部门是中华人民共和国民用航空局(简称民航总局)。
TOLO航空公司每天运营约300个定期国内航班和55个定期国际航班(包括港澳台航班),并且在可预见的未来,将以每年约15%左右的速度增长。
TOLO航空公司在全国各主要城市拥有31家营业网点或分支机构【参考文档5:
《TOLO航空公司营业网点表》】,这些营业网点或分支机构都能为客户提供购买机票,退票和改签等服务。
TOLO航空公司作为一家上市公司,在2009财政年度创造了亿元人民币的营业收入和亿元人民币的营业利润。
2009年TOLO航空公司共执行128,879个航班,其中国际航班21,086个,国内航班107,793个。
2009年,TOLO航空公司可用座位公里为亿,同比增长%;实现旅客周转量亿收费客公里,同比增长%【参考文档1:
《TOLO航空公司2009年年度财务报告》】。
1.2.3项目业务背景
为了改进服务质量,提升服务品质,为智能手机用户提供实时在线的订票服务,TOLO航空公司决定开发一套3G应用门户系统,以适应日益增长的客户需求。
该系统使得用户能通过智能手机客户端完成航班查询,订票,订单管理,订单支付,网点查询,会员积分查询,动态航班查询,订阅消息等功能。
基于智能手机平台的差异不可避免,TOLO航空公司决定首先开发出Android版本的手机客户端,当Android客户端运行稳定,并收集到一定用户反馈后,TOLO航空公司还计划开发IPhone及WinPhone7等平台的手机客户端。
不同平台的手机客户端软件的需求都是一致的,所以,本文档并不会专门针对某种手机平台来描述。
在该项目开发之前,TOLO航空公司已有基于专线网络的T-ABCS营业柜员系统,和基于Internet的T-WABS(web营业系统),前者主要为TOLO航空公司内部的营业网点提供完整的营业服务(订票,退票,改签,打印发票,积分管理等),后者为普通互联网用户提供受限的服务(订票,支付,查询等)。
T-3GABS与以上两个项目共享同样的航班信息,与T-WABS共享同样的用户账户和订单信息。
定义
1.3.1名词解释和费用执行标准定义
可用座位公里:
飞行公里乘以可出售座位数量。
收费客公里:
飞行公里乘以收费旅客数量。
客座率:
以收费客公里除以可用座位公里所得的百分比。
航线(Airline):
描述两个机场间有直达航班的线路,航线包含的数据有:
出发地机场,目的地机场,里程。
航班计划(FlightScheduler):
用来描述TOLO航空公司执行的某个定期航班的计划表。
例如:
由TOLO航空公司执行的每天早上8:
00从北京起飞,上午10:
00到达上海的TL1202(TL:
TOLO航空12:
飞机机场停航的位置02是航空公司给的代码)就是一个航班计划。
根据中国民航相关管理部门的规定,TOLO航空公司可以在每一季度前一个月提交下一季度的航班计划申请,由民航管理部门核准后执行。
在一个季度的执行过程中,TOLO航空公司不得随意改变航班计划。
如有特殊情况需临时改变航班计划,可由TOLO航空公司提出申请,由民航管理部门审核通过后执行更改。
航班计划包含的信息:
航班号(唯一、两位字母和四位数字编号),起始日期,结束日期(以季度为单位),执行航线,离港时间,到港时间,飞机机型,班期(在一周之内,哪些飞机有航班、无航班),基准票价(钱,有严格的规定:
等于航班航线里程的公里数*单价)。
航班(Flight):
用来描述在某个确定日期执行某个定期航班计划的一次航班。
例如:
2009年12月25日从北京飞上海的TL1202就是一个航班的实例。
航班包含的信息:
执行的航班计划,出发日期,各舱剩余座位数,该航班当前开放舱位列表(同一个航班、同个舱位在不同的时间订票价钱不一样(每天都会根据座位剩余数而刷新折扣)、为了避免投诉:
头等舱(F)、公务舱(G)、经济舱(Y)—飞机舱位(三种物理布局不同),另外有业务舱位(把经济舱由划分为不同的区域、订票时并没有固定座位、而是换登机牌时才固定座位))
航班计划的起始日期(StartDate):
用来描述某个航班计划开始的日期,该日期精确到天。
航班计划的结束日期(EndDate):
用来描述某个航班计划结束的日期,该日期精确到天。
营业网点(Branch):
用来描述TOLO航空公司的某个分支机构,该机构能使用营业柜员系统为顾客提供查询航班订票和退票的服务。
营业网点通过若干台终端机器与航空公司的服务器相连。
(订票渠道:
网上、电话、手机客户端、直接到各个营业网点,一般只能查航班、订票、付账,营业网点就可以改签、退票等)
营业网点包含的信息:
网点编号,网点名称,地址,电话。
(没有)营业员(Sales):
用来描述在营业网点操作营业柜员系统的操作人员,每个营业员必须凭帐号和密码登录系统后才能为顾客提供服务。
营业员包含的信息:
营业员编号,营业员帐号,密码,所属营业网点编号。
航班号(FlightNumber):
由航空公司给航班计划定义的唯一标识号码,该号码由2位英文字符和3-5位数字组成,2位英文字符是航空公司编码,3-5位数字是航班编码,TOLO航空公司的编码为:
TL。
例如:
TL1202就是一个航班计划的航班号,其中TL代表TOLO航空公司,1202代表航班的编号。
出发地(FromCity):
用来描述某个航班计划的起飞城市和机场,所有国内机场均用三个英文字母的代码表示。
【参考文档3:
《国内民航通航机场表》】
目的地(ToCity):
用来描述某个航班计划的到达城市和机场,所有国内机场均用三个英文字母的代码表示。
【参考文档3:
《国内民航通航机场表》】
离港时间(DepartureTime):
用来描述某个航班计划的从出发地机场离开的时刻,离港时间一般代表飞机舱门关闭,不再接收乘客的时刻。
该时间精确到分钟。
到港时间(ArrivalTime):
用来描述某个航班计划到达目的地机场的时间,到港时间一般代表飞机舱门开启,允许乘客下飞机的时刻,该时间精确到分钟。
出发日期(DepartureDate):
用来描述某个航班的出发日期,该日期精确到某一天。
班期(Scheduler):
用来描述某个航班计划在一周之内哪些天有航班,哪些天没有航班。
飞机舱位(PlaneCabin):
是指在飞机上分隔的不同类型的座位布局,飞机舱位一般分为三种:
头等舱(F),公物舱(C),经济舱(Y)。
业务舱位(BusinessCabin):
航空公司定义的用来区分不同类型乘客和业务需求的舱位,一种业务舱位对应着一种飞机舱位,但一种飞机舱位可能包含多种业务舱位,不同的业务舱位具有不同的机票折扣和退改签规定【参考文档6:
《TOLO航空公司乘客舱位等级的定义》】。
开放舱位(OpeningCabin):
航空公司在某个时段为某个航班开放的可预订舱位的集合,航空公司会根据座位预订率以及市场策略随时调整航班的开放舱位。
乘客类型(Passengertype):
用来描述乘坐航班的乘客的类型,一般分为三种:
成人(A)(age>12),儿童(C)(2不同的乘客类型具有不同的机票折扣,详情请见乘客折扣。
在这三种乘客类型中,成人和儿童占用座位,而婴儿不占用座位,婴儿票不能单独出售,一张婴儿票必须凭一张成人票售出。
飞机(Airplane):
用来描述执行某个航班的飞机,一般来讲,一个航班计划的各次航班都应该采用同种机型的飞机来执行。
不同的飞机型号有不同的航程及座位数。
【参考文档4:
《TOLO航空公司运营飞机表》】
基准票价(BasedPrice):
是指某个航班在没有折扣时的一张经济舱成人票的价格,该价格作为该航班计划的基准价格。
按照民航总局的规定,基准票价=航班里程(公里)×,但各航空公司在公布基准票价时可以在该基础上上下浮动20%,基准票价一般对个位四舍五入,保留到整十位。
飞机舱位公布运价(PublishPrice):
航空公司为每种飞机舱位定义的机票公布价格,该公布运价作为该飞机舱位票价的基准。
TOLO航空公司规定头等舱的公布运价为基准票价×,公务舱的公布运价为基准票价×,经济舱的公布运价为基准票价×。
舱位折扣(ClassDiscount):
不同业务舱位在基准价格基础上的价格系数,该价格系数由TOLO航空公司定义【参考文档6:
《TOLO航空公司乘客舱位等级的定义》】。
乘客类型折扣(PassengerDiscount):
不同乘客类型在基准票价基础上的价格系数,成人为,儿童为,婴儿为。
机票订单(TicketOrder):
包含若干张同时提交的,多个乘客乘坐一次航班的订票记录。
机票(Ticket):
一位乘客乘坐某次航班的确定的出票记录
机票价格(TicketPrice):
一张机票的价格,机票价格由以下公式计算:
成人票价=基准价格×舱位折扣
儿童票价=舱位公布运价×
婴儿票价=舱位公布运价×
当儿童票价>同舱位成人票价时,儿童票价与同舱位成人票价相同。
燃油税:
国家统一征收的,由乘坐民航飞机的乘客负担的一种税收,计算办法:
800KM以内(含)的航程,每人税费为40元,800KM以上的航程每人税费为70元,儿童票减半收取,婴儿票免收燃油税。
燃油税的征收不区分乘客舱位。
该项税费捆绑在机票上由航空公司代收代缴。
燃油税的收取额度和征收办法取决于国家相关部门的政策,该政策可能随时调整。
【参考文档2:
《关于改变民航机场管理建设费征收方式的通知》】。
机场建设费:
国家统一收取的,由乘坐民航飞机的乘客负担的一种收费项目,用于支援民航机场的建设。
收取办法:
乘坐70座以下(含)的小飞机,每人每次收取10元;乘坐70座以上的大飞机,每人每次收取50元。
儿童和婴儿都不收取机场建设费。
机场建设费的征收不区分乘客舱位。
该项收费捆绑在机票上由航空公司代收代缴。
机场建设费的收取额度和征收办法取决于国家相关部门的政策,该政策可能随时调整【参考文档2:
《关于改变民航机场管理建设费征收方式的通知》】。
机票应收款:
一张机票的应收款=机票价格+燃油税+机场建设费。
1.3.2术语和缩略词对照表
序号
术语名称
术语说明
1
T-3GABS
TOLO航空3G应用门户系统(软件)
2
T-WABS
TOLO航空Web应用门户系统(软件)
3
T-ABCS
TOLO航空营业柜员系统(软件)
4
可用座位公里
飞行公里乘以可出售座位数量
5
收费客公里
飞行公里乘以收费旅客数量
6
客座率
以收费客公里除以可用座位公里所得的百分比
7
3G
第三代移动通信的简称,在本文档中,3G更多时候用来表示基于手持终端设备的开发平台。
8
专线网络
TOLO航空公司运行T-ABCS系统所基于的网络环境,该网络是由TOLO航空公司管理和维护的私有专用网络,与Internet隔离。
9
本系统
指代TOLO航空公司3G应用门户系统
参考资料
【1】《TOLO航空公司2009年年度财务报告》—TOLO航空股份有限公司董事会(2010年4月22日)
【2】《关于改变民航机场管理建设费征收方式的通知》—中国民用航空局(2004年6月21日)
【3】附录I:
《国内民航通航机场表》—中国民用航空局(2009年2月15日)
【4】附录II:
《TOLO航空公司运营飞机表》—TOLO航空公司机队
【5】附录III:
《TOLO航空公司营业网点表》—TOLO航空公司运维部
【6】附录IV:
《TOLO航空公司业务舱位定义》—TOLO航空公司运维部
【7】《TOLO航空公司2011年度航班计划(草案)》—TOLO航空公司运维部
2.任务概述
目标
完成一个完整的手机航空订票系统。
运行环境
(1)客户端
操作系统:
Windowsxp/2000server/2003server/2008server/7,Linux。
浏览器:
IE以上,以上,chrome6以上等主流浏览器。
(2)服务器端
操作系统:
Windowsxp/2000server/2003server/2008server/7,Linux。
浏览器:
IE以上,以上,chrome6以上等主流浏览器。
(3)数据库
操作系统:
Windows7
数据库系统:
MySQL
条件与限制
本系统有学生开发,经费和实验环境有所限制。
3.数据描述
功能操作(Actions)和角色(Actors)
3.1.1用例清单(24个)
用例名称
用例编号
用户登录
UC_001
用户登出
UC_002
用户注册
UC_003
查询航班
UC_004
预订机票
UC_005
查询订单
UC_006
删除订单
UC_007
支付订单
UC_008
添加乘机人
UC_009
删除乘机人
UC_010
修改乘机人信息
UC_011
添加联系人
UC_012
删除联系人
UC_013
修改联系人信息
UC_014
修改注册信息
UC_015
修改密码
UC_016
查询会员里程
UC_017
查询机型
UC_018
查询航线
UC_019
查询网点
UC_020
直接拨号
UC_021
查询订阅
UC_022
设置订阅
UC_023
软件帮助
UC_024
3.1.2角色清单
角色名称
角色描述
注册用户
成功注册的本系统的合法用户
未注册用户
未注册的本系统潜在用户
4.功能需求
功能划分
为了让读者更清晰的了解本系统的基本流程和大致的功能实现过程,我们将整个系统划分为多个子模块。
整个系统的功能抽象出来用图表示会比较直观。
据此,系统的总功能图如下:
各个分功能图如下:
图2软件帮助模块
图3信息查询模块
图4订单管理模块
图5订阅管理模块
图6预定机票模块
图7用户账户管理模块
功能描述
4.2.1功能划分
UC_001用户登陆:
注册用户在进入本系统开始操作前,需要先登录系统
UC_002用户退出:
注册用户退出本系统时,账户登出
UC_003注册用户:
未注册用户在使用本系统前,需要先注册个人信息
UC_004查询航班:
用户登录成功后根据需求查询想要预订的航班
UC_005预定机票:
用户选择某个航班,输入乘客信息,并生成订单。
UC_006查询订单:
用户查询历史预订的记录
UC_007删除订单:
用户删除某个未支付订单
UC_008支付订单:
用户成功预订航班后,执行支付操作。
UC_009添加乘机人:
用户给当前账户添加关联的乘机人
UC_010删除乘机人:
用户删除与当前账户关联的某个乘机人
UC_011修改乘机人信息:
用户修改与当前账户关联的乘机人信息
UC_012添加联系人:
用户修改本账户的注册信息
UC_013删除联系人:
用户修改本账户的注册信息
UC_014修改联系人信息:
用户修改本账户的注册信息
UC_015修改注册信息:
用户修改本账户的注册信息
UC_016修改密码:
注册用户修改本帐号的登录密码
UC_017查询会员里程:
用户查询与本账户关联的会员里程信息
UC_018查询机型:
用户查询航空公司的机型信息
UC_019查询航线:
用户查询航空公司的航线信息
UC_020查询网点:
用户查询航空公司的网点信息
UC_021直接拨号:
用户查询出某个营业网点后直接拨打该网点的电话
UC_022查询订阅:
用户设置订阅的短消息类型,设置订阅类型后,系统将定期发送指定类型的短消息给用户绑定的手机
UC_023设置订阅:
用户设置订阅的短消息类型,设置订阅类型后,系统将定期发送指定类型的短消息给用户绑定的手机
UC_024软件帮助:
用户查看本软件的帮助信息
4.2.2功能描述
表用户登陆
用例编号
UC_001
用例名称
用户登录
参与者
注册用户
用例场景说明
注册用户在进入本系统开始操作前,需要先登录系统
前置条件
无
后置条件
可以开始执行业务操作
基本事件流
1,进入“登录页面(P02)”
2,用户输入用户名和密码
3,点击“登录(K0201)”按钮
4,登录成功进入“主界面(P04)”
异常事件流
1,若用户名或密码为空,则弹出错误提示ERR_1000
2,若用户名和密码不正确,则弹出错误提示ERR_1004
3,若该用户已经登录,并且在会话有效期内,则弹出错误提示ERR_1001
非功能性需求
用户密码在保存和传输时采用MD5算法做摘要加密
假设
备注
表用户退出
用例编号
UC_002
用例名称
用户退出
参与者
注册用户
用例场景说明
注册用户退出本系统时,账户退出
前置条件
已成功登录
后置条件
退出系统
基本事件流
1,在任意页面,选择“退出”菜单
2,弹出“确认退出”对话框
3,在该对话框上选择“退出”按钮
4,客户端程序退出,会话关闭。
异常事件流
非功能性需求
假设
备注
表用户注册
用例编号
UC_003
用例名称
用户注册
参与者
未注册用户
用例场景说明
未注册用户在使用本系统前,需要先注册个人信息
前置条件
无
后置条件
可以执行登录操作
基本事件流
1,进入“注册页面(P03)”
2,输入个人账户信息
3,点击“注册(K0301)”按钮
4,注册成功弹出对话框提示,并进入“主界面(P04)”
异常事件流
1,若两次输入的密码不正确,则弹出错误提示:
ERR_1015
2,若当前用户的手机号已经注册过,则弹出错误提示:
ERR_1016
非功能性需求
用户密码在保存和传输时采用MD5算法做摘要加密
假设
备注
表查询航班
用例编号
UC_004
用例名称
查询航班
参与者
注册用户
用例场景说明
用户登录成功后根据需求查询想要预订的航班
前置条件
用户成功登录
后置条件
执行订票操作
基本事件流
1,进入“查询航班界面(P05)”
2,输入出发机场,目的机场,出发日期和舱位
3,点击“查询(K0501)”按钮
4,查询成功进入“航班查询结果页面(P06)”
异常事件流
1,若用户没有相应权限,则弹出错误提示:
ERR_1003
2,若用户登录会话失效,则弹出错误提示:
ERR_1002
非功能性需求
假设
备注
表预定机票
1.1.
用例编号
UC_005
用例名称
预定机票
参与者
注册用户
用例场景说明
用户选择某个航班,输入乘客信息,并生成订单。
前置条件
用户成功登录,并选定航班
后置条件
生成订单
基本事件流
1,在“航班查询结果页面(P06)”上选择某个航班
2,进入“选择乘机人页面(P07)”
3,选择一个或多个已保存的乘机人
4,点击“预订机票(K0702)”按钮
5,系统生成订单信息,并进入“订单详情(P10_a)”页面
6,点击“确认预订(K1001)”按钮,将订单提交。
7,若预订成功,系统自动跳转到“支付入口(P11)”页面
异常事件流
1,若乘客不在保存的乘机人列表中,则点击“添加其他乘机人(K0701)”按钮,进入“添加乘机人用例(UC_UM_008)”
2,若航班座位已满,则弹出错误提示:
ERR_1010
3,若航班舱位失效,则弹出错误提示:
ERR_1009
4,若用户没有相应权限,则弹出错误提示:
ERR_1003
5,若用户登录会话失效,则弹出错误提示:
ERR_1002
非功能性需求
假设
备注
表查询订单
1.2.
用例编号
UC_006
用例名称
查询订单
参与者
注册用户
用例场景说明
用户查询历史预订的记录
前置条件
用户成功登录
后置条件
无
基本事件流
1,在“主界面(P04)”中点击“订单管理(K0402)”按钮,进入“订单查询结果页(P12)”
异常事件流
1,若用户没有相应权限,则弹出错误提示:
ERR_1003
2,若用户登录会话失效,则弹出错误提示:
ERR_1002
非功能性需求
假设
备注
表删除订单
1.3.
用例编号
UC_007
用例名称
删除订单
参与者
注册用户
用例场景说明
用户删除某个未支付订单
前置条件
选择某个订单
后置条件
无
基本事件流
1,进入“订单查询结果页(P12)”
2,选择待删除订单,进入“订单详情页(P10_b)”
3,点击“删除订单(K1003)”按钮
4,订单成功删除后,回到“订单查询结果页(P12)”
异常事件流
1,若用户没有相应权限,则弹出错误提示:
ERR_1003
2,若用户登录会话失效,则弹出错误提示:
ERR_1002
非功能性需求
假设
备注
表支付订单
1.4.
用例编号
UC_008
用例名称
支付订单
参与者
注册用户
用例场景说明
用户成功预订航班后,执行支付操作。
前置条件
用户已经成功预订航班
后置条件
将机票信息,支付信息,营业记录等记录到数据库
基本事件流
1,进入“订单详情(P10_a或P10_b)”页面
2,点击“确认预订(K1001)”按钮或“支付订单(K1002)”按钮,进入“支付入口页面(P11)”
3,在“支付入口页面(P11)”选择支付方式,并点击“下一步(K1101)”按钮
4,支付成功,给出提示信息,回到“订单查询结果页面(P12)”
异常事件流
1,若用户没有相应权限,则弹出错误提示:
ERR_1003
2,若用户登录会话失效,则弹出错误提示:
ERR_1002
非功能性需求
假设
备注
表添加乘机人
1.5.
用例编号
UC_009
用例名称
添加乘机人
参与者
注册用户
用例场景说明
用户给当前账户添加关联的乘机人
前置条件
用户成功登录
后置条件
无
基本事件流
1,进入“添加乘机人页面(P08_a)”
2,输入乘机人信息
3,