汽车售票系统详细设计说明书学号姓名所完成的任务成绩02薛伟(组长)3.8、3.901黄震3.4、3.515赵星1、2、3.729吴骏3.332朱晓晨3.1、3.203朱清清3.6注:对应模块界面图由组员各自完成2008年12月8日1.引言1.1编写目的编写本详细设计说明书的目的主要是详细说明汽车售票系统的结构和内部设计,在总体设计说明书的基础上进一步细化系统,提供详细的模块和界面设计,为程序开发提供直接的支持。本说明书主要面向系统分析人员、程序员和以后的系统维护人员。作为程序员开发系统的根本依据和在系统维护阶段,维护人员对系统实施维护的参考资料。1.2背景a.系统的名称:汽车售票系统b.提出者和开发者:全体成员用户:长途汽车站工作人员,系统编译人员1.3定义前台、后台、算法2.系统的结构图1前台车站售票系统前台用户注册用户登陆信息修改售票管理用户查询注册信息修改网点售票员信息修改车站售票员信息修改按目的站查询按时间查询网点售票员车站售票员退票管理图2后台3.系统的模块设计3.1数据库连接模块(sqlconnection)设计说明3.1.1模块名称;数据库连接模块3.1.2模块描述:在.NET中如果采用ADO.NET和数据库进行连接,可以采用以下4个接口对象之一:System.data.oledb.oledbconnectionSystem.data.sqlclient.sqlconnectionSystem.data.odbc.odbcconnectionSystem.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模块标识符:bus_find3.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_inf3.5.2模块描述:该功能模块提供给网点售票员,车站售票员,管理员对个人信息修改的功能。3.5.3模块功能:提供给网点售票员,车站售票员,管理员对个人信息如密码,性别,年龄等进行修改并保存。3.5.4输入项:网点售票员、车站售票员或者管理员成功登陆前提下,输入新的相关信息。3.5.5输出项:工号,登录密码,姓名,性别,年龄等个人信息。3.5.6模块算法设计:在登陆的前提下,根据登陆权限的不同,进入到不同修改信息界面,通过get()方法,获取数据库表中的信息,对要修改的信息进行修改,即对对应的数据库表做SQL语句中的update操作,该结果会被保存到数据可中,并提示修改成功和返回系统首页的信息。信息修改显示信息输入数据修改成功返回成功失败输入判断3.6注册模块3.6.1模块标识符:user_redegrit3.6.2模块描述:该模块的核心思想是向数据库中输入数据,并且数据不能重复,数据库会保存相关的注册信息。3.6.3模块功能:用户可以通过该模块完成信息的注册,信息被保存在数据库中,然后等待系统管理员审核。3.6.4输入项:主要输入用户的基本信息:用户ID,用户名称,密码,性别,年龄等。3.6.5输出项:反馈提示信息输出:“您所注册的个人帐号已被注册,请使用其它帐号!”;“注册已成功,请等待回复,谢谢!”。3.6.6模块算法设计:为了方便程序员编程,在此简略写出本模块算法:注册信息:进入注册界面,填写个人帐号和密码及填写网页上除申请信息外的所有信息将被提交给数据库保存。3.7退票模块设计3.7.1模块标识符:ticket_back3.7.2模块描述:用户如果要求退还车票,可以请求车站售票员进行退票操作3.7.3模块功能:数据库中存放有用户已经购买的车票信息,售票员在网站中输入相关信息,通过匹配检测,找到该数据进行删除和更新操作。3.7.4输入项:在车站售票员登陆的前提下,输入车票所对应的车次3.7.5输出项:正确信息“你要删除的车票(票号)已经成功删除”,错误信息“你所要删除的车票(票号)不存在或已删除”3.7.5模块算法设计:为了方便程序员编程,在此简略写出本模块算法:1.车站售票员输入个人帐号和密码,登陆;2.使用户要求输入要退票的票号,如果成功给出正确信息“你要删除的车票(票号)已经成功删除”,如果失败则给出错误信息“你所要删除的车票(票号)不存在或已删除”;3.8班车管理模块:bus_manage3.8.1模块描述班车管理是针对于系统的管理员权限内的操作。班车管理包括增加班车信息、删除班车信息、车票的填充,车票的删除。3.8.2功能增加班车bus_add,系统管理员将一列新的汽车的全部信息输入到系统的数据库中,一列新的汽车的全部信息一经被输入到数据库中,外界便可以通过系统来查询它的所有信息,并且售票员可以出售该汽车的车票。删除班车bus_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售票员管理模块user_manage3.9.3模块描述此模块中含有两个子模块:增加售票员模块和删除售票员模块,是对售票员的的操作。3.9.2功能增加售票功能user_add:增加车站售票员是系统的管理员权限内的操作。系统管理员可以向系统的数据库中输入某个新的车站售票员的信息,信息被输入到系统中后,该车站的售票员将在案系统中具有一个车站售票员所具有的所有权限内的操作。删除售票员user_delete:一旦该车站售票员的全部信息被删除后,该车站售票员将不再能够登录到系统中车站售票员的工作平台,他不再具有一个车站售票员的权限。3.9.3性能此