东莞理工学院城市学院
CITY COLLEGE OF DONGGUAUNIVERSITY OF TECHNO LOGY
课 程 设 计 报 告
实验项目名称: 网上机票预定系统 姓 名: 叶奕川 张绍华
学 号: [1**********]2 [1**********]4 计信 系 08 级 计科 2 班
东莞理工学院城市学院计算机与信息科学系
2011年 12月
一、引言.......................................................................................................................... 3 二、 需求分析 . ................................................................................................................ 3
2.1系统开发背景 ..................................................................................................... 3 2.2软件主要组成及功能 . .......................................................................................... 4 2.3用户特点及一般约束 . .......................................................................................... 5
2.3.1. 管理员和用户的登陆 ............................................................................... 5 2.3.2. 管理员的日常操作 . .................................................................................. 5 2.3.3. 用户的的日常操作 . .................................................................................. 5 2.3.4功能需求(用DFD 图表示) . ..................................................................... 5 2.4外部接口需求 ..................................................................................................... 8 2.5性能需求 ............................................................................................................ 8 2.6软件属性需求 ..................................................................................................... 8 2.7数据需求(ER 图表示)....................................................................................... 9 三、概要设计................................................................................................................. 10
总体设计................................................................................................................. 10
● 用户订票界面............................................................................................ 10
● ● ●
增加航班界面.............................................................................................11 航班删除界面............................................................................................ 12 客户查询及预订界面 . ................................................................................ 13
四、详细设计................................................................................................................. 14
4.1 窗体代码设计 .................................................................................................. 14
(1) 订票代码................................................................................................... 14 (2)实时更新预定信息 ...................................................................................... 16 (3)删除航班 .................................................................................................... 17 4.2 数据库设计 . ..................................................................................................... 17
4.2.1 系统登陆设计 ........................................................................................ 17 4.2.2 航班信息设计 ........................................................................................ 17
4.2.3 航班查询设计 ........................................................................................ 18
五、课程设计总结.......................................................................................................... 19 六、参考文献................................................................................................................. 20
一、引言
摘要
随着因特网的发展,航空客运业务规模的日益宏大,传统售票方式已经不能满足时代的要求。
本系统——航空售票系统,采用ASP.NET 技术作为创建应用程序的方式,以C #作为编程语言,采用SQL Server 数据库作为后台数据库。它是基于Browser/Server结构下形成的数据驱动的Web 应用程序。不仅能方便旅客,还能节省航空公司的代理费用,加速资金周转。
本系统基本遵循了软件工程方法论进行系统分析、总体设计、详细设计和软件测试。
实现了后台管理员对航空公司、航班和订票信息的维护;前台客户通过注册登陆可以查询航班信息,进行订票和查看自己的购票信息并可以删除管理员未确认的订票信息。同时可以进行购票错误以后的退票信息等功能。
关键词 ASP.NET 、 C# 、SQL Server2000 、 VS.NET 2008 、电子商务
二、需求分析
2.1系统开发背景
当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。今年是“十五”计划开局之年,中共十五届五中全会通过的国民经济和社会发展第十个五年计划建议中已明确指出:“信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节。”“大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。”,可见,党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。
随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。现在将详细介绍我的课程设计——网上机票预订管理系统。
2.2软件主要组成及功能
要完成功能主要有:
● 新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,
可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,
如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接
陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息
清空,重新输入。
● 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、
管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。
● 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息
显示到界面上,还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可以点击我的机票查询,查询该用户的订票记录。 ● 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(舱位
信息查询,客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。 ● 退票窗口,用户可以根据用户信息表中的我的机票信息查询,找出机票号,
在输入到机票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息。
● 管理员界面的管理员添加界面能对管理员信息进行查询、添加、删除和修
改,包括用户名、登陆密码和联系方式。
● 管理员界面的舱位信息的查询、添加、删除和修改,包括舱位等级编号、
舱位等级名称、提供的各种服务类别,以及备注信息等。
● 管理员界面的客机信息界面对客机信息的添加、修改、删除和查询,包括
客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。
● 管理员界面的航线信息界面对航线信息的添加、修改、删除和查询,包括
航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。
● 客户等级信息的的添加、修改、删除和查询,包括客户等级编号、客户等
级名称、折扣比例和备注信息等。
● 管理员界面的用户信息查询,能查询所有的已注册的用户信息。 ● 管理员界面订票信息界面,可以查询所有的已订的机票的信息。
2.3用户特点及一般约束
2.3.1. 管理员和用户的登陆
要求合法的管理员以及用户才能登陆体统,防止系统被无关人员动用,使用字符串匹配对用户名和密码进行判断。管理员和用户的登录对相应的操作权限也不一样,如果是用户登录,管理员的窗口属性为不可用,管理员有舱位信息管理,客机信息管理,航线信息管理,客户类型信息管理,客户信息和订票信息管理,用户主要有舱位查询,客机信息查询,航线信息查询,客户类型信息查询,自己的信息管理,和自己订票和退票。
2.3.2. 管理员的日常操作
管理员可以对舱位信息,客机信息,航线信息,客户类型信息,进行查询、修改和删除操作,可以对客户信息和订票信息只有查询操作。
2.3.3. 用户的的日常操作
用户可以进行注册然后登陆系统,可以查询舱位信息,客机信息查询,航线信息查询,客户类型信息,可以对自己的信息进行修改,可以定票(按照航班号进行预订机票,显示所订机票的信息和价格,进入支付系统付账,并再次要求客户确认,确认无误后订票成功),可以退票(在特殊情况下(如天气不适合飞机起降,飞机延误超过30分钟)等给予全额退票,如果是个人原因只能退50%),对退票后的机票要在未售出机票中重新体现。 2.3.4功能需求(用DFD 图表示) 2.3.4.1用户注册的DFD 图
顶层图:
1. 层图
数据流图
2.3.4.2用户订票的DFD 图 顶层图:
1层图:
2层图:
机 票 数 量 已 满 信 息
2.3.4.3机票信息查询的DFD 图 顶层图:
1层图:
2.4外部接口需求
在用户界面方面要求错误信息格式均以弹出提示框的形式出现,硬软件接口
方面没有特别的需求,一般用户都可以直接使用。 2.5性能需求
因为系统本身较小,并不投入实际应用,因此响应时间、结果精度方面可能会比较差,数据量大小方面能够处理较大的数据量。 2.6软件属性需求
在数据检索、数据增删改方面必须做到丝毫不差,满足软件开发的正确性要求。
必须考虑充足的异常处理机制以及软件的复用性,以便增强软件的健壮性。 在安全保密性方面做到不同身份所能处理的事务不同,避免保密数据泄漏;设置足够的触发器对不安全的数据修改进行回滚操作,进而保证了安全性要求。
所开发出来的软件必须是可维护的,不能把一些东西做的太死。
2.7数据需求(ER 图表示)
管理员信息实体E-R 图如图2-1所示。
图2-2舱位等级信息实体E-R 图
客机信息实体E-R 图如图2-3所示。
图2-3 客机信息实体E-R 图
航线信息实体E-R 图如图2-4所示。
图2-4航线信息实体E-R 图
订票信息实体E-R 图如图2-5所示。
图2-5 订票信息实体E-R 图
实体之间关系的E-R 图如图2-6所示。
图2-6实体之间关系的E-R 图
三、概要设计
总体设计
● 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、
管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。
● 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息
显示到界面上,还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可以点击我的机票查询,查询该用户的订票记录。 ● 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(舱位
信息查询,客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。 ● 用户订票界面
增加航班界面
● 管理员界面的客机信息界面对客机信息的添加、删除和查询,包括客机编
号、客机型号、购买时间、服役时间以及备注信息等。
● 航班删除界面
● 管理员界面的航线信息界面对航线信息的添加、修改、删除和查询,包括
航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客
机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。
● 客户查询及预订界面
四、详细设计
4.1 窗体代码设计
(1) 订票代码
private void Pice()
{
if (txtId.Text.Trim() == "" )
{
MessageBox .Show(" 请填写航班号" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
txtId.Focus();
}
else if (txtPice.Text.Trim() == "" )
{
MessageBox .Show(" 请填写您要预订的票数" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
txtPice.Focus();
}
else if (cboType.Text.Trim() == "" )
{
MessageBox .Show(" 请选择类型" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
cboType.Focus();
}
else if (txtFromTime.Text.Trim() == "" )
{
MessageBox .Show(" 请填写日期" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
txtFromTime.Focus();
}
else
{
Priced();
}
}
private void Priced()
{
string message = "" ;
int Num = 0;
int bookSeatNum = 0; " 提示" ,
int Pice = Convert .ToInt32(txtPice.Text);
try
{
string Dayth = txtFromTime.Text;
string Type = cboType.Text;
string sql = string .Format("select sum(Number) from
OrderInfo where FlightNo='{0}' and LeaveDate='{1}' and SeatType = '{2}'
" , txtId.Text, Dayth, Type);
SqlCommand command = new SqlCommand (sql,
DBHepler .connection);
DBHepler .connection.Open();
if (!(command.ExecuteScalar() is DBNull ))
{
bookSeatNum =
Convert .ToInt32(command.ExecuteScalar());
MessageBox .Show(bookSeatNum.ToString());
}
}
catch (Exception ex)
{
MessageBox .Show(ex.Message);
}
finally
{
DBHepler .connection.Close();
}
switch (cboType.Text)
{
case " 头等舱" :
Num = 8 - bookSeatNum;
//MessageBox.Show(Num.ToString());
break ;
case " 经济舱" :
Num = 160 - bookSeatNum;
//MessageBox.Show(Num.ToString()); break ;
}
if (Pice >= Num)
{
message = string .Format(" 剩余客票只有{0}请选择其他航
班!" , Num);
MessageBox .Show(message, " 温馨提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
}
else
{
Rearch();
}
}
(2)实时更新预定信息
private void Rearch()
{
int rs = 0;
DBHepler .connection.Open();
string sql = string .Format("insert into
OrderInfo(FlightNo,LeaveDate,SeatType,Number) values
('{0}','{1}','{2}','{3}')", txtId.Text, txtFromTime.Text, cboType.Text, txtPice.Text);
SqlCommand command = new
SqlCommand (sql,DBHepler .connection);
rs = command.ExecuteNonQuery();
DBHepler .connection.Close();
if (rs == 1)
{
MessageBox .Show(" 预定成功" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
DBHepler .connection.Open();
string SQL = string .Format("select id from OrderInfo where OrderInfo.FlightNo='"+txtId.Text.ToString()+"' and
LeaveDate='"+txtFromTime.Text.ToString()+"' and
SeatType='"+cboType.Text.ToString()+"' and
Number='"+txtPice.Text+"'" );
SqlCommand comm = new SqlCommand (SQL,
DBHepler .connection);
SqlDataReader dataRead = comm.ExecuteReader(); if (dataRead.Read())
{
string s = "" ;
s = Convert .ToInt32(dataRead["id" ]).ToString(); MessageBox .Show(" 符合你的打印ID 号有:"
+Environment .NewLine+ s, " 打印ID 号" );
}
dataRead.Close();
DBHepler .connection.Close();
}
else
{
MessageBox .Show(" 预定失败" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
}
}
(3)删除航班
private void btndelete_Click(object sender, EventArgs e)
{
if (ticketInfoDataGridView.CurrentCell.RowIndex
return;
}
else
{
ticketInfoDataGridView.Rows.RemoveAt(ticketInfoDataGridView.CurrentCell.RowIndex);
ticketInfoTableAdapter.Update(ticketDataSet); MessageBox.Show("删除成功!"," 操作提示");
}
}
4.2 数据库设计
4.2.1 系统登陆设计
4.2.2 航班信息设计
4.2.3 航班查询设计
五、课程设计总结
在这次课程设计中,我们完成的是一个网上机票预定系统。在做这个系统的过程中,我们通过上网及课本查找相关资料,后来发现网上的比较复杂,超出我们的能力范围,因此我们将按照自己所学得到的知识进行编写及设计这个程序,因此程序可能比较简易。在设计的过程中,我跟张绍华同学一起探讨,当然中间我们也出现过大大小小的问题,但是在我们的努力下很多问题都解决了。在这次的课程实验中我们再一次的体验到了团队合作的重要性,在以后的学习中我们一定会灵活运用我们所学的知识。
六、参考文献
[1] >,刘国燊编著. 北京电子工业出版社.2003年9月.
[2] >.杨学全主编, 赵慧勤, 李英杰, 张永周编著北京:电子工业出版社.2004年7月
[3] >.史济民, 顾春华, 李昌武, 苑荣编著. 北京:高等教育出版社.2004年1月.
[4] >张海藩编著. 论. 北京:清华大学出版社.2005年10月.
[5] >张奇, 李律松, 卫建伟等编著. 北京:清华大学出版社.2005年6月.
[6] >,邹建峰编著,北京人民邮电出版社.2006年1月.
[7] >KoureshArdestani著,张哲峰译.. 北京:清华大学出版社.2003年3月.
[8]石志国编著.ASP.NET 程序设计实用教程. 北京:电子工业出版社.2006年4月.
[9]李万宝主编.ASP.NET 技术详解与应用实例. 北京:机械工业出版社.2005年9月
[10]《数据库系统概论》萨师煊 王珊 高等教育出版社1999年第3版
[11]《完全掌握SQL Server 2000》罗运模 人民邮电出版社,2001
[12]《PowerDesigner 软件工程技术》白尚旺等 电子工业出版社,2004
[13] 《数据库系统概论》萨师煊 王珊 编著. 高等教育出版社.2006年5月第4版
[14] 《完全掌握SQL Server> 2000》罗运模 编著. 人民邮电出版社.2001
[15] 《个体软件工程》Watts S.Humphrey 编著. 人民邮电出版社
[16] 《实用软件工程》郑人杰,殷人昆,陶永雷 编著.清华大学出版社.1997.4
[17] 《数据库系统概论》王珊,萨师煊 编著,高等教育出版社,2006.5第四版
[18] 《计算机软件产品开发文件编制指南》
[19] 《管理信息系统》薛成华 编著. 清华大学出版社
[11]《软件工程--实践者的研究方法》 Roger S.Pressman著
[15]《软件工程面向对象和传统的方法》 机械工业出版社
[16]《软件工程方法与实践——新编计算机类本》 电子工业出版社
[17] http://sme.fudan.edu.cn
[18] http:// www.read.book118.cn
[19] http://www.docin.com
[20] http://baidu.com
[21] http://download.csdn.net
东莞理工学院城市学院
CITY COLLEGE OF DONGGUAUNIVERSITY OF TECHNO LOGY
课 程 设 计 报 告
实验项目名称: 网上机票预定系统 姓 名: 叶奕川 张绍华
学 号: [1**********]2 [1**********]4 计信 系 08 级 计科 2 班
东莞理工学院城市学院计算机与信息科学系
2011年 12月
一、引言.......................................................................................................................... 3 二、 需求分析 . ................................................................................................................ 3
2.1系统开发背景 ..................................................................................................... 3 2.2软件主要组成及功能 . .......................................................................................... 4 2.3用户特点及一般约束 . .......................................................................................... 5
2.3.1. 管理员和用户的登陆 ............................................................................... 5 2.3.2. 管理员的日常操作 . .................................................................................. 5 2.3.3. 用户的的日常操作 . .................................................................................. 5 2.3.4功能需求(用DFD 图表示) . ..................................................................... 5 2.4外部接口需求 ..................................................................................................... 8 2.5性能需求 ............................................................................................................ 8 2.6软件属性需求 ..................................................................................................... 8 2.7数据需求(ER 图表示)....................................................................................... 9 三、概要设计................................................................................................................. 10
总体设计................................................................................................................. 10
● 用户订票界面............................................................................................ 10
● ● ●
增加航班界面.............................................................................................11 航班删除界面............................................................................................ 12 客户查询及预订界面 . ................................................................................ 13
四、详细设计................................................................................................................. 14
4.1 窗体代码设计 .................................................................................................. 14
(1) 订票代码................................................................................................... 14 (2)实时更新预定信息 ...................................................................................... 16 (3)删除航班 .................................................................................................... 17 4.2 数据库设计 . ..................................................................................................... 17
4.2.1 系统登陆设计 ........................................................................................ 17 4.2.2 航班信息设计 ........................................................................................ 17
4.2.3 航班查询设计 ........................................................................................ 18
五、课程设计总结.......................................................................................................... 19 六、参考文献................................................................................................................. 20
一、引言
摘要
随着因特网的发展,航空客运业务规模的日益宏大,传统售票方式已经不能满足时代的要求。
本系统——航空售票系统,采用ASP.NET 技术作为创建应用程序的方式,以C #作为编程语言,采用SQL Server 数据库作为后台数据库。它是基于Browser/Server结构下形成的数据驱动的Web 应用程序。不仅能方便旅客,还能节省航空公司的代理费用,加速资金周转。
本系统基本遵循了软件工程方法论进行系统分析、总体设计、详细设计和软件测试。
实现了后台管理员对航空公司、航班和订票信息的维护;前台客户通过注册登陆可以查询航班信息,进行订票和查看自己的购票信息并可以删除管理员未确认的订票信息。同时可以进行购票错误以后的退票信息等功能。
关键词 ASP.NET 、 C# 、SQL Server2000 、 VS.NET 2008 、电子商务
二、需求分析
2.1系统开发背景
当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。今年是“十五”计划开局之年,中共十五届五中全会通过的国民经济和社会发展第十个五年计划建议中已明确指出:“信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节。”“大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。”,可见,党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。
随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。现在将详细介绍我的课程设计——网上机票预订管理系统。
2.2软件主要组成及功能
要完成功能主要有:
● 新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,
可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,
如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接
陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息
清空,重新输入。
● 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、
管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。
● 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息
显示到界面上,还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可以点击我的机票查询,查询该用户的订票记录。 ● 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(舱位
信息查询,客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。 ● 退票窗口,用户可以根据用户信息表中的我的机票信息查询,找出机票号,
在输入到机票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息。
● 管理员界面的管理员添加界面能对管理员信息进行查询、添加、删除和修
改,包括用户名、登陆密码和联系方式。
● 管理员界面的舱位信息的查询、添加、删除和修改,包括舱位等级编号、
舱位等级名称、提供的各种服务类别,以及备注信息等。
● 管理员界面的客机信息界面对客机信息的添加、修改、删除和查询,包括
客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。
● 管理员界面的航线信息界面对航线信息的添加、修改、删除和查询,包括
航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。
● 客户等级信息的的添加、修改、删除和查询,包括客户等级编号、客户等
级名称、折扣比例和备注信息等。
● 管理员界面的用户信息查询,能查询所有的已注册的用户信息。 ● 管理员界面订票信息界面,可以查询所有的已订的机票的信息。
2.3用户特点及一般约束
2.3.1. 管理员和用户的登陆
要求合法的管理员以及用户才能登陆体统,防止系统被无关人员动用,使用字符串匹配对用户名和密码进行判断。管理员和用户的登录对相应的操作权限也不一样,如果是用户登录,管理员的窗口属性为不可用,管理员有舱位信息管理,客机信息管理,航线信息管理,客户类型信息管理,客户信息和订票信息管理,用户主要有舱位查询,客机信息查询,航线信息查询,客户类型信息查询,自己的信息管理,和自己订票和退票。
2.3.2. 管理员的日常操作
管理员可以对舱位信息,客机信息,航线信息,客户类型信息,进行查询、修改和删除操作,可以对客户信息和订票信息只有查询操作。
2.3.3. 用户的的日常操作
用户可以进行注册然后登陆系统,可以查询舱位信息,客机信息查询,航线信息查询,客户类型信息,可以对自己的信息进行修改,可以定票(按照航班号进行预订机票,显示所订机票的信息和价格,进入支付系统付账,并再次要求客户确认,确认无误后订票成功),可以退票(在特殊情况下(如天气不适合飞机起降,飞机延误超过30分钟)等给予全额退票,如果是个人原因只能退50%),对退票后的机票要在未售出机票中重新体现。 2.3.4功能需求(用DFD 图表示) 2.3.4.1用户注册的DFD 图
顶层图:
1. 层图
数据流图
2.3.4.2用户订票的DFD 图 顶层图:
1层图:
2层图:
机 票 数 量 已 满 信 息
2.3.4.3机票信息查询的DFD 图 顶层图:
1层图:
2.4外部接口需求
在用户界面方面要求错误信息格式均以弹出提示框的形式出现,硬软件接口
方面没有特别的需求,一般用户都可以直接使用。 2.5性能需求
因为系统本身较小,并不投入实际应用,因此响应时间、结果精度方面可能会比较差,数据量大小方面能够处理较大的数据量。 2.6软件属性需求
在数据检索、数据增删改方面必须做到丝毫不差,满足软件开发的正确性要求。
必须考虑充足的异常处理机制以及软件的复用性,以便增强软件的健壮性。 在安全保密性方面做到不同身份所能处理的事务不同,避免保密数据泄漏;设置足够的触发器对不安全的数据修改进行回滚操作,进而保证了安全性要求。
所开发出来的软件必须是可维护的,不能把一些东西做的太死。
2.7数据需求(ER 图表示)
管理员信息实体E-R 图如图2-1所示。
图2-2舱位等级信息实体E-R 图
客机信息实体E-R 图如图2-3所示。
图2-3 客机信息实体E-R 图
航线信息实体E-R 图如图2-4所示。
图2-4航线信息实体E-R 图
订票信息实体E-R 图如图2-5所示。
图2-5 订票信息实体E-R 图
实体之间关系的E-R 图如图2-6所示。
图2-6实体之间关系的E-R 图
三、概要设计
总体设计
● 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、
管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。
● 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息
显示到界面上,还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可以点击我的机票查询,查询该用户的订票记录。 ● 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(舱位
信息查询,客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。 ● 用户订票界面
增加航班界面
● 管理员界面的客机信息界面对客机信息的添加、删除和查询,包括客机编
号、客机型号、购买时间、服役时间以及备注信息等。
● 航班删除界面
● 管理员界面的航线信息界面对航线信息的添加、修改、删除和查询,包括
航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客
机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。
● 客户查询及预订界面
四、详细设计
4.1 窗体代码设计
(1) 订票代码
private void Pice()
{
if (txtId.Text.Trim() == "" )
{
MessageBox .Show(" 请填写航班号" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
txtId.Focus();
}
else if (txtPice.Text.Trim() == "" )
{
MessageBox .Show(" 请填写您要预订的票数" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
txtPice.Focus();
}
else if (cboType.Text.Trim() == "" )
{
MessageBox .Show(" 请选择类型" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
cboType.Focus();
}
else if (txtFromTime.Text.Trim() == "" )
{
MessageBox .Show(" 请填写日期" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
txtFromTime.Focus();
}
else
{
Priced();
}
}
private void Priced()
{
string message = "" ;
int Num = 0;
int bookSeatNum = 0; " 提示" ,
int Pice = Convert .ToInt32(txtPice.Text);
try
{
string Dayth = txtFromTime.Text;
string Type = cboType.Text;
string sql = string .Format("select sum(Number) from
OrderInfo where FlightNo='{0}' and LeaveDate='{1}' and SeatType = '{2}'
" , txtId.Text, Dayth, Type);
SqlCommand command = new SqlCommand (sql,
DBHepler .connection);
DBHepler .connection.Open();
if (!(command.ExecuteScalar() is DBNull ))
{
bookSeatNum =
Convert .ToInt32(command.ExecuteScalar());
MessageBox .Show(bookSeatNum.ToString());
}
}
catch (Exception ex)
{
MessageBox .Show(ex.Message);
}
finally
{
DBHepler .connection.Close();
}
switch (cboType.Text)
{
case " 头等舱" :
Num = 8 - bookSeatNum;
//MessageBox.Show(Num.ToString());
break ;
case " 经济舱" :
Num = 160 - bookSeatNum;
//MessageBox.Show(Num.ToString()); break ;
}
if (Pice >= Num)
{
message = string .Format(" 剩余客票只有{0}请选择其他航
班!" , Num);
MessageBox .Show(message, " 温馨提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
}
else
{
Rearch();
}
}
(2)实时更新预定信息
private void Rearch()
{
int rs = 0;
DBHepler .connection.Open();
string sql = string .Format("insert into
OrderInfo(FlightNo,LeaveDate,SeatType,Number) values
('{0}','{1}','{2}','{3}')", txtId.Text, txtFromTime.Text, cboType.Text, txtPice.Text);
SqlCommand command = new
SqlCommand (sql,DBHepler .connection);
rs = command.ExecuteNonQuery();
DBHepler .connection.Close();
if (rs == 1)
{
MessageBox .Show(" 预定成功" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
DBHepler .connection.Open();
string SQL = string .Format("select id from OrderInfo where OrderInfo.FlightNo='"+txtId.Text.ToString()+"' and
LeaveDate='"+txtFromTime.Text.ToString()+"' and
SeatType='"+cboType.Text.ToString()+"' and
Number='"+txtPice.Text+"'" );
SqlCommand comm = new SqlCommand (SQL,
DBHepler .connection);
SqlDataReader dataRead = comm.ExecuteReader(); if (dataRead.Read())
{
string s = "" ;
s = Convert .ToInt32(dataRead["id" ]).ToString(); MessageBox .Show(" 符合你的打印ID 号有:"
+Environment .NewLine+ s, " 打印ID 号" );
}
dataRead.Close();
DBHepler .connection.Close();
}
else
{
MessageBox .Show(" 预定失败" , " 提示" ,
MessageBoxButtons .OK, MessageBoxIcon .Information);
}
}
(3)删除航班
private void btndelete_Click(object sender, EventArgs e)
{
if (ticketInfoDataGridView.CurrentCell.RowIndex
return;
}
else
{
ticketInfoDataGridView.Rows.RemoveAt(ticketInfoDataGridView.CurrentCell.RowIndex);
ticketInfoTableAdapter.Update(ticketDataSet); MessageBox.Show("删除成功!"," 操作提示");
}
}
4.2 数据库设计
4.2.1 系统登陆设计
4.2.2 航班信息设计
4.2.3 航班查询设计
五、课程设计总结
在这次课程设计中,我们完成的是一个网上机票预定系统。在做这个系统的过程中,我们通过上网及课本查找相关资料,后来发现网上的比较复杂,超出我们的能力范围,因此我们将按照自己所学得到的知识进行编写及设计这个程序,因此程序可能比较简易。在设计的过程中,我跟张绍华同学一起探讨,当然中间我们也出现过大大小小的问题,但是在我们的努力下很多问题都解决了。在这次的课程实验中我们再一次的体验到了团队合作的重要性,在以后的学习中我们一定会灵活运用我们所学的知识。
六、参考文献
[1] >,刘国燊编著. 北京电子工业出版社.2003年9月.
[2] >.杨学全主编, 赵慧勤, 李英杰, 张永周编著北京:电子工业出版社.2004年7月
[3] >.史济民, 顾春华, 李昌武, 苑荣编著. 北京:高等教育出版社.2004年1月.
[4] >张海藩编著. 论. 北京:清华大学出版社.2005年10月.
[5] >张奇, 李律松, 卫建伟等编著. 北京:清华大学出版社.2005年6月.
[6] >,邹建峰编著,北京人民邮电出版社.2006年1月.
[7] >KoureshArdestani著,张哲峰译.. 北京:清华大学出版社.2003年3月.
[8]石志国编著.ASP.NET 程序设计实用教程. 北京:电子工业出版社.2006年4月.
[9]李万宝主编.ASP.NET 技术详解与应用实例. 北京:机械工业出版社.2005年9月
[10]《数据库系统概论》萨师煊 王珊 高等教育出版社1999年第3版
[11]《完全掌握SQL Server 2000》罗运模 人民邮电出版社,2001
[12]《PowerDesigner 软件工程技术》白尚旺等 电子工业出版社,2004
[13] 《数据库系统概论》萨师煊 王珊 编著. 高等教育出版社.2006年5月第4版
[14] 《完全掌握SQL Server> 2000》罗运模 编著. 人民邮电出版社.2001
[15] 《个体软件工程》Watts S.Humphrey 编著. 人民邮电出版社
[16] 《实用软件工程》郑人杰,殷人昆,陶永雷 编著.清华大学出版社.1997.4
[17] 《数据库系统概论》王珊,萨师煊 编著,高等教育出版社,2006.5第四版
[18] 《计算机软件产品开发文件编制指南》
[19] 《管理信息系统》薛成华 编著. 清华大学出版社
[11]《软件工程--实践者的研究方法》 Roger S.Pressman著
[15]《软件工程面向对象和传统的方法》 机械工业出版社
[16]《软件工程方法与实践——新编计算机类本》 电子工业出版社
[17] http://sme.fudan.edu.cn
[18] http:// www.read.book118.cn
[19] http://www.docin.com
[20] http://baidu.com
[21] http://download.csdn.net