1大连工业大学艺术与信息工程学院软件开发案例分析课程设计题目:火车网上售票系统专业:计算机科学与技术指导教师:王海文完成人姓名:班级学号:参与人姓名:班级学号:2012年3月23日2需求规格说明书1.引言《火车网上售票系统需求规格说明书》旨在详尽描述系统功能需求和一些非功能需求,明确系统边界。文章分为四个部分:概述部分描述了项目目的和范围,并对文档中使用的术语进行了说明;系统说明部分对系统进行了简要的描述;需求说明部分对系统从功能要求、安全性、性能等几方面进行了阐述;验收标准则描述了系统最终验收通过的准则。编写目的:《火车网上售票系统需求规格说明书》的目的是明确《火车网上售票系统》中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅。《火车网上售票系统需求规格说明书》的阅读对象为:1)对相关业务技术和总体方案作出决策和管理人员和质量管理人员;2)对本《需求规格说明书》进行评审和确认的有关业务和技术人员;33)参加概要设计和详细设计阶段工作的全体设计人员;4)《火车票网上售票系统》项目组;背景软件名称:《火车网上售票系统》用户:广大人民群众项目与系统、软件的关系:该系统所需数据要与其他系统数据兼容,系统采用B/S,服务器端采用MicrosoftServer2008为操作系统的工作站,采用MicrosoftServer2005为开发软件的数据库服务程序。2.任务概述2.1目标旨在开发一个统一的网上售票平台,利用信息化手段缓解火车站售票压力,满足广大人民群众的购票需求,使管理人员能够方便进行售票管理工作,包括修改、维护、统计等,使广大人民用户能够利用该系统进行信息的查询,网上购票,退票等。4系统的用例图如下图所示:2.2用户特点本系统的最终用户有两类:1)售票管理人员:对做各项售票管理熟悉,上网经验丰富,为本系统的主要面向用户,教务人员几乎每天都会体会到本教务系统;2)广大人民群众:能够较快地熟悉系统的用户,上网时会大量地5使用本系统进行信息查询和买票订票;3.功能需求本系统:两类人员的权限表如下所示:3.系统管理员4.更改查询管理调度维护5.客户6.查询购票订票退票数据库设计文档一、系统需求分析报告(数据流图、数据字典、功能分析)系统应该具有售票、查询、管理和维护等功能,系统管理员应该可以进行对车次的更改、票价的变动及调度功能等操作,票价的修改可以通过修改运价来进行,车次调度可以通过对发车时间表的修改来进行,维护功能即可对表进行修改。1.功能需求经过分析报告后确定系统应该具有以下功能:(1)、售票功能a)销售车票b)预订车票c)退票6(2)、查询功能a)车次查询b)时刻表查询c)售票情况查询(3)、调度功能a)运价修改b)车辆修改c)终点站修改d)车次修改(4)、维护功能a)车票表修改b)预定车票表修改c)退票表修改d)密码修改(5)、系统功能a)售票统计b)报表打印2.数据流图7应用结构化分析方法,确定系统的数据主要是运价、车次、终点站名、发车时间和车票,对数据的操作主要有运价修改、车次修改、终点站修改、发车时间修改。通过确定系统的处理逻辑和流程,得到如上所示的系统数据流图。3.数据字典经过分析可以得到一下数据条目:车次表=车辆+车型+座位数8终点站名表=站名+里程运价表=车型+运价+座位档次发车时刻表=车次+车辆编号+站名+发车时间+检票口已售车票表=票号+乘车日期+车次+站名+发车时间+票价+全半价+工号+退票否预订车票表=预订号+乘车日期+车次+站名+发车时间+车型+票价+客户名称+订票数量退票表=票号+退票时间+票价+应退款系统管理员=工号+姓名+账号+密码车辆编号=6{数字}6车次=4{字符}5车型=1{字符}8座位数=2{数字}2站名=1{字符}10里程=1{数字}5运价=1{数字}6发车时间={时间}乘车日期={日期}94.性能需求4.1精度要求票价报表中的票价一般保留至小数位后两位4.2时间特性要求◆响应时间:所有的查询操作响应时间一般不超过5秒,大型的报表如票价报表则应该在15秒内显示或者提示相关出错信息;◆更新处理时间:所有提交数据一般在3秒内响应;◆数据的转换和传送时间;5.输入输出格式要求参考附录和售票管理中的相关内容。6.数据管理能力要求系统数据库中车票记录数位几百万左右,增长速度每天两万左右条车次记录等。7.故障处理要求鉴于火车售票系统涉及的数据对于火车站日常管理的重要性,必须建立数据库严格有效的恢复机制:数据必须每天进行一次备份,由于本信息涉及信息量巨大,应以天为周期进行增量转储,一10般半个季度为周期进行删除。8.其他专门要求1)对系统各个模块功能,以分级菜单的形式给出;2)所有的提交,确认,删除等操作以按钮的形式给出,且名称一律取为“提交”、“确认”、“删除”等易于理解的形式;3)根据用户统计信息计算,统计在正常情况下应该支持一定人数的并行操作能力,春运高峰期间人们要集中买票和查询,应支持更多人数的并行操作能力;高峰期间服务器应支持几十万以上的日访问量。9.运行环境规定设备和开发工具规定7.指定工具8.编程工具:VisualStdio20059.数据库管理系统:SQLserver200510.开发环境11.操作系统:WindowsXP1112.CLP虚拟机13.测试环境14.操作系统:WindowsXP/Vista15.数据库管理系统:SQLserver2008通信接口规定系统管理人员主要在局域网环境下使用系统,广大人民群众则可能在外网进行访问系统,所以系统应支持局域网协议和广域网协议。10.附录车辆类型a)动车Db)空调快车Kc)空调特快T/Nd)直达快车Z12e)临时客车Lf)普通快车编号车座类型a)软卧b)硬卧c)软座d)硬座e)无座概要设计说明书详细设计说明书概述目的本文为教学案例项目SQLServer功能规范说明书。本说明书将:描述数据库设计的目的说明数据库设计中的主要组成部分说明数据库设计中涵盖的教学知识要点内容本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括13对象的名称、对象的属性、对象和其他对象的直接关系)。本文档中包含对以下数据库内容的描述:数据表视图存储过程用户自定义函数触发器约束在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。与其他项目的关联教学案例项目的数据库设计与教学项目(Web部分和Windows部分)功能密切相关。教学案例项目的数据库将按照教学项目程序部分的功能需求而设计,数据库设计将配合教学案例的程序部分,以实现一个功能完备的企业环境内的应用。提示可通过使用Web应用程序或Windows应用程序来测试数据库。数据库数据库名称数据库的名称一定要设为BlueHill,否则本案例设计的Web部分的应用程序和Windows部分的应用程序将无法使用该数据库。用户除了数据库中自动创建的dbo用户之外,还要创建如下两个用户:BlueHillWinUser:该用户是Windows应用程序访问数据库所使用的账号,它的权限一般仅限于查看视图和执行存储过程。BlueHillASPUser:该用户是Web应用程序访问数据库所使用的账号,它的权限和BlueHillWinUser用户类似,即仅限于查看视图和执行存储过程。14表表设计概述根据教学案例功能,数据库将以用户信息为中心存储相关数据,配合SQLServer数据库系统中提供的数据管理,实现对售票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。用户对系统的需求我们从以下几方面进行分析。数据库设计将以存储用户信息的用户表为基础,连接多张相关表实现对以下关系的支持:1.查询分为对车次信息的查询和客户对已订车票信息的查询。要求:1)对车次的查询,可以按照发车车次进行查询;2)车次信息包括:车号、出发地、目的地、发车日期、开出时刻、票价。3)座位类型设定。4)车次信息只允许用户查询,不能修改。3.售票通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上售票确定已预订选中的车票。要求:售票记录应包括:会员名、车号、发车日期、订购日期、订购票数、总价。4.退票可退票,通过查询系统,客户可以根据自己的名字找到自己的售票信息,通过退票模块退去已购车票。实体-联系图数据库系统主要的实体关系如下图:用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构15能充分满足各种信息的输出和输入。针对火车票售票系统,通过对网上售票工作的过程、内容以及数据流程分析,设计如下所示的数据项和数据结构:1.车次信息包括:车号、出发地、目的地、发车日期、开出时刻、剩余座位数、票价。3.售票记录包括:订单号、身份证号、车号、订购日期、订购票数、总价。4.用户信息包括:用户名、身份证号、性别、电话。E-R图如下图所示。车票务管理系统设计局部ER图nnn11m查询退票订票订单号用户身份证号车号订购日期总价发车日期订票信息用户用户名地址性别电话车次车次出发地目的地发车日期开出时刻坐位类型票价车厢数列车车种始发站里程终点站列车编号发时卧铺车厢到时车站经过所在省车站名城市名到达时刻开车时刻绝对里程16列车车票发站发时车票编号售票类售票站座位类票价到站到时售票售票员工作证密码姓名售票时间退票金额列车车票发站发时车票编号售票类售票站座位类票价到站到时退票售票员工作证密码姓名所在省车站名城市名车站售票员工作证密码姓名工作列车车票发站发时车票编号售票类售票站座位类票价到站到时订票售票员工作证密码姓名17描述进行视图集成的具体过程,最后得到总体概念结构ER图。逻辑结构设计4.1E-R图向关系模型的转换将图3.4总体概念结构E-R图转化成关系模型。退票信息(订单号,旅客姓名,电话号,身份证号)旅客(旅客姓名,身份证号,电话号,性别,工作单位)车次信息表(车次号,始发站,终点站,始发时间)取票通知单(旅客姓名,取票时间,车次号,座位号,车票类型)列车座位信息表(座位号,车次号,座位信息,车票类型)车厢数列车车种始发站里程终点站列车编号发时卧铺车厢到时车站经过所在省车站名城市名到达时刻开车时刻绝对里程售票员工作证密码姓名工作列车车票发站发时车票编号售票类售票站座位类票价到站到时售票订票退票售票时间退票金额184.2数据模型的优化将转化的关系模式进行优化,最终达到第三范式。1、确定数据依赖退票信息(订单号,旅客姓名,电话号,身份证号)根据这个关系写出数据依赖订单号→旅客姓名,订单号→电话号,订单号→身份证号旅客(旅客姓名,身份证号,电话号,性别,工作单位)旅客姓名→身份证号,旅客姓名→电话号,旅客姓名→性别,旅客姓名→工作单位车次信息表(车次号,始发地,目的地,始发时间)列车车次→始发站,列车车次→终点站,车次→始发时间取票通知单(旅客姓名,取票时间,车次号,座位号,机票类型)旅客姓名→取票时间,旅客姓名→车次号,旅客姓名→座位号,旅客姓名→车票类型火车座位信息表(座位号,车次号,座位信息,车票类型)(座位号,车次号)→座位信息,(座位号,车次号,座位信息)→车票类型2、对各关系模式间数据依赖进行极小化处理,消除冗余订单号→旅客姓名,订单号→电话号,订单号→身份证号,旅客姓名→性别旅客姓名→工作单位,旅客姓名→取票时间,旅客姓名→车次号旅客姓名→座位号,旅客姓名→车票类型,车次号→始发站,列车号→终点站车次号→始发时间,(座位号,车次号)→座位信息3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(订单号,电话号,身份证号)(订单号,旅客姓名)(旅客姓名,取票时间,性别,工作单位,车票类型)(旅客姓名,车次号)(旅客姓名,座位号)(车次号,座位号,车票类型)(车次号,始发站,终点站,始发时间)194.3火车票售票系统数据库中各个表格的设计4.3.1表