网上火车票订购系统报告.docx
《网上火车票订购系统报告.docx》由会员分享,可在线阅读,更多相关《网上火车票订购系统报告.docx(14页珍藏版)》请在冰豆网上搜索。
![网上火车票订购系统报告.docx](https://file1.bdocx.com/fileroot1/2023-5/20/24d1e09f-6b9d-41f3-81f8-818a87c482af/24d1e09f-6b9d-41f3-81f8-818a87c482af1.gif)
网上火车票订购系统报告
东华大学
____软件设计实践___报告
专业计算机科学与技术
班级
学号
姓名
完成日期
实训/实验内容与要求
通过实现一个完整的软件,体验软件项目开发的工作流程,加深对相关理论知识的理解,提高实际分析设计能力。
完成软件的需求分析、架构设计、模块划分并编程实现。
指导教师:
_____
指导教师评语
成绩:
指导教师:
_______________
年月日
一、需求分析
1.1.设计背景
铁路作为中国最重要的交通工具之一,在市场经济浪潮中,面临着严峻的考验。
公路运输的便捷,航空运输的快速,这一切都对铁路运输构成很大的冲击。
在对铁路客运服务存在的最大问题进行调查时,结果表明,有29.3%的乘客认为购票难排在各项选择的第一位。
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,随着我国铁路交通的不断发展,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,简单的窗口售票模式已经不能满足方便人们出行的目的。
采用先进的网络技术开发出方便快捷的网上订票系统是现代客运业务发展的必然需求。
电子商务的出现,正好带给了铁路客运服务一个发展契机,推出新型的订票方式--网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。
它既是技术上的创新,又将完善铁路服务,在一定程度上解决买票难这一大难题,增强铁路竞争力,为铁路争取到更多的客流。
本次设计的火车票网上订票系统通过访问主页,可以实现个人信息注册、车次车票价格查询、在线订票退票等基本功能,为用户提供方便快捷的订票服务。
本次设计便是利用开发工具VS2008和SQLServer2005数据库共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。
该系统要解决的是火车站网上售票工作所要解决的问题,可以满足火车票网上售票的基本要求,包括查询、订票、退票三个方面的功能。
该系统能运用到火车站售票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。
1.2系统设计目标
本系统是利用网络的方便、快捷和计算机的准确、高效实现火车票网上订票系统。
火车票网上订票系统是通过主页访问、身份识别实现区别不同身份用户完成车票、车次的管理操作。
系统有三个大的功能模块:
登录功能模块,验证登录信息;管理员功能模块,实现车票和车次管理;普通用户功能模块,实现车票和个人信息管理。
1.3系统设计方法
本系统采用的是B/S结构,即Browser/Server(浏览器/服务器)结构。
它是随着Internet技术的兴起,对C/S模式应用的扩展。
在这种结构下,用户工作界面是通过IE浏览器来实现的。
B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据。
用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。
客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。
1.4可行性研究
可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。
可行性分析一般可定义为:
可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。
可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
其最根本任务就是对以后的行动方针提出建议。
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。
1.4.1技术可行性
本系统开发的软硬件资源都已具备,前台开发工具使用VS2008,开发语言为C#,后台数据库使用SQLServer2005,其基本操作实质还是对数据库进行添加、删除、查找等操作开发环境安全,技术可靠,两者使用都相对比较熟练,因此具备技术可行性。
1.4.2经济可行性
开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需的其他应用软件、硬件系统也易于获得,因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
1.4.3操作可行性
本系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便,界面设计十分亲切,功能标题醒目,各种功能的实现简单容易,易于理解,用户只需对订票流程和业务调查了解即可,不需掌握数据库等相关知识,上手较快,系统管理人员可以简单的实现车票的销售,车次的管理,统计,退票等功能。
通过以上可行性分析,认为该系统的开发方案切实可行,可进行开发。
1.5需求分析
需求分析是软件设计的一个重要的环节。
本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。
用户对系统的需求我们从以下几方面进行分析。
1.5.1功能需求
网上火车票订票系统是一个融合火车票订购、列车站点的管理、管理员信息、列车信息及售票信息查询为一身的综合系统。
功能需求从用户和管理员两个方面进行分析,本网上售票系统应该具备如下功能:
1.从用户的角度看:
(1)注册:
用户需要订购自己所需要的火车票,所以本系统的使用者应该有注册账户功能。
(2)登录:
用户注册过信息以后,可以通过登录权限进入用户模式。
(3)查询:
用户可以实现对个人信息的查询、车次信息的查询和对已订车票信息的查询。
要求:
1)对个人信息的查询,用户可以查看自己的基本信息。
2)对车次的查询,可以按照发车车次进行查询,也可以按照始发站和终点站进行查询。
3)对订单的查询,用户可以查看自己订单的所有车票信息。
(4)添加:
用户可以进行订票来添加订单。
(5)退票:
用户可以对自己已付款订单车次的车票进行退票操作。
(6)修改:
用户可以对自己的个人信息和密码进行修改,也可以对已付款订单的车次进行改签。
2.从管理员的角度看:
(1)登录:
管理员可以通过登录权限进入管理员模式。
(2)查询:
管理员可以对个人信息进行查询、可以对现有车次进行查询,可以对站点进行查询,可以对已注册用户信息进行查询。
1)对个人信息的查询,管理员可以查看自己的基本信息。
2)对车次的查询,可以按照发车车次进行查询,也可以按照始发站和终点站进行查询。
3)对站点的查询,管理员查看所有已存在站点的信息。
4)对已注册用户的查询,管理员可以查看本系统中所有已注册用户的基本信息和其订单信息。
(3)添加:
管理员可以实现对车次的添加、对站点的添加和对车票信息的添加。
(4)删除:
管理员可以实现对车次的删除、对站点的删除和对车票信息的删除。
(5)管理员可以修改站点信息、车次信息和车票信息。
1.5.2性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
1.准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
系统应能及时而且准确的根据用户权限及所输入的信息做出响应。
由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
2.易用性
本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
3.安全性
网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。
同时系统还要保证对数据库进行及时更新,保证数据一致性。
二、详细设计(系统功能、模块划分及详细设计)
2.1系统功能分析
该系统参考网上火车票订票官网进行设计,并根据自己的变成和设计能力对其功能进行进一步简化,系统可分为四大模块:
登录模块,用户根据自己身份的不同进行登陆;注册模块:
没有账户的用户可以输入个人信息和有效证件号码注册一个帐号;普通用户模块,进行个人车票的查询和预定,对自己订单和信息进行管理;管理员模块,对车次、车票、站点和订单进行管理。
通过身份识别判断账户信息并区别不通身份的用户。
火车票网上订票系统简单、操作灵活、方便、反应快速、计算准确,系统运行稳定、安全可靠,而且有良好的交互界面,让使用者可以方便、快速地掌握。
2.1.1登录功能分析
用户进入系统后根据身份的不同选择不同的身份进入系统,如果身份有误,则不能进入系统,在系统的主页上,用户登录之前可以查看车次信息,但不能进行预定和修改车次信息。
2.1.2注册功能分析
没有账户的用户在注册功能模块可以注册一个有效的帐号,注册成功之后就可以登录系统进行车票预定。
2.1.3用户功能分析
用户可以根据需要进行注册,拥有账户后,可以根据自己的账户名和密码进行登录,进入系统之后,用户可以查看自己的订单和未完成订单,可以对已付款订单进行改签和退票。
用户可以查看自己的个人资料,并可以对资料进行修改,用户可以为自己的账户进行充值,也可以修改登录密码。
2.1.4管理员功能分析
管理员根据自己的用户名和密码登录进系统之后,可以对车次、车票。
站点进行增删改查操作,还可以查看所有用户的订单,可以查看个人信息和修改密码。
2.2系统模块设计
2.2.1系统模块图
通过多系统的功能进行分析绘制出系统的模块图如下图所示:
、
图2-1系统整体模块图
2.2.2登录子模块
程序运行以后进入主界面,点击登录可以进入登录子模块,用户根据自己的身份的不同,可以选择是普通用户还是管理员进行登录。
2.2.3注册子模块
程序运行之后进入主界面,点击注册可以进入注册子模块,可以输入自己的有效信息进行注册,该注册模块只能进行普通用户的注册,管理员不能进行注册,管理员帐号应是系统管理人员添加的,该模块不能实现。
2.2.4普通用户子模块
(1)车次查询模块:
用户进入自己的主页之后可以点击余票查询,来获取自己想查询的车次信息,查询有两个方法,一是输入出发地、目的地和出发日期进行查询,二是可以输入出发地、目的地、出发日期和车次进行查询。
(2)车票预定模块:
用户进行车票预定前应首先查询一下自己想要预定的车次的余票信息,然后进行点击车票,预定预定自己想要的订票。
(3)我的订单模块:
用户可以查看自己所有的订单,可以查看自己未付款的订单,还可以对已付款的订单进行退票和改签。
(4)我的信息模块:
用户可以查看并修改自己的个人信息,可以对账户进行充值,而且可以修改自己的密码。
2.2.5管理员子模块
(1)信息管理模块:
在该模块,管理员可以查看该系统中所有的订单信息,可以查看已完成订单和未完成订单信息。
管理员也可以查看个人信息以及修改密码。
(2)车次管理模块:
管理员可以查看系统中的所有车次,可以增加车次,可以删除没有余票的车次,可以修改车次信息。
(3)车票管理模块:
管理员可以查看所有车票、查询已被订车票、未被订的车票,以及可以按车次查看车票信息。
管理员还可以添加车票,先选择需要添加车票的车次,再选择座位类型,对该车次添加车票后会将相应的车次的相应座位的余票进行增加。
管理员还可以修改和删除车票,相应的修改和删除过车票之后,该车票对应车次的余票都要进行相应的修改。
(4)站点管理模块:
管理员可以查看所有站点,也可以增加站点,可以删除没有车次的站点,也可以修改站点信息。
2.3详细设计
系统的设计总共分为登录模块设计、注册模块设计、普通用户模块设计和管理员模块设计四部分,以下是对各模块的详细介绍:
2.3.1登录模块设计
用户选择自己的身份,然后输入用户名和密码,后台代码连接数据库查找该用户输入的信息是否可以找到,如果可以找到则该用户可以登录到自己的主页,否则就停留在此页面无法登录。
2.3.2注册模块设计
打开注册页面之后可以输入自己的有效用户名和密码注册一个账号,后台代码连接数据库往数据库里面插入一个新的用户信息,如果注册成功,则该用户立即可以登录到自己的主页进行车票查询和预定。
如果注册失败,则系统继续停留在此页面并提示用户注册失败。
2.3.3普通用户模块设计
(1)普通用户登录到自己的主页面之后可以进行余票查询,这时候系统会根据用户输入的有效信息从数据库里面检索车次信息并把车次的余票信息显示出来。
用户进行车票预定时,用户可以输入需要预定的车次号、座位类型以及自己的有效信息进行预定,点击提交订单之后,系统会为用户生成一张未付款的订单,并从车次的余票信息中把相应的座位类型的车票数量减一,用户提交订单之后进入确认订单页面,如果用户选择重新预定,系统会把刚刚生成的订单删除并把车次的余票信息恢复原状,并跳转到车票预定的界面进行重新预定。
如果用户选择取消订单,则会直接删除该订单,并把车次余票信息还原。
如果选择网上之后,系统会先查询用户的余额信息,如果用户的余额多余该订单的票价,则会从用户的账户中直接扣除票价,并把该订单的状态改为已付款。
(2)用户可以在自己的主页面查看自己的所有订单信息和未完成订单信息,并且可以对付款的订单进行退票和改签,退票以后,系统会自动删除该订单,并把系统中对应的车票状态改为未被订,也会把对应车次的余票信息进行更改。
改签之后也会把就该订单删除,把车次和车票的信息进行修改,并跳转到预定车票页面重新进行车票预定。
(3)用户在自己的主页面查看自己的资料,并可以对资料进行修改,用户不可以修改用户名,因为用户名是用户的唯一标识,系统中不存在同名的用户,而且用户名是用户注册时已确定的,所以不能予以更改权限,但用户可以对自己的其他信息进行更改,以及时更新自己的最新的有效信息。
用户还可以在主页面进行账户充值,账户充值就是更新自己信息的账户余额,把数据库中的余额信息增加。
用户还可以进行修改密码,把数据库中已存在的密码换成自己想要重新设定的密码。
2.3.4管理员模块设计
(1)管理员可以对系统进行信息管理,包括对系统中所有订单、已完成订单和未完成订单的查询,根据管理员选择的查询条件,分别从数据库中检索出相应的订单信息。
因为订单是用户自己管理的,所以管理员没有权限对用户的订单进行增加、修改和删除权限。
管理员还可以对自己的个人信息进行管理,如查看个人信息和修改密码,将自己的新密码更新到数据库中。
(2)管理员可以对车次进行管理,管理员可以查看系统中的所有车次,查看车次时,连接数据库从数据库中检索所有的车次信息。
管理员还可以增加车次,往数据库的车次中添加新的车次,添加车次时应注意,车次的始发站和终点站依赖站点的站点号,所以始发站和终点站的站点号必须是已经存在的站点,而且添加车次时不能给该车次添加余票,因为车票的添加功能在车票的管理中,该车次的余票默认为零。
管理员可以删除车次,并且删除的车次必须是没有余票的车次,如果有余票信息的话,因为车票的车次编号对其有依赖关系,所以会导致删除失败。
管理员可以修改车次信息,先从列表中选择要修改的车次号,然后对车次信息进行修改并更新到数据库。
(3)管理员可以对车票进行管理,管理员可以查看系统中的车票信息,可以查询所有车票信息,也可以查询已被订和未被订的车票信息,同时还可以按照车次查看该车次的车票信息。
管理员可以添加车票,从列表中选择好需要添加车票的车票和座位类型后就可以往数据库中对车票表中添加一张车票,同时将相应车次的相应座位类型余票进行添加。
管理员还可以进行车票的删除,删除一张车票以后会将该车票对应的车次信息的余票也进行修改。
管理员还可以对车票进行修改,从列表中先选择要修改的车票编号,再选择修改过后的座位类型、车票价格、出发地和目的地,修改过该车票之后会把车次信息的余票情况进行修改。
(4)管理员可以对站点信息进行管理,管理员可以查询系统中的所有站点,也可以增加新站点,管理员可以对站点信息进行删除,但是只能删除对它没有依赖车次的站点,如果站点中有车次对它依赖,则该站点无法删除,管理员还可以修改站点信息,从列表中选择相应站点的编号,然后可以更改站点的名称,并把新的站点信息更新到数据库中。
三、数据库设计
3.1概念结构设计
按照系统功能需求和设计,本系统数据库主要E-R图如下:
图3-1管理员实体图
如图3-1所示,管理员的属性包括管理员编号、管理员的密码和管理员的真实姓名。
图3-2普通用户实体图
所图3-2所示,普通用户的属性包括用户名、密码、真实姓名、性别、身份证号、电话、账户余额。
图3-3火车车次实体图
如图3-3所示,火车车次的属性包括车次号、发车日期、始发站、终点站、软卧、软座、硬卧、硬座、无座。
图3-4火车车票实体图
如图3-4所示,火车车票的属性包括火车编号、车次编号、座位类型、价格、出发地、目的地、是否被订。
图3-5订单实体图
如图3-5所示,订单属性包括订单编号、车票编号、用户名、订票时间、车票单价、是否付款。
图3-6站点实体图
如图3-6所示,站点属性包括站点编号、站点名。
四、系统实现
XXXXX
五、总结
XXXXX