课程设计报告书.docx
- 文档编号:9983086
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:21
- 大小:1.05MB
课程设计报告书.docx
《课程设计报告书.docx》由会员分享,可在线阅读,更多相关《课程设计报告书.docx(21页珍藏版)》请在冰豆网上搜索。
课程设计报告书
课程设计报告书
设计名称:
数据库
课程名称:
汽车站售票管理系统
学生姓名:
专业:
班别:
学号:
指导老师:
日期:
2011年1月2日
摘要
第一章管理信息系统相关理论
1.1管理信息系统的发展历史
2.2管理信息系统的特点及开发方式
2.3管理信息系统的开发方式和开发过程
第二章汽车站售票管理系统思想路线
第三章汽车站售票管理系统分析与设计
3.1汽车站售票管理系统功能需求简介及描述
3.2目标系统要求
3.3系统平台选择
第四章数据库设计
4.1数据库设计概述
4.2数据库需求分析
4.3数据库概念结构设计
第五章汽车站售票管理数据库的实现
5.1表格创建、查询、删除等的实现和代码
5.2视图的创建、查询、添加、更新等实现和代码
第六章汽车站售票管理系统的功能实现
6.1系统登录
6.2菜单窗口实现及代码
6.3查询的实现与代码
6.4添加新管理员实现及代码
6.5修改用户密码实现及代码
6.6删除管理员实现及代码
第七章心得体会
参考文献
汽车站售票管理系统
摘要
现代化汽车站售票是预订车票、售票、退票、车次查询、发车时间及最后打印报表及其他各种服务。
车站售票组织庞大,业务多,服务项目多,信息量大,要想解决这么繁琐的状态,提高服务效率和质量,必须借助计算机来进行现代化的信息管理。
第一章概述了管理信息系统的相关理论,第二章简要进行系统功能需求分析和设计总思想,第三章对本系统进行分析和设计,包括功能需求描述,数据库转化为数据表及数据库设计等信息,第四章介绍本系统的具体实现,包括一些主要界面和实现的关键技术。
最后为参考文献等附加内容。
关键字:
汽车站售票分析设计
第一章管理信息系统的相关理论
1.1管理信息系统的发展历史
信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人机一体系”。
进入20世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。
世界发达国建已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。
我国管理信息系统大发展是在80年代末90年代初,数多企事业单位建立了局域网和广域网管理信息系统。
随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统。
还是面向少数专家和管理人员的专家系统或决策支持系统,其处理对象和服务对象,自身的系统结构处理能力,都有了进一步的发展。
2.2管理信息系统的特点及开发方式
管理信息系统是一个为管理决策服务的信息系统,它能够及时提供所需要的信息,帮助决策者作出决策;它具有对组织进行全面管理的综合性的特点;以通信功能作为界面设计的核心,界面必须始终一致;它的目的在于辅助决策,而决策只能由人来做,因而它具有人机结合的特点;它作为一门新的学科,产生较晚,其理论体系尚处于发展和完善的过程,它还是多学科交叉的边缘科学体系。
2.3管理信息系统的开发方式和开发过程
管理信息系统的开发方式主要有独立开发方式、委托开发方式、合作开发方式、购买现成软件方式等4中。
这4中开发方式各有优点和不足,需要根据使用单位的技术力量、资金情况、外部环境等各种因素进行综合考虑和选择。
不论哪种开发方式都需要有单位的领导和业务人员参加,并在管理信息系统的整个开发过程中培养、锻炼、壮大该系统的维护队伍。
管理信息系统的开发过程一般包括开发准备、系统调查、系统分析、系统设计、系统实现、系统转换、系统运行与维护、系统评价等步骤。
根据开发系统的大小、复杂、投入、方式、方法等因素的不问,各步骤的要求和内容也不同,用户需要根据实际情况进行取舍和计划。
第二章汽车站售票管理系统思想路线
需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
现代化车站售票是集预定车票、售票、退票、车次查询、报表及其他各种服务,那么该系统一定要包括售票、查询、管理和维护等功能。
车站售票组织庞大,服务业务多,信息量大,需要建立多个数据表,相互连接成一个整体。
传统手工的车站售票管理,管理过程繁琐而复杂,执行效率低,并且抑郁出错。
通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了车站售票管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。
经过一系列调查,得出以下思想路线:
设计思路图
第三章汽车站售票管理系统分析与设计
3.1汽车站售票管理系统功能需求简介及描述
一个完善的车站售票计算机管理信息系统应当包括系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。
设置表格我们要以用户需求为目标,以方便用户为原则,系统将在统一的Windows操作系统图形界面下提供各种实用功能,尽可能降低实用前的学习、实施和使用中的维护时间。
近于手工操作,直观的图形用户界面美观、友好、简单易用,充分配合前台操作人员操作条件及习惯,有良好的易用性。
我们可以通过功能需求简单的将功能描述出来:
1.售票功能
(1)售票车票
(2)预订车票(3)退票
2.查询功能
(1)车次查询
(2)时刻表查询(3)售票情况查询
3.调度功能
(1)运价修改
(2)车辆修改(3)终点站修改(4)车次修改
4.维护功能
(1)车票表修改
(2)预订车票表修改(3)退票表修改(4)密码修改
5.统计功能
(1)售票统计
(2)报表打印
3.2目标系统要求
目标系统应该要有时间经济性,具有连续准确的处理业务,易与修改、扩展、维护,能够适应业务不断发展变化的需要。
能够完全满足业务需求,保证系统的物理安全和数据存储的安全和保密,及传输的安全与保密,做好使用人员的授权管理。
3.3系统平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将未然平台作为首选方案;另一方面从技术角度来讲,微软的应用无论是在开发商,还是在软件的部署上都非常容易,而且性能优越。
操作系统:
WindowsXP数据库:
SQLServer2005开发工具语言:
C#
第四章数据库设计
4.1数据库设计概述
数据库设计是对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的储存和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
数据操作要求是能对数据库内的表格进行查询、增加、删除、修改、统计等操作。
关系数据库是以关系模型为基础的数据库,是跟进表、记录和字段之间的关系进行组织和访问的一种数据库,它是通过若干个表来存取数据,并且通过关系将这些表联系在一起,关系数据库提供了成为机构化查询语言标注接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。
该车站售票管理系统的数据库选用Microsoft公司的SQLServer2005产品作为数据库应用程序。
目前的SQLServer2005是Microsoft强大的数据库平台的第六代产品,是32位SQLServer2005的第三个版本。
4.2数据库需求分析
数据库在一个信息管理系统中占有非常重要的地位,信息要求是指在数据库中应该存储和管理哪些数据对象;数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
合理的数据库结构设计可以提高数据库存储的效率,保证数据的完善和一致。
同时,合理的数据库结构也将有利于程序的实现。
用户的需求具体体现在各种信息的提供、保存、更新、和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,可以为后面的具体设计和开发打下坚实的基础。
仔细分析调查有关车站售票管理信息需求的基础上,通过对车站售票管理过程的内容和数据流程分析,该系统的数据项和数据结构如下:
车次表=车辆编号+车型+座位数
终点站名表=站名+里程
运价表=车型+运价
发成时刻表=车次+车辆编号+站名+发车时间+检票口
已售车票表=票号+乘车日期+车次+站名+发车时间+票价+全半价+工号+退票否
预订车票表=预定号+乘车日期+车次+站名+发车时间+车型+票价+客户名称+订票数量
退票数=票号+退票时间+票价+应退款
售票员编号=编号+姓名
汽车站售票管理系统数据字典设计
字段名
类型
长度
主/外键
车辆编号
Char(10)
4
主
车型
Varchar
8
座位总数
Smallint
2
车辆表
字段名
类型
长度
主/外键
站名
Varchar
10
主
里程
Int
4
目标站表
字段名
类型
长度
主/外键
车次
CHAR
10
主
站名
CHAR
10
发车时间
Datetime
5
检票口
Smallint
2
发车时刻表
字段名
类型
长度
主/外键
票号
Int
4
主
乘车日期
Datetime
8
车次
Char
10
站名
Char
10
票价
Float
8
发车时间
Datetime
8
座位号
Smallint
2
编号
Char
10
车票表
字段名
类型
长度
主/外键
票号
Int
4
外
退票时间
Datetime
8
票价
Float
8
应退票
Float
8
退票表
字段名
类型
长度
主/外键
编号
Char
10
主
姓名
Char
10
售票员表
4.3数据库概念结构设计
得到上面数据项和数据结构以后,为后面的数据字典设计打下基础。
E-R图
把E-R图转化为关系模型:
车辆(车辆编号(主键),车型,座位数)
目标站名(站名(主键),里程)
发车时刻表(车次(主键),站名,车辆编号,发车时间,检票口)
车票(票号(主键),乘车日期,车次,站名,票价,全半价,座位号,工号(外键),退票否)
退票(票号(主键),退票时间,票价,应退款)
售票员(编号(主键),姓名)
第五章汽车站售票管理数据库的实现
1.1表格创建、查询、删除等的实现和代码
以车票表为例,创建表格的代码:
createtableticket
(Tnointprimarykey,//定义票号为主码
Dnochar(10)notnull,//车次不能为空
Tnamechar(10),
TdataDatetime,
DtimeDatetime,
Tpricefloat,
TsnoSmallint,
Cnochar(10));
查询代码:
selectticket.Tno,ticket.Dno,ticket.Tname
Fromticket,Departure
Whereticket.Dno=Departure.Dnoand
ticket.Tname=Departure.Tnameandticket.Dno='N100';
删除代码:
deletefromticketwhereticket.Dno='N100';
2.2视图的创建、查询、添加、更新等实现和代码
新建视图C-Car隐含了由子查询中Select子句中的三列名组成,且车子形状Cshape为小型车的时候
createviewC_Car
as
selectCno,Cshape,Ctno
fromCar
whereCshape='small';
视图的查询,查询视图C_Car中车子编号为’N001‘的编号和车子座位总数的多少:
SELECTC_Car.Cno,Ctno
FROMC_Car
whereC_Car.Cno='N001'
增加视图新纪录:
INSERTINTOC_Car
(Cno,Cshape,Ctno)VALUES
('F100','big',42)
更新视图数据:
UPDATEC_Car
SETCshape=’big’
WHERECno=’N001’;
第六章汽车站售票管理系统的功能实现
建立一个完整的汽车站售票管理系统,必须要和VS连接一起来做,这样不但可以减少一些操作的麻烦,还可以更节省时间来完成我们所需要的操作。
6.1系统登录
我们必须先添加一个类来实现数据库封装和调用,在右边点击右键选择添加,然后选择添加类,给类出名字为DbHelper,添加两行定义代码:
usingSystem.Data.SqlClient;usingSystem.Data;并在里面添加如下代码:
namespace数据库
{
classDbHelper
{
privatestaticstringStr="DataSource=.;InitialCatalog=汽车站售票管理系统;IntegratedSecurity=True";
privatestaticSqlConnectionconn=newSqlConnection(Str);
publicBooleanupdatesql(stringstrSQL)
{
SqlCommandmycmd=newSqlCommand(strSQL,conn);
if(conn.State==System.Data.ConnectionState.Closed)
{
conn.Open();
}
mycmd.ExecuteNonQuery();
returntrue;
}
publicDataSetgetDataSet(stringstr)
{
SqlDataAdapterda=newSqlDataAdapter(str,conn);
DataSetds=newDataSet();
da.Fill(ds);
returnds;
}
添加textbox文本框,两个lable按钮,两个button按钮,设计模块界面6-1
实现代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstrSQL="select*fromAdminwhereAno='"+textBox2.Text.Trim()+"'andAname='"+textBox1.Text.Trim()+"'";
DataSetds;
DbHelperdb=newDbHelper();
ds=db.getDataSet(strSQL);
if(ds.Tables[0].Rows.Count>0)
{
menuaa=newmenu();
aa.Show();
this.Visible=false;
}
else
{
MessageBox.Show("用户名或密码不正确!
","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
}}
privatevoidbutton2_Click(objectsender,EventArgse)
{Application.Exit();}
6.2菜单窗口实现及代码
菜单窗口是登录窗口和后面所有窗口的媒介,设置模块6-2
菜单窗口只是为了连接下一个窗口,所以每个按钮的代码都是差不多的,唯一要改的就是改一下需要连接下一个窗口的名字。
以修改密码为例,代码为:
Modifyee=newModify();//Modify是我修改密码那个窗口的name;
ee.Show();
6.3查询的实现与代码
添加好自己需要的textbox、button、lable按钮,在这里最重要的要显示数据库里面的数据,所以要添加DataGridView控件,并对DataGridView设置以下属性:
allowusertoaddrows:
false;在属性窗体的最下方Columns中打开编辑器,在其中添加自己相应数据表中的几列,并一一进行以下设置datapropertyname:
应设置为相应表格中的列名;frozen:
设置为false;Headertext:
设置为显示表格的中文列标题;ReadOnly:
设置为true。
以目标站为例,设置模块界面6-3:
代码实现,添加一行定义代码usingSystem.Data.SqlClient;实现代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsql=string.Empty;
sql="select*fromticketwhere0=0";
if(textBox1.Text!
="")
sql+="andTno='"+textBox1.Text+"'";
if(textBox2.Text!
="")
sql+="andDno='"+textBox2.Text+"'";
if(textBox3.Text!
="")
sql+="andTname='"+textBox3.Text+"'";
if(textBox4.Text!
="")
sql+="andTprice='"+textBox4.Text+"'";
if(textBox5.Text!
="")
sql+="andTdata='"+textBox5.Text+"'";
if(textBox6.Text!
="")
sql+="andDtime='"+textBox6.Text+"'";
if(textBox7.Text!
="")
sql+="andTsno='"+textBox7.Text+"'";
if(textBox8.Text!
="")
sql+="andAno='"+textBox8.Text+"'";
DbHelperdb=newDbHelper();
dataGridView1.AutoGenerateColumns=false;
dataGridView1.DataSource=db.getDataSet(sql).Tables[0];
}
privatevoidticket_Load(objectsender,EventArgse)
{
stringStr="DataSource=.;InitialCatalog=汽车站售票管理系统;IntegratedSecurity=True";
SqlConnectionconn=newSqlConnection(Str);
SqlDataAdapterda=newSqlDataAdapter("select*fromticket",conn);
DataSetds=newDataSet();
da.Fill(ds,"ticket");
dataGridView1.AutoGenerateColumns=false;
dataGridView1.DataSource=ds.Tables[0];
}
6.4添加新管理员实现及代码
设置模块界面6-4:
为窗体添加需要的控件后,即可对确定按钮添加代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{stringstrSQL="select*fromadminwhereAno='"+textBox2.Text+"'andAname='"+textBox1.Text+"'";
DataSetds;
DbHelperdb=newDbHelper();
ds=db.getDataSet(strSQL);
if(ds.Tables[0].Rows.Count>0)
{
MessageBox.Show("输入信息已存在数据库相应表格中");
}
else
{
strSQL="INSERTINTOadmin(Ano,Aname)values('"+textBox1.Text+"','"+textBox2.Text+"')";
DbHelperdbhelper=newDbHelper();
dbhelper.updatesql(strSQL);
MessageBox.Show("添加成功!
");
}}
privatevoidbutton2_Click(objectsender,EventArgse)
{this.Close();
}
6.5修改用户密码实现及代码
设置模块6-5:
添加一行定义代码usingSystem.Data.SqlClient;确定按钮代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstrSQL="select*fromAdminwhereAno='"+textBox2.Text.Trim()+"'andAname='"+textBox1.Text.Trim()+"'";
DataSetds;
DbHelperdb=newDbHelper();
ds=db.getDataSet(strSQL);
if(ds.Tables[0].Rows.Count>0)
{if(textBox3.Text!
=textBox4.Text)
{MessageBox.Show("新密码不一致");}
else
{stringsSQL="updateadminsetAno='"+textBox3.Text+"'whereAname='"+textBox1.Text+"'";
adminss=newadmin();
DbHelperdbhelper=newDbHelper();
dbhelper.updatesql(sSQL);
MessageBox.Show("密码修改成功");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告书