当前位置:文档之家› 车站售票系统

车站售票系统

滨江学院《Web技术与应用》课程设计题目车站售票系统院系计算机系年级班级10软工3班学生姓名丁林梅学号20102344902学期2012-2013(2)任课教师陈瑶车站售票系统1 引言随着Internet的迅速发展和用户数量的急剧增加,互联网对于企业和事业单位的运营和发展日益重要,网上交易也逐渐被人们认可,并成为未来交易的发展方向。

在这种情况下,很多原有的C/S模式的系统也逐步向B/S模式靠拢,铁路客车售票系统也不例外。

铁路客车售票系统是铁路旅游服务信息系统的一个重要组成部分,为旅客提供优质便捷的服务。

为了提高铁路客运的售票效率,丰富铁路客运的营销手段,火车站售票总站的下属代售点可以通过公用的互联网资源,实现网上的售票,查询及管理工作。

本论文围绕如何实现基于B/S结构的客票系统展开讨论,通过对现有C/S结构的售票系统与B/S结构的优缺点进行比较,给出基于B/S结构售票系统的具体解决方案:查询,买票,订票,退票,新闻管理,用户管理等六大模块,并研究B/S结构在网络中面临的安全问题及提出相应的解决方案。

2 系统设计1. 需求分析客车售票系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的客车售票系统,为企业的决策层提供准确、精细、迅速的客票销售信息。

2.功能分析(1)功能需求客票系统通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现车次查询,售票,订票,退票,新闻管理,销售统计等功能。

以计算机为中心,实现销售业务的计算机自动化,为铁路部门降低成本、提高销售额、为铁路部门的经营决策提供及时精确的依据。

(2)查询功能需求查询功能要能满足至少两种方式的查询:按车次查询,按站点查询。

如果查询出来满足条件的车次后,用户可以直接点击购买。

查询出来的信息里面应该包括车次,开车时间,到达时间,起始站,终点站,车辆类型等主要车次信息。

(3)售票功能需求售票模块主要有两个入口:一个是系统主界面的买票按钮,另一个是查询结果后面的购买按钮。

买票界面里可以供用户填写或者选择的内容有:车次,开车时间,起始站,终点站,座位类型,票数等。

还要有价格计算按钮,购买按钮和重置按钮。

每趟车次的具体路段起始站和终点站要在用户输入车次后自动绑定,供用户选择。

点击购买按钮后,系统给出具体的购买票据,并且要能打印票据。

(4)退票功能需求退票模块要能实现两种功能:退订和退票。

退订是指用户有过订票记录,但票还没拿到;退票是指用户退掉已经拿到的车票(退票时间必须给出具体限制)。

(5)订票功能需求订票模块和买票模块主要有两点区别:用户进行订票操作时必须要输入用户信息;订票的和买票的提前时间不同,订票可以提前更多的时间。

订票操作成功后,系统应给出具体的订票信息票据。

(6)注册功能需求第一次使用系统时,首先要做的是注册用户,注册用户模块里主要分两种类型的注册:代售点注册和企业用户注册。

这两种注册方式的差别体现在所填注册信息上。

不同的用户拥有不同的权限。

3. 功能模块设计●系统安全可靠未经注册的用户不能登录系统,用户个人信息和购票信息通过互联网上传输时,要确保信息的安全性。

●系统准确及时用户对系统进行操作时,系统应在很短时间内(一般以秒为单位)给与响应。

●系统的可扩展性对于用户新的需求,能做到只需添加新模块即可满足用户要求。

,功能模块图如图1所示。

图1系统功能模块结构图3、数据库设计本系统采用的数据库软件为SQLserver2000,本系统用到的数据库名为selltickets(售票),它里面包括9张表,为了便于理解,本系统的所有表的字段名称都为中文汉字,下面逐一介绍。

1.用户表2.车次详细信息表3.普通列车价格表表3普通列车价格表4订票记录表票数Decimal 9 票数总价格Decimal 9 总价格用户名Char 50 用户名联系方式Decimal 20 联系方式身份证Decimal 20 身份证发车日期Datetime 8 发车日期时间Datetime 8 时间座位号Int 4 座位号客车售票系统E-R图图2 系统E-R图3 系统实现在前面分析和设计的基础上通过和sqlserver2000来实现售票系统。

下面将详细介绍每个功能模块是如何实现。

主要模块如图2所示。

