




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1引言21.1编写目的21.2项目背景21.3参考资料22 系统概述32.1现状描述32.1.1优点32.1.2缺点32.2系统开发方法42.3开发计划42.3.1目的42.3.2步骤52.4经济可行性52.5技术可行性62.6估算项目规模72.7业务流程图83系统分析103.1性能需求113.2功能需求123.3非功能需求143.4收集需求技术143.5用例分析(用例图)183.6数据分析193.6.1 数据库设计193.6.2 数据采集223.6.3 数据字典223.6.4 数据流图254. 系统设计264.1数据结构设计264.1.1 逻辑设计264.1.2 ER图284.1.3数据结构
2、与程序的关系284.2用户界面设计294.3 顺序图354.4 活动图365. 测试要点395.1 系统测试405.2 模块测试406出错处理设计427维护设计438. 总结 8.1收获体会(一人一份) 8.2小组总结 8.3待改进之处1引言1.1编写目的 车票代理窗口购买车票是最传统的方式。但随着人们工作生活节奏的加快和互联网的普及以及信息化时代的到来,提前到代理点购买车票就显得有些耗费时间了。于是,越来越多的人开始采用网络购票的方式。其中12306网络订票系统在铁路客运系统中扮演着越来越重要的角色,成为了越来越多人的订票方式。该系统的稳定运行也是人们能够方便出行的保障。 对12306系统的
3、分析和研究,有助于我们吸取其经验教训,总结成功经验。对网络订票系统进行优化,构建一个可靠的、稳定的网上购票系统,满足市场的需求,为广大人民群众提供一个方便可靠的订票平台。 为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档供项目经理、设计人员、开发人员参考。1.2项目背景软件名称:12306购票网站委托单位:中国铁路局开发单位:哈尔滨理工大学主管部门:软件学院用户:广大人民群众 本项目采用客户机-服务器原理,客户端的程序是建立在Windows 10系统上,以Microsoft Vusual C+为开发软件的应用程序,是采用SQL server为开发软件的数据库服务程序。
4、1.3参考资料参考资料:1 张海藩,软件工程导论(第四版)M.北京:清华大学出版社,2003 2 王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,2006 3 中国铁道部网站。4 闪四清, SQL Server 实用简明教程M.北京:清华大学出版社,20035 郑人杰,实用软件工程(第二版)M.北京:清华大学出版社,19972 系统概述2.1现状描述2.1.1优点1、建立售端票源数据库,将纸质火车票全部电子化数据化,相当于建立了电子车票仓库。2、实现全域共享,构建了分布式异地售票网络,在任一某地均可
5、实现购买全国各地的火车票,方便不少。3、售票全部实现了电脑化操作,出错率低。菜单式录入,售票、退票、查询很方便。4、提高用户购票的便捷性,不需要到火车站或者指定代售点购票,也避免了排队抢票的现象。5、旅客使用二代居民身份证在网站购票且不晚于列车开车前36小时的,可以选择车票快递服务,节省取票时间。6、自主选择式购票,可以选择火车类型、座位类型、时间、票价等。2.1.2缺点1、由于网页浏览人数过多,网络拥挤,经常提示“您的操作过于频繁”,用户体验差。2、选座位系统不完善,另外一个账号同时购买多张票时,很有可能座位不在一起,给出行带来不便。3、12306需要用身份证信息注册,但是存在同名并且身份证
6、相似或者信息泄露情况,部分用户身份信息被抢注,需要本人前往车站处理。各节假日车票紧张,导致抢票软件的猖獗,难以保证用户购票公正性。虽然购票需要实名认证,但是不法分子依然可以冒用他人信息进行刷票,哄抬票价,而真正需要的人买不到票。2.2系统开发方法本12306系统开发模型采用瀑布模型 瀑布模型是一个特别经典,甚至有点老套的周期模型,一般情况下将其分为计划、需求分析、概要设计、详细设计、编码以及单元测试、测试、运行维护等几个阶段。瀑布模型把软件开发过程划分成若干阶段,每个阶段的任务相对独立,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度。与我们小组合作开发的步骤不谋而合。本
7、12306系统开发模型采用的瀑布模型是因为软件需求在开发阶段已经被完全确定,并将生命周期的各项活动依顺序固定,强调开发的阶段性; 采用瀑布模型核心思想是将12306系统按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。利用瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。这就意味着开发流程简单,为项目提供了按阶段划分的检查点,当前一阶段完成后,只需要去关注后续阶段。同时采用瀑布模型也存在很多弊端:在项目各个阶
8、段之间极少有反馈,只有在项目生命周期的后期才能看到结果,通过过多的强制完成日期和里程碑来跟踪各个项目阶段。开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。2.3开发计划 2.3.1目的 1、杜绝无限账号注册、杜绝身份冒用1)12306注册时,强制预留电话号码,且进行验证,重复电话号码不予注册。2)取票时,取票机应该确认该身份证是否有12306账号,有且不是该身份证本人注册的假账号,直接注销。3)重复3次退订的先去取票机刷身份证,之后才让再次订票。且将此身份证列入黑名单,只准买单线票(例如为期10天)。2、完善选座系统,实现“同行者邻座”或
9、“老年人优先下铺”等期望。3、可以生成旅客行程流向信息,便于铁路运力调度,车次调整。4、解决公平分配票源问题,加大购票的门槛,采用复杂的验证码等手段,杜绝任何利用技术、时间和操作优势下的抢票,把票留给真正需要的人。5、提高技术,减少用户在线操作时间,不用盲抢、死拼、不停刷在线存在感,所有票务和车务、路务均可使用离线查询或从公示信息得知。解决系统经常不能访问、繁忙、崩溃的现象。 2.3.2步骤1、规划:根据项目背景、现状,定义产品的目标市场、商业目标等。2、软件工程过程模型:根据项目开发特点选择瀑布模型,使用c+语言开发。3、 项目测算:分析项目经济可行性和技术可行性,根据计划阶段法和功能点发估
10、算项目规模,并求得大致代码行数。根据cocomo模型估算所需人数和时间进度,完成工作计划创建。4、需求定义和收集:根据项目类别给出功能性和非功能性定义,本项目需求收集技术采用问卷法。5、需求分析和系统初步设计:选择合适需求分析技术,整理用例,绘制数据流图。系统设计:对项目进行数据结构设计,建立实体-关系图。简单进行代码设计,设计用户界面。6、测试与维护:对系统进行测试以及出错维护处理。2.4经济可行性基建投资SQL Server: 20 万Windows NT: 10 万操作员培训费:5 00万终端PC机2000台:8000
11、*20 = 1600 万网络设备:1000 万辅助配置:1000 万经常性支出系统维护人员支出:250元/(人天)X 10(人)=2500元/天机器磨损费用 :20000元/天机器(硬件)维护费用:100元/(人天)X 200=20000元/天经常性收益(按银行利率:1%);减少员工20人(1000元/人)五年收益: 1000*(1.1+(1.1)2+(1.1)3+(1.1)4+(1.1)5)*20*12*5=120万工作效率提高收益(工作效率提高30%): 30*(1.1+(1.1)2+(1.
12、1)3+(1.1)4+(1.1)5)*(30%)*5 = 45万经常性收益共计: 160万 不可定量收益因服务质量提高增加顾客量10%: 1000万*10%*(90%+(90%)2+(90%)3+(90%)4+(90%)5)=540万收益共计: 700万收益/投资比700/453.5=154.4% 投资回收周期3.2年 2.5技术可行性目前,公司的管理工作和服务工作存在盲目性、随意性、和无效消耗,不能保证营销部门的工作质量,影响商品的销售,给公司带来实际的和潜在的经济损失。虽然系统开发初期投资较大,但是,若开发成功
13、本系统,将有助于公司更好地预测市场,更好的开发客户及时调整经营销售策略,在激烈的市场竞争中把握主动。因此,从长远利益考虑,本项目若能开发成功,它所带来的效益将远高于系统投入。(1)风险分析根据客户对项目的要求及我们对以往的开发经验,该项目开发的主要风险是系统的可维护性。 为了提高该系统的可维护性,可以从两方面来解决这个问题。一是,采用面向对象的方法对该系统进行设计和实现,将系统可能产生的维护问题分散到系统分析、设计、实现等各个阶段,尽可能采用可复用构件的设计实现,从设计方法和设计理念上根本解决这个问题。虽然开发成本会提高一些,但今后如果需要更新升级,只需要更新相应的构件就可以了,这
14、样可以大大减少系统维护的成果。二是,吸收员工参与到项目的开发过程中来,使其了解该系统的体系结构和设计思想,在开发过程中培养自己的软件应用技术人员。当系统交付使用时,他们能够承担系统的日常维护和小的改进工作。(2)资源分析 该项目投入经费相对充裕,基本能够满足系统开发所必须的一些软件、硬件、工作环境的要求。开发该形态需要掌握浏览器技术等多项技术。多年的专业学习,在团队精神和敬业精神上都具备了有力的保证条件。(3)技术分析该项目的开发,要具有类似项目的经验。当前计算机技术的发展水平以及开发人员以及熟练掌握的各种开发先进技术,完全能够满足该系统开发的需要。该系统应该没有太多的难点,不过需
15、要开发过程中更多的努力和耐心。2.6估算项目规模项目规模进行估算是为了将项目的范围进行量化,项目规模的估算是整个软件估算中最核心、最基础的环节,也是整个估算的第一步。1、 项目工作量每日可以实现订票量200万张左右,注册人数超过1000万,日点击数过亿的操作2、 项目所需资源铁道部系统对接,票池对接3、 项目各阶段工作量前端设计占七成,后端设计占三成4、 项目成本预算需要花费2亿元,最后花费5亿元甘特图:2.7业务流程图总流程图:客运服务流程图货运服务:行李服务:成功预订之后:3系统分析3.1性能需求数据精确度 :1. 对列车的各种数据有精确的
16、记录,例如:各个列车的属性,如:列车的型号、车次号;各个列车的车厢数、床位数、座位数。2. 查询时应保证查全率,所有在相应域中包含查询车次的记录都应能查到,同时保证查准率。3. 对列车的每天需更新的数据有详细的记录,例如:每天列车的出发时间、进站时间、出站时间、到达时间等。4. 对列车的每时需更新的数据有详细的记录,例如:因为突发事件导致列车时间上的变更要及时地将数据进行更新。5. 对用户自身的数据需有精确的记录,特别是时间、金额、密码等重要敏感数据,依照铁道部的要求制定出相应的精度方面的要求。6. 本子系统位广大人民群众进行订票服务,应支持最大并发用户50000000个以上,每秒事务处理数应
17、大于100000笔以上 时间特性: 1. 程序响应时间:在人的感觉和视觉事物范围内;2. 在硬件和网络条件满足的前提下,所有日常性操作购票事务的平均响应时间小于1秒,最长响应时间小于2秒;3. 对于查询性事务的平均响应时间应小于1秒,最长响应时间应小于3秒4. 2信息交换时间:要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用时间适应性:1. 要求数据库局用很好的更新能力,由于本产品为成品软件,所以对磁盘和内存容量有很大要求,数据库应该能够对并发事件。2. 磁盘容量:由于要存贮大量的数据和信息,所以要求要有足够的磁盘容量。 3. 主存容
18、量:为了满足购票用户的的要求,系统必须要有高的运作速度,购票用户填写的数据输入到系统,系统必须能快速及时作出响应,迅速处理各项数据、信息,显示出所有必需信息并生成票务信息,所以要求很高的信息量速度和大的主存容量。4. 为了方便广大人民群众使用此订票软件,适应性要强,能够方便的使用在大部分人的不同类型手机及系统的电脑上。3.2功能需求主营业务需求: 此处包含了如下几个大块的基本需求。1、 客运服务需求:此需求是本系统的需求核心,是构建一个以用户为中心,围绕用户在铁路旅行方面的服务需求来进行展开的各项服务,其基础服务包含如下几块:1 出行接行服务: a. 用户注册:用户可以在电脑或手机等电子设备上
19、注册成为本站的会员,只有成为会员后才能进行涉及经济方面的操作,如:车票预订等。b. 车票预订:用户可以在成为会员之后根据自己的行程进行车票的购买或预订。c. 退票服务:如果会员发现自己的行程有变动,可以选择退票服务将已经购买或预订并且没有到发车时间的车票进行退票。d. 改签服务:如果会员发现自己的行程有变动,打算改天或者改车次但是始发地和目的地不改变的话可以选择改签服务。e. 变更到站服务:如果会员发现自己的行程有变动,始发地不动但是要换个站下车可以选择变更到站服务。f. 余票查询:用户可以对两个站点间的剩余票数进行查询,以方便自己行程的预订。余票张数为全部席别的总数,30分钟更新一次。g.
20、旅客列车时刻表查询:用户可以对于每个列车计划规定的发车、到达、停靠等时间进行查询。h. 旅客列车正晚点查询:用户可以对过去1小时和未来3小时内列车正晚点信息进行查询。i. 车票查询:用户可以选择出发日期、时期、出发点、目的地来进行查询选择自己想要的车票。j. 票价查询:用户可以对各个时间的、不同车次的票价进行查询、k. 中转查询:用户可以查询各个列车中转站点以及时间。l. 车次查询:用户可以查询各个车次。m. 起售时间查询:用户可以查询所需要的票的起售时间。n. 客票代售点:用户可以查询各个地点的客票代售点。 2 行李服务:a. 提供货物交运:用户可以提前选择自己想要进
21、行托运的物品进行托运,这里提供托运的时间、路线。b. 状态监控:用户可以在这里查看自己说托运的行李到了什么地方。c. 到站提取:已经到站的物品会在这里显示出来,用户可以进行查看。3 用户支付服务:a. 便捷支付:会员可以在这里对已经预订的票进行字符购买。本网站仅支持主流银行以及网银支付。b. 支付账单:会员可以在这里对还没有支付的账单进行支付以及对已经支付的账单进行查看。c. 退款:如果会员进行了退票服务的选择,则在这里可以进行退款服务的进行与查看。d. 支付投诉:如果会员在支付的金额方面有疑问可以在这里进行投诉,客服人员会在后台进行处理。2、 货运服务需求,此处系统需求的核心是构建一个以服务
22、于货运主的货运需求为核心的各项服务,其基础服务包含如下几块:1 货运服务:a. 运输业务办理:在这里可以对包含整车、散货、小件物品的运输业务进行办理。b. 理赔业务办理:如果运输途中产生了偏差可以进行赔偿业务的办理。2 货运信息服务:a. 货运路线:可以在这里查询货运路线以便进行选择。b. 车辆信息查询:可以查看车辆运输参数、运输能力、运价、保价、运输时刻信息、货物安全保障信息、运输方案等各种车辆运输信息服务,其目的是帮助货主寻求合适的运输方案,提供便捷的货运服务。3 支付服务: a. 企业支付服务:可以以企业为单位进行运输选择并支付,支持线上与线下支付服务。b. 个人支付服务:可以以个人为单
23、位进行运输选择并支付,支持线上与线下支付服务。c. 支付账单:会员可以在这里对还没有支付的账单进行支付以及对已经支付的账单进行查看。d. 支付投诉:如果会员在支付的金额方面有疑问可以在这里进行投诉,客服人员会在后台进行处理。三、后台管理需求,包含如下几部分:1 客运管理后台:提供各类客运相关的基础数据譬如列车班次信息、时刻表信息、票价信息、车票分配策略调控、列车运行时刻信息、各种起售时刻信息等;2 货运管理后台:提供各类货运相关的基础数据譬如列车的车辆运输参数、线路信息、运力、运能、时刻、运价等各类跟货运相关的信息;3 信息发布管理后台:提供跟铁路运输相关的各种法规、规程、信息集装、新闻、公告
24、信息等的录入、维护等。3.3非功能需求1、可用性需求:要求用户操作简便,人机界面简单明了,用户能一目了然的清楚需要做什么,该如何操作。对于常用的数据项等,设置自动提供,减少用户录入工作量。本系统应能让任何用户,都不必借助任何操作手册或相关的系统帮助就能顺利地进行各种操作,要求系统应该尽量使用用户熟悉的术语和中文信息界面,从而保证可用性。2、可靠性需求系统建成后,预计将有大量的用户在此查询车票信息,并进行大量的预订操作,因此对系统的稳定性也有较高的要求。要求在系统正常情况下长时间不间断进行,使系统所有功能满足设计需求,正常完成系统业务,对于用户输入的一些异常数据,能有判断的采取解决措施。3、安全
25、需求 网上订票系统中涉及的数据,是客运公司重要的信息,不同的用户具有不同的使用权限,具有最高权限的系统管理员可以对系统进行修改、注销数据库中信息,具有一般权限的使用者只能读取自己相关信息,不能浏览其他用户信息。系统还要提供方便的手段供系统维护人员进行数据备份、日产安全管理、以及系统意外崩溃时数据的恢复等工作。系统还要保持实时更新的状态,以便用户查询信息。设置验证码,防止机器刷票。3.4收集需求技术此系统采用问卷法来收集需求。因为问卷法可以节省时间,人力和经费。更重要的是调查结果容易量化,方便实施分析也方便数据发掘。问卷如下:关于火车购票系统(12306)需求问卷调查1.你的年龄是()A.未成年
26、B.18-22C.22-45D.45以上2.您的每月收入()A.没有收入能力B.五百以下C.500-2000D.2000以上3.您的职业是()A.学生B.教师C.医生D.军人E.个体户F.公务员G.公司及企业职工H.农民I.其他4.常用的出行手段()A.铁路B.航空C.长途巴士D.自驾车E.轮船5.是否使用过网上订票()A.用过B.没有6.对订票网站的使用结果满意么()A.很满意B.满意C.还凑合D.不怎么样7.是否期待更方便的购票方式()A.期待B.无所谓8.平时在什么网站下载火车购票软件()A.软件管家B.软件站C.软件官网D.搜索引擎9.对于火车票务系统的期待()A.图形界面B.高效C.
27、方便快捷D.安全性能10.常用购票方式()A.售票点B.电话订票C.网上购票D.委托购票11首次网上订票时,您对于注册这一步有什么想法?() A.很好,信息更全面 B.没感觉 C.太繁琐,费时间 D.其他 12.您在购票登陆时,遇到提示网站用户过多情况的频率?() A.经常 B.偶尔
28、60; C.从来没有 13.您对网上购票的顾虑是什么?(可多选)( ) A.网络安全问题(银行卡信息、个人信息等) B.取票需再排队,费时间 C.余票信息更新慢 D.退票返款速度慢,且退票次数有限 E.网页设计繁琐,买票过程复杂
29、160; F.付款时间段有限,系统反应慢 G.容易被犯罪分子利用进入“高仿网站”而陷入网络诈骗 H.随机派号,不能保证和友人坐在一起 I.其他 14.您对网络订票界面设计的满意度( )A.很满意B.满意C.还凑合D.不怎么样15.您对网络订票付款方式的满意度 ( )A.很满意B.满意C.还凑合D.不怎么样16.您对网络订票退票流程的满意度( )A.很满意B.满意C.还凑合D.不怎么样17.您认为网上订票和传统排队购票相比具有哪些优势?(可多选)( )A.缓解了火车站和代售点的售
30、票压力 B.方便了乘客买票,节省了乘客的购票时间 C.可以避免黄牛党倒票的现象 D.可以方便的看到相应车次的余票情况,有利调整出行时间 E.其他 18.您
31、对火车购票系统(12306)有什么意见:3.5用例分析(用例图)3.6数据分析3.6.1 数据库设计数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据
32、库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。1、关系模式用户信息(身份证号、用户名、密码、真实姓名、地址、邮箱、联系方式) 登录信息(用户名、密码)订单信息(身份证号、订单编号、列车车次、发车时间、支付方式、取票方式、购票日期、上车站、下车站、购票数量) 车票信息(列车车次、出发时间、到达时间、发车日期、始发站、终止站、停靠站、座位类型、车型、剩余票数、票价、订票时间) 查询(用户名、身份证号、车号、发车日期、发车时间) 改签(订单编号、手续费) 退票(订单编号、手续费)变更到站(订单编号、差价)2、表设计(1)用户信息表结构列名数据类型
33、是否为空身份证号int(20)主键密码char(10)NOT NULL真实姓名char(10)NOT NULL用户名char(10)NOT NULL地址char(10)NOT NULL邮箱char(10)NULL联系方式int(20)NOT NULL(2)登录信息表结构列名数据类型是否为空用户名char(10)主键密码char(10)NOT NULL(3)订单信息表结构列名数据类型是否为空身份证号int(20)主键订单编号char(10)NOT NULL列车车次char(10)NOT NULL发车时间char(10)NOT NULL支付方式char(10)NOT NULL取票方式char(10
34、)NOT NULL购票日期char(10)NOT NULL上车站char(10)NOT NULL下车站char(10)NOT NULL购票数量int(3)NOT NULL(4) 车票信息表结构列名数据类型是否为空列车车次char(10)主键出发时间char(10)NOT NULL到达时间char(10)NOT NULL发车日期char(10)NOT NULL始发站char(10)NOT NULL终止站char(10)NOT NULL停靠站char(10)NOT NULL座位类型char(10)NOT NULL车型char(10)NOT NULL剩余票数char(10)NOT NULL票价cha
35、r(10)NOT NULL订票时间char(10)NOT NULL(5)查询表结构列名数据类型是否为空用户名char(10)主键身份证号int(20)NOT NULL车号char(10)NOT NULL发车日期char(10)NOT NULL发车时间char(10)NOT NULL(6)改签表结构列名数据类型是否为空订单编号char(10)主键手续费char(10)NOT NULL(7)退票表结构列名数据类型是否为空订单编号char(10)主键手续费char(10)NOT NULL(8)变更到站表结构列名数据类型是否为空订单编号char(10)主键差价char(10)NOT NULL3.6.2
36、 数据采集数据采集采用键盘输入3.6.3 数据字典1、 数据项的定义:数据项又称数据元素,是数据的最小单位。在数据字典中,对数据的静态特征做了定义,具体包括:数据项的名称、编号、数据项的长度、数据项的取值范围。(1)数据项编号:C01 数据项名称:用户编号类型及长度:int1000取值范围:“1”“999”(2)数据项编号:C02 数据项名称:用户名 类型及长度:string20 (3)数据项编号:C03 数据项名称:密码 类型及长度:string6(4)数据项编号:C04 数据项名称:真实姓名 类型及长度:string10(5)数据项编号:C05 数据项名称:身份证号 类型及长度:int20
37、 (6)数据项编号:C06 数据项名称:地址 类型及长度:string50 (7)数据项编号:C07 数据项名称:邮箱 类型及长度:string30 (8)数据项编号:C08 数据项名称:联系方式 类型及长度:int20 (9)数据项编号:C9 数据项名称:手续费 类型及长度:int5(10)数据项编号:C10 数据项名称:列车车次 类型及长度:int5(11)数据项编号:C11 数据项名称:到达时间 类型及长度:时间型 (12)数据项编号:C12 数据项名称:出发时间 数据项类型:时间型 (13)数据项编号:C13 数据项名称:始发站 类型及长度:string20 (14)数据项编号:C14
38、 数据项名称:终止站 数据项类型:string20(15)数据项编号:C15 数据项名称:停靠站 数据项类型:string20(16)数据项编号:C16 数据项名称:座位类别 数据项类型:string4 (17)数据项编号:C17 数据项名称:车型 数据项类型:string10(18)数据项编号:C18 数据项名称:单价 数据项类型:double5(19)数据项编号:C19 数据项名称:订票时间 数据项类型:时间型 10(20)数据项编号:C20 数据项名称:订单编号 数据项类型:int20 (21)数据项编号:C21 数据项名称:支付方式 数据项类型:string10 (22)数据项编号:C
39、22 数据项名称:取票方式 数据项类型:string10 (23)数据项编号:C23 数据项名称:购票日期 数据项类型:日期型 (24)数据项编号:C24 数据项名称:上车站 数据项类型:string20 (25)数据项编号:C25 数据项名称:下车站 数据项类型:string20 (26)数据项编号:C26 数据项名称:购票数量 数据项类型:int3(27)数据项编号:C27 数据项名称:剩余票数 数据项类型:int10(28)数据项编号:C28 数据项名称:差价 类型及长度:int52、数据结构的定义:数据结构描述了某些数据项之间的关系。一个数据结构可以由若干个数据项组成,也可以由若干个数
40、据结构组成,还可以由若干个数据项和数据结构组成。数据字典中对数据结构的定义包括以下内容:数据结构的名称和编号、简述、数据结构的组成。 (1)数据结构编号:Z01 数据结构名称:注册信息简述:用户注册时填写的信息 数据结构组成:C02+C03+C04+C05+C06+C07+C08 (2)数据结构编号:Z02 数据结构名称:用户信息 简述:管理员审核系统用户注册的信息 数据结构组成:C01+C02+C03+C04+C05+C06+C07+C08 (3)数据结构编号:Z03 数据结构名称:登录信息 简述:用户登录系统的信息 数据结构组成:C02+C03 (4)数据结构编号:Z04 数据结构名称:车
41、票信息 简述:用户查询的车票信息 数据结构组成:C10+C11+C12+C13+C14+C15+C16+C17+C18+C19+C27 (5)数据结构编号:Z05 数据结构名称:订单信息 简述:预订车票的订单信息数据结构组成:C05+C09+C12+C20+C21+C22+C23+C24+C25+C263.6.4 数据流图4. 系统设计4.1数据结构设计4.1.1 逻辑设计1、关系模型登陆信息(用户名,密码)用户信息(身份证号,用户名,真实姓名,联系方式,邮箱,地址)订单信息(订单编号,身份证号,购票数量,列车车次,出发时间,购票时间,下车站,上车站)退票(订单编号,手续费)改签(订单编号,手
42、续费)变更到站(订单编号,差价)车票信息(列车车次,座位类型,剩余票数,票价,发车日期,出发时间,行车时间,到达时间,始发站,终止站)2、网状模型3、层次模型4.1.2 ER图4.1.3数据结构与程序的关系数据结构、算法与程序之间有着种种联系,在理清这三者之间所具有的关系的时候,必须要明确一点:与数据的逻辑结构相关的是算法的设计,与数据的存储结构相关的是算法的实现。当对某一个实际问题运用计算机来加以解决的时候,第一步要做的就是对实际问题进行建模,在得到了实际问题的抽象模型或数学模型之后才能够加以解决。因此从另一个角度来说,数据的逻辑结构就是抽象模型中的组成部分,计算机算法的设计者根据实际问题的
43、相关信息来设计出解决该问题的具体算法。可见,对实际问题抽象化的好坏会直接决定建立在此基础之上的算法质量,也就是说,抽象模型决定了算法,而抽象模型中又包括了数据的逻辑结构。 在得到算法以后,接下来所要做的就是让算法被计算机读懂并且让计算机能够根据算法中制定的步骤与流程来处理并解决目标问题。在此过程中,需要将抽象模型映射到计算机的存储器中,同时也要将算法即将处理的数据以及数据之间的关系映射到该存储器中4。在将象模型映射到计算机存储器之后,计算机能够很直观的感知到这个抽象模型,然后便要将算法转换成为一种能够驱动计算机执行程序的一系列指令。 从上述可以得到,在得到了相应的计算机编译程序之后,计算机也就
44、可以掌握并理解高级程序设计语言,但是必须要予以注意的是,计算机此时仍然无法理解伪代码或者自然语言。因此,接下来要做的就是让计算机根据设计阶段中所得到的抽象算法来求解问题。而解决这一问题的关键就在于计算机程序员,这是因为程序员是既懂高级程序设计语言又懂伪代码或自然语言的计算机领域工作者。而程序指的就是程序员可以通过某种高级程序设计语言实现抽象算法后所得到的产物。计算机在理解了程度之后便能够执行程序,从而也能够根据相应的算法来求解问题。4.2用户界面设计输入除最常用的注册订票功能外,此系统还具备客运营业站站点查询功能,客票代售点查询功能,票价查询界面功能,旅客列车正晚点查询功能,保险功能查询,托运
45、服务,铁路常识引导服务,客户信箱服务,其用户实现界面均如下图显示。1.网站总界面2用户注册界面3用户注册后登陆后界面 4用户找回账号界面 5用户登录界面 6多次登录密码错误提示界面7车票查询界面 8预订购票界面9添加乘客信息界面其他查询功能:1.客运营业站站点查询界面2.客票代售点查询3.票价查询界面4.旅客列车正晚点查询5.保险功能查询6.托运服务7.铁路常识服务 8.客户信箱服务总结界面缺点:1. 界面丑陋,UI粗糙。2. 服务器不稳定,容易瘫痪。3. 注册时间长,验证码奇葩。4. 不能在线选座5. 开发费用极高优点:1. 界面简洁明了,
46、功能明晰。2. 各功能跳转衔接流畅。3. 无界面广告。4. 基本功能均可流畅实现。对界面优化设计的建议:1. 注册步骤所填信息繁多,可以适当删除。2. 登陆方式极其老套,应使登陆功能多样化,可以使用各大实名认证网址账号同步登陆,如QQ,微信,微博登3. 取消23.00-7.00的界面维护时间,可以运用云计算等技术实现储存和备份,实现24小时界面订票服务。4.3 顺序图4.4 活动图记录订票这个用例的活动图:记录退票这个用例的活动图:记录货运这个用例的活动图:5. 测试要点5.1 系统测试字段名称描述标示符12306测试项12306网上订票系统功能测试测试环境要求1. 用户为有效登录用户,用户为
47、无效登录用户2. 浏览器的Cookie未被禁用输入标准1. 输入正确的用户名和密码,单击登录按钮。2. 输入错误的用户名和密码,单击登录按钮。3. 不输入用户名和密码,单击登录按钮。4. 输入正确的用户名并不输入密码,单击登录按钮。5. 输入带特殊字符的用户名(带/,#,)和密码,单击登录按钮。6. 三次输入无效的用户名和密码尝试登录。7. 第一次登录成功后,重新打开浏览器登录,输入上次成功登录的用户名的第一个字符。输出标准1. 数据库中存在的用户(正确的密码/错误的密码,正确的用户名/错误的用户名)将能正确登录。2. 错误的或无效的用户登录失败,并在页面的顶部显示红色的字体“错误”:用户名或
48、密码错误,;3. 用户名为空时页面顶部显示请输入用户名;4. 密码为空用户名不为空时页面顶部显示请输入密码;5. 含特殊字符的用户名。如数据库中又该记录将能正确显示,如果没有该用户记录,将不能登录,不能出现空白页面,或脚本错误;6. 几次无效登录后,再次登录会显示不能进行登录;7. 所有的密码均以“*”号代替;8. 正确登陆后会出现12306官网,上面有票面查询,线路查询,以及各个站点的查询;9. 当选择好线路后点击购买会显示付款页;10. 退票补票等都可以在相应位置看到;测试用例间的关联关系12306网上订票系统(有效的密码测试)5.2 模块测试总结网上订票系统常见的问题如下: 1
49、、 高峰时段无法登陆,提示在线用户过多2、 订单提交成功之后,支付环节出了问题,浏览器意外退出,后再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败3、 订单提交反馈时间过长,热门线路需要等待20分钟甚至更长时间,才能得到反馈4、 验证码输入总是错误,无法完成验证码验证环节,无法登陆5、 逢用户高峰,网站反应速度较慢6、 对多浏览器支持不好。 以上问题多数都是用户体验的问题,用户体验的问题即有票源稀少的原因,更多的是对订票系统使用过程中系统登陆困难,反应迟钝,订单结果反馈太慢,意外退出等问题难以忍受。 常见问
50、题原因分析:问题1,高峰时段无法登陆,提示在线用户过多;问题2,验证码输入总是错误,无法完成验证码验证环节,无法登陆无法登陆的问题,其原因显然是前端用于处理WEB连接服务器太少或网络带宽不足所至,为了不让更多的用户一起连接服务器导致服务器较慢,只好拒绝一些用户的登陆请求。使同时在线人数保持在一个上限以内。验证码输入总是错误的问题,原因也是用于处理WEB连接服务器太少所至,为了防止一些客户端使用“恶意”软件,不断自动登陆的情况,验证码需求由客户端向服务器提交一个验证请求,可以由于服务器响应实在太慢,以至于整个响应速度居然超过了验证码的有效时间。问题3,订单提交成功之后,支付环节出了问题,浏览器意外退出,后再登陆,发现登陆不上,无法在规定时间内完成支付,购票失败问题4,订单提交反馈时间过长,热门线路需要等待20分钟甚至更长时间,才能得到反馈问题5,逢用户高峰,网站反应速度较慢问题6,问题5,可能是由于WEB服务器与逻辑处理服务器在同一台机器上,而导致服务器CPU分配了过多的时间与资源在处理用户请求,在执行逻辑时执行缓慢。总结以上问题,其解决方案建议如下: 1、 准备更多前端WEB服务器,解决WEB前端的问题没有别的办法,只能加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东南大学《ERP沙盘模拟》2023-2024学年第二学期期末试卷
- 大连民族大学《材料科学与工程》2023-2024学年第二学期期末试卷
- 中华女子学院《公选生命急救常识》2023-2024学年第二学期期末试卷
- 北京协和医学院《健康风险评估技术与实训》2023-2024学年第二学期期末试卷
- 山东艺术学院《国际贸易基础》2023-2024学年第二学期期末试卷
- 湖北工业大学工程技术学院《智能装备控制技术》2023-2024学年第二学期期末试卷
- 潞安职业技术学院《数智财务分析与应用》2023-2024学年第二学期期末试卷
- 2024年数字电路的功能测试项目资金申请报告代可行性研究报告
- 热气球教学设计
- 2024年新型便携式温、湿、风向风速仪资金筹措计划书代可行性研究报告
- 北京市丰台区2025届高三二模语文试题(含答案)
- 2025年浙江省衢州市中考一模英语试题(原卷版+解析版)
- 2002版干部履历表(贵州省)
- DL∕T 1909-2018 -48V电力通信直流电源系统技术规范
- 中西文化鉴赏知到章节答案智慧树2023年郑州大学
- 公共场所重大活动卫生监督工作规范模板
- 耐高压PICC置管
- SG30A伺服说明书
- 国标无缝钢管规格表
- 《桩竖向极限承载力》PPT课件.ppt
- 焊接件质量目视检验规范
评论
0/150
提交评论