网上订票.docx
- 文档编号:2473277
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:14
- 大小:389.92KB
网上订票.docx
《网上订票.docx》由会员分享,可在线阅读,更多相关《网上订票.docx(14页珍藏版)》请在冰点文库上搜索。
网上订票
一、需求分析3
1.1功能需求3
1.2数据分析4
二、详细设计(系统功能、模块划分及详细设计)5
2.1整体结构5
2.2主界面设计6
2.3登录模块6
2.4注册模块8
2.5购票8
2.6退票8
2.7查询个人信息8
2.8修改密码8
三、数据库设计8
3.1SQLSERVER2005简介8
3.2概念设计9
3.3逻辑设计10
四、系统实现11
4.1购票12
五、总结13
参考文献15
一、需求分析
1.1功能需求
本网上订票系统应该具备如下功能:
1.查询
分为对车次信息的查询和客户对已订车票信息的查询。
要求:
1)对车次的查询,可以按照发车车次进行查询;
2)车次信息包括:
车号、出发地、目的地、发车日期、开出时刻、票价。
3)座位类型设定。
4)车次信息只允许用户查询,不能修改。
2.订票
通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上订票确定已预订选中的车票。
要求:
订票记录应包括:
会员名、车号、发车日期、订购日期、订购票数、总价。
3.退票
可退票,通过查询系统,客户可以根据自己的名字找到自己的订票信息,通过退票模块退去已购车票。
4.注册
用户可通过输入自己的基本信息完成注册。
1.2数据分析
1、总体数据流程图
图1-1
2、详细设计(系统功能、模块划分及详细设计)
2.1整体结构
总体设计阶段完成了软件的结构设计,划分了模块,并规定了各个模块的功能及他们之间的联系。
在此之后,按软件开发工程化的观点,应进入系统的详细设计阶段,即系统实现。
该阶段的根本目标是确定应该怎样实现所要求的系统,给出软件模块结构中各个模块的内部过程描述。
在本系统中主要包括前台销售和后台管理两部分。
2.2主界面设计
通过DIV+CSS对系统各个页面进行布局,设计如下所示网站首页:
图2-1
2.3登录模块
首先,系统检验用户名,用户名是否存在,如果不存在则重新进入开始状态,让用户重新输入拥护用户名和密码,如果存在则检验密码是否匹配,如果不匹配则重新返回开始的状态,提示用户重新输入用户名和密码,如果匹配,则进入相应界面,具体的流程如图2-2:
图2.3
代码实现如下
protectedvoidlogin_click(objectsender,EventArgse)
{
if(username.Text=="")
lb1.Text="用户名必填";
else
{
if(upsw.Text=="")
lb2.Text="密码必填且不少于六位";
else
{
if(upsw.Text.Length<6)
lb2.Text="密码不少于六位";
else
{
stringstr=ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
SqlConnectionconn=newSqlConnection(str);
SqlCommandcomm=newSqlCommand();
comm.Connection=conn;
conn.Open();
comm.CommandText=string.Format("select*fromuserswhereusername='{0}'andpsw='{1}'",username.Text,upsw.Text);
SqlDataReadersqldr=comm.ExecuteReader();
inti=0;
while(sqldr.Read())
{
i++;
}
if(i==0)
{
Response.Write("");
}
else
{
Response.Write("");
Session["name"]=username.Text;
Session["psw"]=upsw.Text;
Response.Write("");
//Response.Redirect("mypage.aspx");
}
}
}
}
2.4注册模块
用户在注册模块上,需要输入用户名,密码,姓名,性别,出生年月,手机号码,电话号码,电子邮箱,如果用户名已被注册,则不能注册,如果没有被注册,则可以注册,其他的属性也有相应的约束,如果满足所有的约束,则可以注册,
2.5购票
用户登录以后,输入相应的搜索条件,可以查询出相应的列车信息,用户可以通过点击每列后面的按钮,进行订票,然后生成一条记录插入到相应的表中。
2.6退票
用户在登陆以后,点击退票,自动查询出自己定的车票信息,然后通过每列后面的按钮,进行退票,然后从相应的表中删除此条信息。
2.7查询个人信息
用户在登录以后,点击查询个人信息,用户可以查看自己的基本信息。
2.8修改密码
用户在登录以后,点击查询修改密码,用户可以修改自己的密码。
3、数据库设计
3.1SQLSERVER2005简介
SQLServer是一个关系数据库管理系统。
它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNⅨ操作系统上的应用。
MicrosoftSQLServer2005数据引擎是该企业数据管理解决方案的核心。
此外MicrosoftSQLServer2005结合了分析、报表、集成和通知功能。
这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Webservices、Dashboard和移动设备将数据应用推向业务的各个领域。
3.2概念设计
经过概念分析,得出系统中包含的实体包括车票、用户、账单。
现给出各实体的分E—R图。
图3-1用户
图3-2订单
图3-3车票
3.3逻辑设计
根据局部E—R图,得出各实体的字段信息,列表如下:
表3.1用户表
字段名
字段类型
可否为空
解释
username
varchar(15)
NotNull
登录帐号(主键)
psw
Varchar(10)
NotNull
密码
name
Varchar(6)
NotNull
真实姓名
sex
nchar(10)
NotNull
性别
Born_date
smalldatetime
Null
出生年月
Cell_phone
decimal(11,0)
NotNull
手机号码
tel
int
Null
电话号码
Varchar(20)
NotNull
邮箱
表3.2车票表
字段名
字段类型
可否为空
解释
tnamber
varchar(6)
NotNull
车次(主键)
type
Nchar(10)
NotNull
类型
s_place
Varchar(10)
NotNull
出发地
e_place
Varchar(10)
NotNull
目的地
price
float
NotNull
价格
rank
Nchar(10)
NotNull
等级
conditioning
Nchar(10)
NotNull
空调
number
int
Notnull
余票
s_time
Varchar(6)
Notnull
发车时间
e_time
Varchar(6)
Notnull
到达时间
date
smalldatetime
Notnull
日期
表3.3订单表
字段名
字段类型
可否为空
解释
id
int
NotNull
订单号(主键)
tnamber
Varchar(6)
NotNull
车次
username
Varchar(15)
NotNull
用户名
type
Nchar(10)
Notnull
类型
4、系统实现
4.1购票
用户查询出来车票后,通过每行后面的按钮,进行订票。
图4.7
代码实现如下
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
Page.IsPostBack)
{
if(Session["mypage_child_buyticket"]==null)
{
Session.Add("mypage_child_buyticket",false);
}
getdata();
}
}
publicvoidgetdata()
{
stringstr=ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
SqlConnectionconn=newSqlConnection(str);
SqlCommandcomm=newSqlCommand(string.Format("select*fromticketwherenumber>0"),conn);
SqlDataAdapterda=newSqlDataAdapter(comm);
DataSetds=newDataSet();
da.Fill(ds,"ticket");
this.GridView1.DataSource=ds.Tables[0].DefaultView;
this.DataBind();
}
protectedvoidinsert_Click(objectsender,EventArgse)
{
stringstr=ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
SqlConnectionconn=newSqlConnection(str);
SqlCommandcomm=newSqlCommand();
comm.Connection=conn;
introw=((GridViewRow)((Button)sender).NamingContainer).RowIndex;
comm.CommandText=string.Format("insertintobill1(tnamber,username,type)values(@tnamber,@username,@type)");
comm.Parameters.AddWithValue("@tnamber",((Button)sender).CommandArgument.ToString());
comm.Parameters.AddWithValue("@username",Session["name"]);
comm.Parameters.AddWithValue("@type",GridView1.Rows[row].Cells[1].Text.ToString());
try
{
conn.Open();
if(comm.ExecuteNonQuery()>0)
{
Response.Write("");
updateticket(((Button)sender).CommandArgument.ToString(),GridView1.Rows[row].Cells[6].Text.ToString(),GridView1.Rows[row].Cells[1].Text.ToString());
}
else
Response.Write("");
}
catch(Exceptionex){}
getdata();
}
protectedvoidupdateticket(stringtnamber,stringnumber,stringtype)
{
stringstr=ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
SqlConnectionconn=newSqlConnection(str);
SqlCommandcomm=newSqlCommand();
comm.Connection=conn;
comm.CommandText=string.Format("updateticketsetnumber='{0}'wheretnamber='{1}'andtype='{2}'",Convert.ToInt32(number)-1,tnamber,type);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
comm=null;
}
五、总结
二十一世纪是一个高速、快捷的年代。
在这个高速发展的年代里,速度成了我们追求的目标;二是提高工作效率;三是降低成本。
因此,办公自动化的高速度、高效率、高便捷、低成本便成了我们的目的,为此开发了这个火车站网上订票系统。
本系统可以大大简化退票、订票、查询等十分繁琐的工作,简化办公环节,提高工作效率,而且易学、易用,满足客户需求。
这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的一个整体过程,使我真正明白了要做一个软件的难度,特别是要做一个真正可用的软件,就更难了。
在老师和同学的帮助下,我把以往所学的软件工程、数据库知识结合起来,利用VS开发工具,加上SQLServer数据库系统,完成了本次课程设计,尽量使它能满足各个方面的要求。
当然,我的个人能力有限,还有很多不足的地方,敬请谅解。
在这次课程设计过程中我遇到了不少的难题,比如数据库操作问题,界面设计问题,函数使用与实现问题,消息处理问题等等。
其中,最关键的是在最初对系统的需求分析做的不透彻,导致后续设计工作乃至编码时的修改工作量变大。
以至于为了能按时完成设计任务,我一连度过了几个通宵。
尤其,越接近结束,就越是时常出现问题。
所以,通过这次课程设计我深刻体会到软件工程还是必须学精通点、学透彻点。
通过这次课程设计,我学会了如何对所学课程综合运用,巩固了软件工程的一般规范,对数据库的使用也有了更进一步了解。
总体来说,课程设计让我学了不少知识。
我认为课程设计是我们学习生涯中相当重要的一课,除了验证学生的学习成果外,也是训练一个人独立思考及解决问题的能力.在这里,我要感谢指导老师和同学在这次课程设计中对我的帮助。
参考文献
[1]陈伟,卫林著,A3.5网站开发实例教程[M],北京:
清华大学出版社
[2]孙卫琴,李洪成著,Tomcat与JavaWeb开发技术祥解[M],北京:
电子工业出版社,2006.
[3]郑宇军.C#语言程序设计基础[M].北京:
清华大学出版社,2008
[4]郑人杰.软件工程[M].北京:
清华大学出版社,1999
[5]薛锦云.程序设计方法[M].北京:
高等教育出版社,2001
[6]麻志毅.面向对象分析与设计[M].北京:
机械工业出版社,2008
[7]C.J.Date等.数据库系统导论.北京:
机械工业出版社.2004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 订票