(1)管理员登录(login.aspx)用户输入用户名和密码后,点击登录,系统执行登录按钮的鼠标点击事件,登录按钮的鼠标点击事件里面先判断用户名和密码两个文本框是否为空,如果为空,提示“输入信息不完整!”,如果两个文本框不为空,以用户名为查询条件,查询user表(用户表),查询出来的结果填充到数据集里面,然后判断数据集里面的数据表,如果行数为空,说明用户为非法用户,提示“用户名或者密码错误”,如果行数大于等于一,通过验证,跳转到系统主界面。

管理员登录界面如下图3所示。

图3 学生学籍管理系统登录界面其关键代码如下:以下代码实现的功能是判断管理员与密码是否正确,若正确跳转到主页面,否则显示出错信息。

private void Button_denglu_Click(object sender, System.EventArgs e){if(this.sqlConnection_user.State.ToString()=="Closed")this.sqlConnection_user.Open();// 如果数据库连接状态为关闭,打开数据库连接if(this.text_name.Text.Trim()!=""&&this.text_password.Text.Trim()!="")//如果用户名和密码栏不为空{ string sql="select * from [user] where 用户名='"+this.text_name.Text.Trim()+"'and 密码='"+this.text_password.Text.Trim()+"'";//构造查询语句:以用户名为条件查询数据库,this.sqlDataAdapter_mandText=sql;this.sqlDataAdapter_user.Fill (this.dataSet_user);//把查询结果填充到数据集里面if(this.dataSet_user.Tables[0].Rows.Count>0)//如果查询结果不为空{Session["username"]=this.text_name.Text.Trim();// 把当前用户名纪录在Session["username"]。

this.Response.Redirect("main.aspx");//跳转到系统主界面。

}elseGlobal.Alert(this,"用户名或密码输入有误,请重新输入!");//如果查询结果为空,提示错误信息。

}else{Global.Alert(this,"用户名或密码输入不完整!");//如果用户名和密码栏由空值,提示错误信息。

Session["username"]=null;}}(2)注册模块注册模块里有两种注册方式:代售点注册和企业用户注册。

本系统从user表里的两个字段来区分:一是“代售点编号”字段,如果是代售点注册,系统在用户注册时自动分配给该用户一个编号,如果是企业用户注册,该字段为空;二是通过“用户类型来区分”,如果是代售点注册,用户类型为“1”,如果是企业用户注册,该字段值为“2”,如果是高级管理员该字段值为“0”,这个字段的值在订票和买票作中要用到,因为不同的用户类型他的提前订票和买票时间不同。

图4 注册模块界面Button_queding_Click事件的核心代码如下:this.sqlDataAdapter_mandText="insert into [user] (序号,用户名,密码,联系方式,负责人,代售点编号,具体地址,身份证,用户类型) values('"+xuhao+"','"+xingming+"','"+mima+"','"+lxfs+"','"+fzr+"','"+bianhao+"','"+dz +"','"+sfz+"','"+yonghuleixing+"')";//构造sql插入语句if(this.sqlConnection1.State.ToString()=="Closed")this.sqlConnection1.Open();//打开数据库连接this.sqlDataAdapter_user.InsertCommand.ExecuteNonQuery();//执行插入语句this.Response.Redirect("zhucechenggong.aspx");//跳转到注册成功信息页面◆获取IP的代码如下:bel_IP.Text=erHostAddress;◆获取浏览器版本号的代码如下:bel_LLQ.Text=Request.Browser.Version;(3)系统主界面系统主界面是所有系统其它所有模块的入口,主界面上的所有按钮鼠标点击事件主要执行两种代码:一是直接跳转如:this.Response.Redirect("xxx.aspx");,“xxx.aspx”是其它功能页面的名称,二是在主界面的上弹出新的窗口,如:string msg;msg = "<script language='javascript'>";msg +="window.open ('yhxx.aspx"+"','个人','height=220,width=650,top=150,left=200,toolbar=no,menubar=no,scrollbars=no,resizabl e=no,locatio n, nn=no,status=no')"; //设置弹出窗口的大小及位置msg +="</script>";this.RegisterStartupScript("个人信息",msg);//执行javascript脚本系统主界面如图5-3:图5 系统主界面(4)售票模块在买票页面,用户需要输入购买的车次,开车时间,起始站,终点站,座位类型,是不是学生票,票数,等信息。

相关主题