河南城建学院《Web技术与开发》课程设计
设计题目:火车票在线预订系统
指导教师:王斌斌、张妍琰、景伟娜
班级:0834112
学号:083411244
学生姓名:姚远
同组人员:闫建、韩经宇、杨元帅
计算机科学与工程学院
2014年6月12 日
目录
一、网站开发的基本过程 ----------------------------------------------------------------------------------------------------- 3
1.1开发背景 ----------------------------------------------------------------------------------------------------------------- 3
1.2系统设计目标 ----------------------------------------------------------------------------------------------------------- 3
1.3可行性研究 -------------------------------------------------------------------------------------------------------------- 3
1.3.1技术可行性 -------------------------------------------------------------------------------------------------------- 3
1.3.2经济可行性 -------------------------------------------------------------------------------------------------------- 4
二、系统分析 -------------------------------------------------------------------------------------------------------------------- 4
2.1需求分析 ----------------------------------------------------------------------------------------------------------------- 4
2.2功能需求 ----------------------------------------------------------------------------------------------------------------- 4
2.3 业务流程图-------------------------------------------------------------------------------------------------------------- 5
2.4功能分析 ----------------------------------------------------------------------------------------------------------------- 5
2.4.1购票预订 ----------------------------------------------------------------------------------------------------------- 5
2.4.2票价查询 ----------------------------------------------------------------------------------------------------------- 5
2.4.3余票查询 ----------------------------------------------------------------------------------------------------------- 5
2.4.4列车时刻表查询 -------------------------------------------------------------------------------------------------- 6
2.4.5新闻消息 ----------------------------------------------------------------------------------------------------------- 6
2.4.6铁路常识 ----------------------------------------------------------------------------------------------------------- 6
2.4.7 编码维护管理 ---------------------------------------------------------------------------------------------------- 6
2.5编写项目计划书 -------------------------------------------------------------------------------------------------------- 6
2.5.1项目目标 ----------------------------------------------------------------------------------------------------------- 6
2.5.2项目开发环境 ----------------------------------------------------------------------------------------------------- 6
2.5.3人员分工 ----------------------------------------------------------------------------------------------------------- 6
2.6系统设计的方法 -------------------------------------------------------------------------------------------------------- 7
三、数据库设计 ----------------------------------------------------------------------------------------------------------------- 7
3.1数据库介绍 -------------------------------------------------------------------------------------------------------------- 7
3.1.1.数据库设计的一般性原则------------------------------------------------------------------------------------ 8
3.1.2数据库设计的过程(六个阶段)-------------------------------------------------------------------------------- 8
3.2概念设计 ----------------------------------------------------------------------------------------------------------------- 9
3.3数据库逻辑结构设计 ------------------------------------------------------------------------------------------------- 12
四、如何设计公共类 ---------------------------------------------------------------------------------------------------------- 14
4.1数据库连接公共类 ---------------------------------------------------------------------------------------------------- 14
4.2验证用户登录公共类 ------------------------------------------------------------------------------------------------- 14
4.3 验证系统员公共类---------------------------------------------------------------------------------------------------- 15
五、主要功能模块的实现方法 ---------------------------------------------------------------------------------------------- 15
5.1主页设计 ---------------------------------------------------------------------------------------------------------------- 15
5.2.用户注册---------------------------------------------------------------------------------------------------------------- 16
5.3.登录界面---------------------------------------------------------------------------------------------------------------- 16
5.4购票预订 ---------------------------------------------------------------------------------------------------------------- 16
5.5余票查询 ---------------------------------------------------------------------------------------------------------------- 17
5.6查询列车时刻 ---------------------------------------------------------------------------------------------------------- 17
六、心得体会 ------------------------------------------------------------------------------------------------------------------- 17
七.参考文献 --------------------------------------------------------------------------------------------------------------------- 18
火车票在线预订系统
一、网站开发的基本过程
1.1开发背景
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。本次设计便是利用开发工具visual studio 2008和SQL server2008共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。
1.2系统设计目标
本系统是利用网络的方便、快捷和计算机的准确、高效实现火车票网上订票系统。火车票网上订票系统是通过主页访问、身份识别实现区别不同身份用户完成车票、车次的管理操作。系统有三个大的功能模块:登录功能模块,验证登录信息;管理员功能模块,实现列车管理和发布新闻;普通用户功能模块,实现车票和个人信息管理。
1.3可行性研究
可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。
可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性研究的目的不是解决问题,而是确定问题是否值得去解决。其最根本任务就是对以后的行动方针提出建议。一般来说,至少应该从下述三方面研究每种解法的可行性:
1.3.1技术可行性
本系统开发的软硬件资源都已具备,前台开发工具使用visual studio
2008,开发语言为c#,后台数据库使用SQL server 2008,其基本操作实质还是对数据库进行添加、删除、查找等操作开发环境安全,技术可靠,两者使用都相对比较熟练,因此具备技术可行性。
1.3.2经济可行性
开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。
通过以上可行性分析,认为该系统的开发方案切实可行,可进行开发。
二、系统分析
2.1需求分析
需求分析是软件设计的一个重要的环节。本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。
2.2功能需求
本网上售票系统应该具备如下功能:
1.登录
通过登录系统主页面,输入用户或管理员的信息实现用户的登录和用户身份的识别,并区别用户的权限实现不同的操作。
2.查询
分为对车次信息的查询和客户对已订车票信息的查询。要求:
(1)车次信息包括:车号、出发地、目的地、发车日期、开出时刻、票价、座位类型
(2)车次信息只允许用户查询,不能修改。
3.添加
管理员用户可实现车票信息的管理和发布新闻。
4.订票
普通用户可实现订票,通过查询系统,客户可以根据自己的账户找到车票信息,通过订票模块实现订票。
2.3 业务流程图
该图为火车票网上订票系统业务流程图
图2.3火车票网上订票系统业务流程图
2.4功能分析
2.4.1购票预订
在用户登录后进行学生个人的购票和预订票,查询显示还能被购买的车票的车次,出发时间,到站时间。
2.4.2票价查询
查询显示指定始终点各车次票价
2.4.3余票查询
查询显示剩余火车车次,车票,始终点,始终时间情况。
2.4.4列车时刻表查询
全面查询火车的始发时间,到站时间。
2.4.5新闻消息
提供最新的消息与动态。
2.4.6铁路常识
显示铁路部门的常识问题。
2.4.7 编码维护管理
管理员定时进行维护系统中使用的各种编码,以便于系统的正常运行和用户的正常使用。
2.5编写项目计划书
2.5.1项目目标
项目目标应符合smart原则,把项目要完成的工作用清晰的语言描述出来。火车票在线预订系统的项目目标如下。
2.5.2项目开发环境
开发本项目所用到的操作系统是windows 7,开发工具为visual studio 2008和SQL server 2008。
2.5.3人员分工
为了明确项目团队每一个人的人员分工,现制定人员分工表如下表所示。
2.6系统设计的方法
本系统采用的是B/S结构,即Browser/Server(浏览器/服务器)结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据。用户可以通过WWW 浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web 服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。
三、数据库设计
3.1数据库介绍
数据库是指自描述的完整记录的集合。它除了包含用户的源数据外,还包
含关于它本身结构的描述。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。另外,合理的数据库结构将非常有利于程序的实现。数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程,就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
3.1.1.数据库设计的一般性原则
第一个基本规则:对于每一个要存储其信息的实体(或事物),我们都应该给他一个自己的表;
第二个处理规则:如果你需要在一个列中存储多个值,那证明你的设计可能是有缺陷的。
简单的数据关系:一对一;一对多;多对一;多对多
在数据库的设计中:要做到数据规范化、完整性、数据冗于和规范实例化。在整个设计过程中,我们必须按步骤认真完成。
3.1.2数据库设计的过程(六个阶段)
需求分析阶段,准确了解与分析用户需求(包括数据与处理)是整个设计过程的基础,是最困难、最耗费时间的一步
概念结构设计阶段是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型对其进行优化
数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
数据库实施阶段运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行
数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计
数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才能为建立在数据库上的应用提供方便。
3.2概念设计
概念设计阶段,一般是使用语义数据模型描述概念模型,目的是使即使是非专业人员也可以看的懂。通常是使用E-R模型图作为概念设计的描述工具进行设计。
概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1:1,1:N,M:N),设计分E-R图。
在经过仔细调查济南汽车站售票系统的过程和对内容的详细分析基础上,
对本系统的需求,设计了数据库的E-R图,部分如下:管理员信息实体E-R图如图3.2.1所示:
图3.2.1管理员信息实体E-R图
新闻信息实体E-R图如图3.2.2所示:
图3.2.2新闻信息实体E-R图
余票信息实体E-R图如图3.2.3所示:
图3.2.3 余票信息实体E-R图4.票价信息实体E-R图如图3.2.4所示:
图3.2.4票价信息实体E-R图5.用户信息实体E-R图如图3.2.5所示:
图3.2.5用户信息实体E-R图
3.3数据库逻辑结构设计
1.管理员信息如表3.3.1所示:
表3.3.1管理员信息表
2.新闻信息如表
3.3.2所示:
表3.3.2新闻信息表
3.余票信息如表3.3.3所示:
表3.3.3余票信息表
4.票价信息如表3.3.4所示:
表3.3.4票价信息表
5.用户信息如表3.3.5所示:
表3.3.5用户信息表
四、如何设计公共类
开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也大大的方便了代码的管理
4.1数据库连接公共类
public static SqlConnection DBCon()
{
return new SqlConnection("server=SHERY-PC\\MSL;database=train;uid=sa;pwd=123456");
}
4.2验证用户登录公共类
public static bool Checkcommon(string commonNum, string commonPwd)
{
SqlConnection cn = DBCon();
cn.Open();
SqlCommand cmd = new SqlCommand("select count(*) from username where username='" + commonNum + "' and password='" + commonPwd + "'", cn);
int i = Convert.ToInt32(cmd.ExecuteScalar());
if (i > 0)
{
return true;
}
else
{
return false;
}
cn.Close();
}
4.3 验证系统员公共类
public static bool Checkadmin(string adminNum, string adminPwd)
{
SqlConnection cn = DBCon();
cn.Open();
SqlCommand cmd = new SqlCommand("select count(*) from admin where adminNum='" + adminNum + "' and adminPwd='" + adminPwd + "'", cn);
int i = Convert.ToInt32(cmd.ExecuteScalar());
if (i > 0)
{
return true;
}
else
{
return false;
}
五、主要功能模块的实现方法
5.1主页设计
图5.1主页界面
5.2.用户注册
图5.2用户注册界面5.3.登录界面
图5.3登录界面5.4购票预订
图5.4购票预订界面
5.5余票查询
图5.5余票查询界面
5.6查询列车时刻
图5.6时刻查询表界面
六、心得体会
对于这次的课程设计,让我印象非常深刻。首先,是自己能充分发现自己的问题,我在做这个程序时就发现了许多我自己无法解决的问题,但针对这些问题,我又必须要寻找解决的办法解决。能解决一点就能收获一点,
或者是通过同学的指教,或者是自己去查找一些资料都能让我有意外的收获。在做火车票订票系统的整个过程中,可以说花了我很长时间,也许对于别人来说着知识一个简单的小任务,但对于我来说,我对编程的基础还不算怎么好,可我能一步一步的做完,还在最后做成功了,使我深深的感受到了一种喜悦的感觉。
第二就是很能体会到一种合作的精神,在程序设计的开始的阶段,小组成员都陷入了困境,因为我们也好像找不到什么平时讲过的东西可以参考,而且我们对编程也不是怎么的了解,书上的案例和方法只是介绍了一个个单独的模块,对于系统的整体把握还相当的缺乏,然后就相互的交流着,只要有一个人能发现点什么就会在一起讨论,最后是我们就通过这样的一步一步的发现与解决而解决了最终的问题。
最后的一点就是发现了学习还是要与实践结合才有用,我们平时学的都是理论,虽说也有上机课,但是老师都会把那些程序代码给我们,而我们就只照上面写,那时候我们根本就不想思考,以致我感觉我现在什么都不会似的。所以平时学的东西要自己主动的去操作,多了解对各种控件的方法的使用,对各种参数的传递的方法有个大致的了解,才能使各个页面之间的联系紧凑,保证逻辑的严密性和完整性,从而实现程序的实用性和可靠性。
七.参考文献
[1] 闫洪亮、吕海莲. https://www.doczj.com/doc/045493430.html,程序设计案例教程. 北京邮电大学出版社
[2] 吉根林. Web程序设计. 电子工业出版社
[3] 任学文、范严. 网页设计与制作. 中国科学技术出版社
[4] 吴涛. 网站全程设计技术. 清华大学出版社
[5] 赵增敏. ASP动态网页设计. 电子工业出版社
[6] 吴黎兵、罗云芳. 网页设计教程. 武汉大学出版社
报告编号:第六组 综合课程设计报告 车票管理系统的设计与实现 学生姓名:孙伟何娜杨帆王玲 指导教师:李杰 所在系:电子信息系 所学专业:计算机科学与技术 年级班级: 11级计算机(1)班 2012 年12月
目录 摘要 (1) 第一章前言 (2) 1.1 现状分析 (2) 1.2 开发环境 (2) 1.3 主要功能 (2) 第二章需求分析 (3) 2.1系统的性能 (3) 2.2系统的目标 (3) 第三章概要设计 (4) 3.1车票管理系统概要设计概述 (4) 3.2模块划分 (4) 3.2.1车票管理系统模块 (4) 3.2.2管理员模块 (4) 3.2.3管理员模块 (5) 第四章详细设计 (6) 4.1车票管理系统详细设计概述 (6) 4.2开始界面流程图 (6) 4.2.1车票管理系统流程 (6) 4.2.2管理员操作流程 (6) 4.2.3 游客操作流程 (7) 第五章系统的实现 (9) 5.1类的分类 (9) 5.2界面的实现 (9) 第六章小结 (15) 参考文献 (16)
车票管理系统的设计与实现 摘要 为了满足人们的订票需求,我们第六组利用面向对象程序设计来完成了车票管理系统的设计与实现。该系统是利用面向对象程序设计来实现游客对车票的浏览、查询以及管理员对车票的录入、修改、删除等功能。人们可以通过登录该系统查询目前的车票状况,确定有无车票,如果有,可以去管理员处进行订购;如果在开车前取消行程,可以去管理员处进行退订。管理员可以帮助游客进行买票、退票以及对车票信息的修改,对于新增的班次进行录入,还可以对已录入的班次进行修改或删除,我们利用所学习的知识,完成了车票管理系统的设计与实现。 关键字:订票车票管理系统面向对象程序设计
一、课程设计的内容 车票管理系统 一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次发车时间起点站终点站行车时间额定载量已定票人数 1 8:00 郫县广汉 2 45 30 2 6:30 郫县成都0.5 40 40 3 7:00 郫县成都0.5 40 20 4 10:00 郫县成都0. 5 40 2 … (一)功能要求:用c/c++设计一系统,能提供下列服务: (1)录入班次信息(信息用文件保存),可不定时地增加班次数据 (2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。 (3)查询路线:可按班次号查询,可按终点站查询 (4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数 二、课程设计的要求与数据 1、进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程序设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程序设计开发文档的能力。 三、课程设计应完成的工作 1、编写完成相应题目的程序; 2、编写课程设计报告,课程设计报告的内容应包括以下6个部分: 1) 需求分析:包括设计题目、设计要求以及系统功能需求分析; 2) 总体设计:包括系统总体设计框架和系统功能模块图; 3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程 图; 4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调 试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图); 5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些 地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容; 6) 附录:主要源程序代码,含必要的注释。 3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解 决问题、运行程序和回答教师提出的问题。
需求规格说明书
1.编写目的 在现今的社会是一个讲究效率和快节奏的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,为此开发机票预定系统软件,能够适应现今社会并提高生产效率。使售票员和乘客变得更加方便和有效率。 该系统软件非常容易被接受,他具有简单易学性,便于管理等优点. 2.项目背景 随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,机票预订系统也开始影响着人们日常生活和出行,并且变得越来越重要。而原有的系统随着航空公司载客量的迅猛增长和人们对便捷性要求的提高,已经变得无法满足需求。原有的系统不仅效率比较低下,而且在安全性、准确性等方面有很多不足。 为了实现航空公司的现代化管理,进一步提高工作效率,方便旅客,需要开发一个机票预订系统。该系统需要具有完整的存储,查询,核对,打印机票的功能。 在这个系统中,旅客可以通过计算机系统查询,系统为旅客安排航班,打印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印机票给旅客。 3.业务需求 该系统是一个中小型的系统,通过该订票系统,航空公司,可以很好的对定票、退票、改签、售票情况核算进行管理。 4.功能需求 1. 航班查询 2. 订票管理
3. 退票管理 4. 改签管理 5. 机票销售情况核算 用例描述 5.1 车票查询 车票查询是显示目前正在出售的所有车次,以及每个车次的描述和相关信息等。 用例描述:火车售票车次选择 执行者:旅客 前置条件:旅客已登录系统; 后置条件:选择车次后,则可以填写订单; 基本路径: a) 旅客登录到车站的售票网页,显示目前的车次列表,发布的日期,销售车票数等; b) 点击任何一个车次可以浏览每个车次的详细信息,包括车次描述、起始/终点站、销售车票数、车票类型等信息; c) 如果对该车次满意,可以点击订购车票进入填写订单信息页面,开始填写订单和提交订单等环节。 5.2 订单录入 如果旅客满意某个车次,就开始录入订单,订单从旅客的基本信息开始,然后 起始站、终点站、车票类型、乘车人数等内容,最后开始提交订单。具体描述 如下: 用例描述:订单输入 执行者:旅客 前置条件:旅客已选择订票车次; 后置条件:订单输入后,则可以提交订单基本路径: a) 基本信息输入,包括姓名、性别、年龄、证件类型、证件号码、社会角色等信息 b) 本次乘车信息输入,包括乘车起始站、终点站、乘车人数等;
软件学院 课程设计报告书 课程名称JavaEE 课程设计______________________ 设计题目个人财务系统____________________ 专业班级软件工程 _______________________ 学号xxxxxxxxx07 __________________________ 姓名XXXXX_______________________________ 指导教师姜彦吉 ________________________
2011年12 月
4.1.4系统构造关系 图一2 (jsp页面构造)
4.2 Jsp 页面设计 421登录界面 图一4 (登录界面) 代码如下: vform action= "servlet/LoginServlet" method= "post" >
图一5 (登录成功查询界面) 代码如下: <% String username=(String)session.getAttribute (”name"); if (username!= null ){%>