汽车售票管理系统(信息系统分析与设计)前言随着科学技术的发展和计算机应用的普及,信息时代已经来临。
在21世纪,计算机在社会和经济领域中的作用日益显著。
为适应时代发展的需要,各行各业正在由传统的手工工作方式向现代化的计算机工作方式过渡。
而随着信息化进程的深入,以现代信息技术为基础的、各种类型的信息系统正在社会上普遍建立起来。
在汽车运输行业,随着社会人口流动的增加,增多。
传统手工的车站售票管理,管理过程繁琐而复杂,执行效率低,并且易于出错。
通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了车站售票管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。
故而实现现代化以计算机技术为依托的汽车售票管理信息系统成为必然。
第一章系统概述1、1现状描述目前,而随着信息化进程的深入,以现代信息技术为基础的、各种类型的信息系统正在社会上普遍建立起来。
在汽车运输行业,随着社会人口流动的增加,增多。
传统手工的车站售票管理,管理过程繁琐而复杂,执行效率低,并且易于出错。
而现代化的车站售票是集预定车票、售票、退票、车次查询、报表及其他各种服务,车站售票组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。
1、2系统目标汽车售票管理信息系统主要是实现售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动,票价的修改可以通过修改运价来进行,车次可以通过对发车时刻表的修改来进行,维护功能即对表进行修改。
从而提高工作效率,降低出错机率,减少工作人员的工作量,方便管理。
1、3系统开发方法使用结构化的分析方法,就是运用系统工程原理于大型软件开发的产物,就是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。
本系统主要采用此方法,并结合基于UML的面向对象的分析方法。
1第二章系统分析2、1系统需求分析售票系统主要用于车站日常的票务处理。
售票系统是车站信息管理系统数据的主要来源,它的业务直接影响财务、检票、调度系统。
售票系统主要完成售票、改签票、退票、取消退票功能、补票、售票查询和票款结算单填写等功能。
售票:正常出售本站所有车次车票,并按要求打印出车票。
退票:在正常退票时间内办理退票,并根据退票规定收取一定的手续费。
改签票:由于乘客或车站某种原因需对已出售的车票作更换车次的车票。
改签仅允许改签一次。
补票:只能在超过售票时限后进行,且在未发车之前,在统计时注意对非微机售票的票的处理(例如:剪刀票)。
系统需求分析主要是采用基于UML的面向对象的分析方法,以下是一些主要的图:用例图2顺序图3协作图4类图2、2主要业务流程分析5开始买票车次信息是否买其他是否有票票购买结束售票业务流程2.3数据流程分析使用结构化的分析方法,确定系统的数据主要是运价、车次、终点站名、发车时间和车票,对数据的操作主要有运价修改、车次修改、终点站修改、发车时间修改、售票及打印,可以确定系统的处理逻辑和流程。
62.4 数据字典数据字典是系统中各类数据描述的集合,是对数据流程图中所有名字的定义及描述,本系统主要数据字典内容例举如下:1.数据项(部分)(1)数据项名:站名数据项含义说明:标识车辆途径的地点数据类型:字符类型长度:15(2)数据项名:车辆编号数据项含义说明:唯一标识一种车辆数据类型:字符类型长度:20(3)数据项名:工号数据项含义说明:标识唯一工作人员数据类型:字符类型长度:10(4)数据项名:票号数据项含义说明:标识唯一车票数据类型:字符型长度:152.数据存储(部分)(1)数据存储名:售票员信息表组成:{售票员信息}组织形式:按售票员编号从小到大排列(2)数据存储名:车票表组成:{车票信息}组织形式:按票号从小到大排列(3)数据存储名:目标站名表组成:{站名信息}组织形式:按站名的字母顺序排列3.数据流(部分)(1)数据流名:登录信息组成:{工号,密码}(2)数据流名:车票信息组成:{票号,乘车日期,车次,票价,座位号,工号,退票否}(3)数据流名:预定信息组成:{预定号,车次,站名,乘车日期,票数}相应的实体——联系图即(E—R)图如下: 车站(站名、地址)售票员(姓名、工号、年龄、性别)车票(票号、发车时间、销售时间)乘客(乘客号、买票时间)7站名车站地址车站—售票员年龄姓名售票员性别工号售票票号售票时间车票发车时间乘客购票乘客号买票时间乘客2、5系统测试计划软件测试是软件开发过程的重要组成部分,软件测试是为了发现程序中的错误,用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。
软件测试的目的,第一是确认软件的质量。
第二是提供信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。
软件测试的过程亦是程序运行的过程一般软件测试的技术包括黑盒测试和白盒测试两种:(1)黑盒测试:黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。
整个测试基于需求文档,看是否能满足需求文档中的所有要求。
黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。
(2)白盒测试:白盒测试是指在测试时能够了解被测对象的结构,可以查阅被测代码内容的测试工作。
它需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。
白盒测试的直接好处就是知道所设计的测试用例在代8码级上哪些地方被忽略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
(3)基于风险的测试:基于风险的测试是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。
有时候还会用到基于模型的测试:模型实际上就是用语言把一个系统的行为描述出来,定义出它可能的各种状态,以及它们之间的转换关系,即状态转换图在这里主要是采用黑盒测试和白盒测试相结合的方法,一步一步的测试。
9第三章系统设计 3、1模块结构设计汽车售票管理系统售查统维票询计护业功功功务能能能表售预退车时销已预退售格定次刻售售定票票票票打车查表查车车统表印查票票票询询计询表表系统具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动,票价的修改可以通过修改运价来进行,车次可以通过对发车时刻表的修改来进行,维护功能即对表进行修改。
系统具体的功能如下: (1)售票业务:对于销售汽车票的一些情况进行的处理,包括售票、预定车票、退票三个功能模块。
(2)查询功能:主要查询一些关于车次情况以及车票销售情况,包括车次查询、时刻表查询、销售查询三个模块。
(3)维护功能:主要是对已售车票、预定车票、退票进行管理,包括已售车票表、预定车票表、退票表三大模块。
(4)统计功能:主要是对汽车票销售情况进行统计,并打印出报表,以便为公司下一步的决策提供数据参考,包括售票统计、报表打印两大模块。
3、2数据库设计10本系统的数据表主要有:车辆信息表:字段名类型及长度说明允许空主/外键 cheID Int,4 车辆编号主 cheX Varchar,8 车型 cheWS Smallint,2 座位数目标站名表:字段名类型几长度说明允许空主/外键 zhanM Varchar,10 站名主 liC Int,4 里程 yunxTime time 运行时间发车时刻表:字段名类型几长度说明允许空主/外键 cheCi Varchar,5 车次主 zhanM Varchar,10 站名外 cheID Int,4 车辆编号外 fancheT Datetime,8 发车时间jianPK Smallint,2 检票口途径表:字段名类型几长度说明允许空主/外键 cheCI Varchar,5 车次主 zhanM Varchar,10 站名外车票表:字段名类型几长度说明允许空主/外键 piaoID Int,4 票号主 chengCT Datetime,8 乘车日期 cheCI Varchar,5 车次外 zhanM Varchar,10 站名外piaoPrice Float,8 票价 quanBP Char,2 全半价 zuoWH Smallint,2 座位号gongH Char,3 工号 tuiPF Char,1 退票否11预定表:字段名类型几长度说明允许空主/外键 yuDH Int,4 预定号主 cheCI Varchar,5 车次外 zhanM Varchar,10 站名外 chengCD Datetime,8 乘车日期piaoS Smallint,2 票数退票表:字段名类型几长度说明允许空主/外键 piaoH Int,4 票号主 tuipiaoD Datetime,8 退票时间 piaoJ Float,8 票价 yingTK Float,8 应退款售票员表:字段名类型几长度说明允许空主/外键 gongH Char,3 工号主 xingM Char,8 姓名 gongPWD Char,10 密码运价表:字段名类型几长度说明允许空主/外键 cheX Varchar,8 车型主 piaoJ Float,8 价格管理员信息表:字段名类型几长度说明允许空主/外键 guanID Varchar,8 管理员账号主pwd Varchar,10 密码 3、4 代码设计在登录窗口中确定按钮的click事件中输入如下代码,用来检验登录人员身份String ls_user,ls_passwordls_user=sle_user.textSelect gongPWDInto :ls_passwordFrom 售票员表12Where xingM=:ls_user;If sle_user.text=’’ or sle_password.text=’’ thenMessagebox (“ “,”用户名或密码不能为空~”)ReturnEnd ifIf sle_password.text=ls_password thenOpen(w_main)Close(parent)ElseMessagebox(“ “,”用户名或密码错误~”)End if在含有数据窗口的窗体中的open事件中编写如下代码Dw_1.settransobject(splca)在窗口的close query 事件中编写如下代码用于在退出窗口前检查数据是否修改,并提示是否存盘。
Long ll_backvalueIf (dw_1.modifiedcount()+dw_1.detectedcount()<>0) thenll_backvalue=messagebox(“提示”,”数据已经修改,存盘吗,”,question!YesNoCancel!)if ll_backvalue =3 thenmessage.returnvalue=1else if ll_backvalue=1 thencb_save.triggerevent( clicked!) elseend ifend if13第四章系统的实现4、1开发工具描述本次汽车售票系统课程设计采用PowerBuild 9、0做为界面编程工具,后台数据库采用SQL Server 2000其中PowerBuilder是一种面向对象的数据库应用系统开发工具,利用它可以开发功能强大的、运行在多个平台的能够操作多个数据库的应用系统,还可以开发客户/服务器(Client/Sever)、分布式和因特网(Internet)应用系统等。