火车票预订系统详细设计说明书分解.docx
《火车票预订系统详细设计说明书分解.docx》由会员分享,可在线阅读,更多相关《火车票预订系统详细设计说明书分解.docx(15页珍藏版)》请在冰豆网上搜索。
火车票预订系统详细设计说明书分解
火车票预订系统
详细设计说明书
学号
姓名
所完成的任务
成绩
1111311113
施丹昊
2,4
1111311110
施季春
1,3,5
2013年12月3日
1.引言
1.1编写目的
通过此说明书让用户更加清晰的了解本系统的功能,通过模块的形式将各项功能向用户展示。
对接口的描述让用户知道相关的数据输入与输出,体现了一定的人机交互理念。
数据库的逻辑与物理设计将需求分析中数据库设计更加详细具体化。
最后指出本系统的开发运行环境,为用户提供的参考依据。
1.2背景
a.待开发软件系统的名称:
火车票预订系统
b.提出者和开发者:
施丹昊施季春
用户:
火车站工作人员,系统编译人员
1.3定义
ASP.NET提供了迄今为最先进的Web开发平台。
它是一个已编译的、基于.NET的开发环境,可以用任何与.NET的语言(本系统采用C#)开发应用程序,而不仅仅是使用JavaScript和VBScrip。
可以无缝地与WYSIWYGHTML编译器和其他编程工具一起工作。
另外,任何ASP.NET应用程序都可以使用整个.NETFramework。
2.系统的结构
图1
图2
3.系统的模块设计
3.1数据库连接模块(sqlconnection)设计说明
3.1.1模块名称;数据库连接模块
3.1.2模块描述:
在.NET中如果采用ADO.NET与数据库进行连接,可以采用以下4个接口对象之一:
System.data.oledb.oledbconnection
System.data.sqlclient.sqlconnection
System.data.odbc.odbcconnection
System.data.oracleclient.oracleconnection由于数据库使用的是MicrosoftSQLServer,所以使用SQLServer.NETFramework数据提供程序中的SqlConnection对象进行数据连接。
3.1.3模块功能:
与数据库进行连接。
3.1.4模块算法:
publicvoidsqlconnectionopen()
{
Sqlconnectionconn=newsqlconnection();
Conn.connectionstring=“userid=admin;password=;initialcatalog=northwind;datasource=localhost;connecttimeout=20”;
Conn.open();
}
3.2登陆模块(user_login)
3.2.1模块名称:
3.2.2模块功能:
用户可以进行“登录”行为,登录后可会根据其先前注册的资料和权限,使用户进行购票,查询票务或售票等功能。
3.2.3模块描述:
登录系统这个功能模块由四个部分组成。
一般用户登录、车站售票员登录、网点售票员登录,系统管理员登录。
除了一般用户登录外,剩余的三类用户都是通过在系统的首页上,填写自己的工号密码,并选择自己的登录类型来登录的。
一般用户登录只是通过IE来访问系统即可。
车站售票员,网点售票员和系统管理员的登录。
他们三类用户将工号和密码填入登录项文本框中,然后提交给首页的处理页面。
该页面根据提交的用户类型来决的用户查询数据库的哪个表。
3.2.4模块算法:
Privatevoidimagel_servereclick(objectsender,system.web.UI.imageclickeventargse)
{
DBOPmyDBOP=newDBOP();
Objectid;
Stringstrcomm=“selectidfromuserwhereusername=’”+text1.value+”’
andpwd=’”+password1.vale+”’”;
id=myDBOP.myselect(strcomm,1);
if(id!
=null)
{
会员登陆成功
}
Else
{
登陆失败
}
3.2.5模块调用方法式:
通过网站首页中登录窗口中“登录”按钮进行调用。
3.3售票模块
3.3.1模块名称:
售票模块(ticket_sell)
3.3.2模块功能:
车站管理员可使用此模块查询票务信息和出售车票。
3.3.3模块描述:
在售票的功能页面中,车站售票员或网点售票员登录了自己的工作平台页面后,通过点击工作平台上的售票链接,来到售票的页面。
输入目的地及日期,页面会显示出所有当天匹配的所有车次信息。
接下来,在出现的页面中填写所需要订购的车次的车次号后,点击提交按钮后将数据提交给处理页面,处理页面根据提交信息查询数据库表,并将结果显示出来以便售票员知道该次汽车时候有剩余票可以出售,并点击车票列表的车票编号实现售票,就可以完成售票的操作了。
3.3.4模块调用模式:
通过售票页面中的查询按钮调用票务信息,并通过确定按钮调用售票功能。
3.4查询模块
3.4.1模块标识符:
train_find
3.4.2模块描述:
该功能模块的具体实现分为两个部分,一根据时间查询班车信息。
二根据目的站查询班车信息。
3.4.3模块功能:
用户可以通过时间和目的站查询班车信息。
3.4.4输入项:
用户提交的查询类型,要查询的日期,要查询的目的站。
3.4.5输出项:
符合条件的班车信息包括车次、车号、类别、终点站、始发站、发车时间、到站时间、车票总数、已售票数、剩余票数。
3.4.6模块算法设计:
用户在查询页面的选择查询方式,根据用户选择的查询方式将用户提交的数据发给不同的页面处理:
1.如果用户选择了根据时间查询,那么提交的数据将发送给根据时间查询处理页面。
2.如果用户选择了根据目的站查询,那么提交的数据将发送给根据目的站处理页面。
按时间查询:
将根据时间在数据库中找到记录用户提交的这个时间所在的班车表,利用SQL语句将表中所有的内容查询出来,保存到结果中,然后用while循环的方式输出并显示。
按目的站查询:
将根据目的站在数据库中找到记录用户提交的这个目的站所在的班车表,利用SQL语句将表中所有的内容查询出来,保存到结果中,然后用while循环的方式输出并显示。
3.5信息修改模块
3.5.1模块标识符:
user_inf
3.5.2模块描述:
该功能模块提供给网点售票员,车站售票员,管理员对个人信息修改的功能。
3.5.3模块功能:
提供给网点售票员,车站售票员,管理员对个人信息如密码,性别,年龄等进行修改并保存。
3.5.4输入项:
网点售票员、车站售票员或者管理员成功登陆前提下,输入新的相关信息。
3.5.5输出项:
工号,登录密码,姓名,性别,年龄等个人信息。
3.5.6模块算法设计:
在登陆的前提下,根据登陆权限的不同,进入到不同修改信息界面,通过get()方法,获取数据库表中的信息,对要修改的信息进行修改,即对对应的数据库表做SQL语句中的update操作,该结果会被保存到数据可中,并提示修改成功和返回系统首页的信息。
信息修改显示信息输入数据修改成功返回成功失败输入判断
3.6注册模块
3.6.1模块标识符:
user_redegrit
3.6.2模块描述:
该模块的核心思想是向数据库中输入数据,并且数据不能重复,数据库会保存相关的注册信息。
3.6.3模块功能:
用户可以通过该模块完成信息的注册,信息被保存在数据库中,然后等待系统管理员审核。
3.6.4输入项:
主要输入用户的基本信息:
用户ID,用户名称,密码,性别,年龄等。
3.6.5输出项:
反馈提示信息输出:
“您所注册的个人帐号已被注册,请使用其它帐号!
”;
“注册已成功,请等待回复,谢谢!
”。
3.6.6模块算法设计:
为了方便程序员编程,在此简略写出本模块算法:
注册信息:
进入注册界面,填写个人帐号和密码及填写网页上除申请信息外的所有信息将被提交给数据库保存。
3.7退票模块设计
3.7.1模块标识符:
ticket_back
3.7.2模块描述:
用户如果要求退还车票,可以请求车站售票员进行退票操作
3.7.3模块功能:
数据库中存放有用户已经购买的车票信息,售票员在网站中输入相关信息,通过匹配检测,找到该数据进行删除和更新操作。
3.7.4输入项:
在车站售票员登陆的前提下,输入车票所对应的车次
3.7.5输出项:
正确信息“你要删除的车票(票号)已经成功删除”,错误信息“你所要删除的车票(票号)不存在或已删除”
3.7.5模块算法设计:
为了方便程序员编程,在此简略写出本模块算法:
1.车站售票员输入个人帐号和密码,登陆;
2.应用户要求输入要退票的票号,如果成功给出正确信息“你要删除的车票(票号)已经成功删除”,如果失败则给出错误信息“你所要删除的车票(票号)不存在或已删除”;
3.8火车管理模块:
train_manage
3.8.1模块描述
火车管理是针对于系统的管理员权限内的操作。
火车管理包括增加班车信息、删除火车信息、车票的填充,车票的删除。
3.8.2功能
增加火车train_add,系统管理员将一列新的火车的全部信息输入到系统的数据库中,一列新的火车的全部信息一经被输入到数据库中,外界便可以通过系统来查询它的所有信息,并且售票员可以出售该火车的车票。
删除班车train_delete,系统管理员将一列新的火车的全部信息从系统的数据库中删除,一列新的火车的全部信息一经被从数据库中删除,外界将无法通过系统来查询它的所有信息,并且售票员不能够再出售该火车的车票。
车票的填充ticket_add,车票的填充是系统管理员向系统的数据库中添加新的车票。
新的火车票添加到数据库中后,售票员可以出售这些新添入的车票。
车票的删除ticket_delete是系统管理员将过期的车票或者是系统中已经不存在的火车的车票删除。
3.8.3性能
此模块属于后台管理两大模块之一,前台的售票都以此为基础,故此模块的对于添加班车及车票要求准确无误。
3.8.4输入项
增加班车:
车次、车号、类别、终点站、始发站、发车时间、到站时间
删除班车:
车次
车票的填充:
车票总数、票价、票号、对应班车
车票的删除:
票号
3.8.5输出项
增加班车:
增加后的班车信息
删除班车:
删除成功
车票的填充:
填充结果
车票的删除:
删除成功
3.8.6设计方法(算法)
管理员在登陆的前提下,对此模块进行功能操作。
首先是增加班车,管理员从未被分配的汽车中选择作为班车,设置相应的属性,之后再进入车票填充功能对已存在的班车进行车票的相关信息设置。
删除班车以及车票的删除分别对应上述两个功能进行修改,删除是应先删除班车,其所对应的车票将自动删除。
本模块中实际是对数据库进行读写操作,故算法简略如下
获取相应的值
stringname=request.getparameter(“bus_id”);
stringname=request.getparameter(“bus_num”);
stringname=request.getparameter(“kind”);
stringname=request.getparameter(“reach”);
……..
写入数据库
stringurl=“”odbc:
microsoft:
sqlserver:
//localhost;
databasename=bus”;
stringls_”INSERTINTObus”+
“(车次,车号,类别,终点站,始发站,发车时间,到达时间)”+
”VALUES(‘”+bus_id+”’,‘”+bus_num+”’,‘”+kind+”’,‘”+reach+”’,‘”+set+”’,‘”+set_time+”’,‘”+reach_time+”’,‘”+bus_id+”’,)
3.9外部接口
3.9.1用户的输入和反馈的结果
本系统中用户通过键盘、鼠标等硬件设备向系统输入相关数据,实现输入功能。
系统通过IE浏览器显示结果,从而实现输出结果反馈。
以上输入、输出接口实现人-机交互,为本系统的外部接口。
3.9.2和其他系统之间的接口。
本系统在网络中是以网站的形式独立运行的,与其他系统之间没有太多的关联,充其量也就是部分友情链接,故接口将以超链接方式实现。
3.10内部接口
模块的接口:
模块的输入和输出。
本系统的用户的分为四种:
即普通用户也就是顾客、网点售票员、车站售票员和管理员,不同用户所对应的功能模块也有很大区别。
系统各模块在上述2.1中已经说明,下面将对各模块接口进行阐述。
(1)数据库连接模块。
系统中因为涉及到一系列对数据库查询、写入、修改、删除操作,故在每个功能模块加载之初就建立与数据库的连接,即数据库模块接口,在此基础上实现以下操作。
Page_load
(2)查询模块。
bus_find
输入:
班车时间或者班车目的地
反馈:
符合条件的班车信息包括车次、车号、类别、终点站、始发站、发车时间、到站时间、车票总数、已售票数、剩余票数
(3)登陆模块。
user_login
输入:
工号、密码
反馈:
根据登陆身份不同反馈相应的功能界面
(4)售票模块。
ticket_sell
输入:
在网点售票员或车站售票员登陆和查询的前提下,选择相应的班车,输入数量
反馈:
售票结果
Error
输入:
错误的票号
反馈:
修改成功
(5)退票模块。
ticket_back
输入:
在车站售票员登陆的前提下,输入车票所对应的车次
反馈:
退票结果
(6)信息修改模块。
user_inf
输入:
网点售票员、车站售票员或者管理员成功登陆前提下,输入新的相关信息
反馈:
修改后的结果
(7)班车管理模块。
其中又可分为增加班车模块和删除班车模块两个子模块,其接口函数分定义为:
bus_add
输入:
管理员登陆的前提下,输入新班车相关信息包括车次、车号、类别、终点站、始发站、发车时间、到站时间、车票总数、已售票数、剩余票数
反馈:
增加结果
bus_delete
输入:
管理员登陆的前提下,选择相应的班车,确认删除
反馈:
删除结果
(8)售票员管理模块。
分为两个子模块:
增加售票员模块和删除售票员模块,接口函数定义为:
user_add
输入:
管理员登陆的前提下,输入售票员相关信息包括工号、密码、姓名、性别、年龄
反馈:
增加的售票员信息
user_delete
输入:
工号
反馈:
删除成功
(9)注册模块
user_redegrit
输入:
注册人详细信息
反馈:
等待答复提示
4.界面设计
图3登陆界面
图4售票界面
图5查询界面
图6注册界面
图7退票界面
图8后台登陆界面
图9添加班车界面
图10填充车票界面
5参考资料
网络系统开发实例精粹(ASP.NET版)
软件工程理论与实践
ASP程序设计基础
软件工程