基于Java火车旅客信息网上管理系统含源文件.docx

上传人:b****4 文档编号:4931871 上传时间:2022-12-11 格式:DOCX 页数:34 大小:578.91KB
下载 相关 举报
基于Java火车旅客信息网上管理系统含源文件.docx_第1页
第1页 / 共34页
基于Java火车旅客信息网上管理系统含源文件.docx_第2页
第2页 / 共34页
基于Java火车旅客信息网上管理系统含源文件.docx_第3页
第3页 / 共34页
基于Java火车旅客信息网上管理系统含源文件.docx_第4页
第4页 / 共34页
基于Java火车旅客信息网上管理系统含源文件.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于Java火车旅客信息网上管理系统含源文件.docx

《基于Java火车旅客信息网上管理系统含源文件.docx》由会员分享,可在线阅读,更多相关《基于Java火车旅客信息网上管理系统含源文件.docx(34页珍藏版)》请在冰豆网上搜索。

基于Java火车旅客信息网上管理系统含源文件.docx

基于Java火车旅客信息网上管理系统含源文件

毕业设计(论文)

 

火车旅客信息管理系统

 

姓名:

xxxx

系部:

信息工程系

专业:

摘要

火车旅客信息网上管理系统的总体目标是:

在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的火车旅客信息网上管理系统,为主管部门的决策者和管理者提供充足的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高人事管理的效率。

 

关键词:

铁路系统;数据库;数据字典;信息管理

引言

随着人类文明的飞速发展,人类的活动不仅仅局限在一个小的圈子里。

而且物品也越来越丰富,致使铁路运输企业有了很大的发展。

与之俱来的是对旅客信息的管理。

如果单凭人力,根本跟不上环境的要求,不但工作量大而且容易出错。

随着科技的发展,计算机软硬件技术已经达到了相当高的水平。

于是,火车旅客信息网上管理软件迎合了市场,为企业创造了不少价值。

火车旅客信息网上管理,不仅仅是对旅客信息的简单管理,它包括火车时刻表、车次查询、紧急通知、乘车小常识等信息的发布和相关管理。

这是对旅客的热情服务也是人性化关怀的充分展现。

这套系统分二部分进行信息管理:

管理员管理,是最为重要的一部分,它包括售票订票系统的权限设置,旅客意见的采纳与回复;火车时刻表管理,是对车辆信息的管理,包括车辆的车次,始发站与终点站,快慢等级,发车时间与到达时间,及中途站点停车时间等;紧急通知编辑,是当火车在行车过程中遇到紧急突发事件,如道路受损、让车、技术停车等情况下对旅客进行及时通知;乘车小常识管理,包括沿途风光介绍,沿线土特产介绍,防盗与安全意识介绍等,是人性化服务很重要的一个组成部分。

本系统采用Web模式来设计,服务器端我们采用Oracle数据库Jsp+servlet组件来构成服务系统;客户端采用浏览器来完成查询,修改,删除全过程,同时可进行远程系统维护和治理。

第一章需求分析

1.1任务需求分析

系统任务主要包括:

1)时刻信息:

时刻信息的输入、查询、修改;

2)车次信息:

车次信息的输入、查询、修改;

3)售票信息:

售票信息的输入、查询、修改;

4)订票信息:

订票信息的输入、查询、修改;

5)通知、常识等信息:

通知、乘车常识信息的输入、查询、修改;

6)用户注册,用户信息的输入等等;

7)用户登陆,用户登录时查询,进入后进行购票;

8)管理员信息:

初始化管理员,对其他管理员的增加,删除,查询

1.2数据流图、数据字典及实体联系图

1.2.1数据流图

图3-1数据流图

数据流图由四种基本的元素构成:

数据流(DataFlow),处理(Process),数据存储和数据源(数据终点)。

数据流(DataFlow):

为具有名称且有流向的数据,用标有名称的箭头表示,一个数据可以是记录、组合项或基本项。

处理(Process):

表示对数据所进行的加工和变换,在图中用矩形框表示。

指向处理数据流为该处理的输入数据,离开处理的数据为处理的输出数据。

数据存储:

表示用文件方式或数据库形式所存储的数据,堆砌进行的存取分别以指向或离开数据存储的箭头表示。

数据源及数据终点:

表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是为了帮助理解系统界面而引入的,一般只出现在数据流图的起点和终点。

1.2.2数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

 

(a)(b)

 

(c)(d)

(c)(d)

名字:

通知、乘车常识等信息

别名:

通知、常识等信息

描述:

其他人性化服务信息

定义:

通知、常识等信息=通知播报时间+通知事件内容+播报员+乘客反映+紧急程度(等级制)

位置:

存储设备

(e)

 

图3-2火车旅客信息网上管理系统的数据字典

1.2.3数据库的具体设计如下

A.管理员管理信息表

B.订票管理信息表

C.货物托运管理信息表

D.时刻信息管理表

E.站内新闻管理信息表

F.车次信息通知管理信息表

G.售票信息管理信息表

H.车次信息管理表

 

I.用户信息管理表

1.2.4实体联系E-R图

根据对数据流图和数据字典的分析,我们可以确定该应用中的实体,属性和实体之间的关系,并画出如下所示的E-R图。

火车旅客信息网上管理系统E-R模型,如图所示:

前台操作流程:

 

后台操作流程:

 

 

 

图3-3订票管理E-R图

 

图3-4时刻管理E-R图

 

 

图3-5车次管理E-R图

 

图3-6售票管理E-R图

 

图3-7通知管理E-R图

图3-8系统后台ER图

系统ER图说明

1)售票过程中一个售票员可以售出多车票,一个乘客只能乘坐一辆车。

2)一次订票可能会定出多张车票。

3)通知常识等信息等的紧急程度可以采用等级制。

视图设计:

1)查询视图:

可以查询订票信息,时刻信息,售票信息和订票信息。

2)输入视图:

当售出车票时,可以添加信息,每次的存储信息发生改变时可以进行输入。

3)修改视图:

可以很方便的在一定权力下对系统信息进行修改,比如售票订票信息等。

第二章系统概要设计

2.1总体设计

总体设计过程通常由两个主要阶段组成:

系统设计阶段,确定系统的具体设计方案。

结构设计阶段,确定软件结构。

系统概要设计的基本目的是用比较抽象的概括方式确定系统如何完成预定的任务,也就是要确定系统的配置物理方案。

软件结构设计时应该遵循的最主要的原理是模块独立,让模块彼此间的接口关系应该尽量简单。

2.2系统功能模块图

可以根据模块独立原理对软件结构进行精化。

为了合理的分解,得到尽可能高的内聚、尽可能松散的耦合,最终要的是,为了得到一个易于实现、易于测试和易于维护的软件结构,应该对模块进行再分解或合并。

系统功能模块图如下图所示:

 

 

图4-1系统功能模块图

 

本系统共包括五大模块,分别是时刻信息管理模块,车次信息管理模块,售票信息管理模块,订票信息管理模块和通知乘车常识信息管理模块。

每个模块的功能如下:

1.时刻信息管理模块功能:

(1)实现时刻表相关信息的查询;

(2)实现时刻表信息的更新,包括增加、删除、修改功能。

2.车次管理模块功能:

(1)实现车次信息的查询;

(2)实现车次信息的修改,添加,删除。

3.售票信息管理模块功能:

(1)实现售票信息的查询;

(2)实现售票信息的适时更新,包括增加、删除、修改功能。

4.订票信息管理模块

(1)实现订票信息的查询;

(2)实现订票信息的增加,修改功能。

5.通知乘车常识等信息的管理模块

(1)实现通知乘车常识等信息的查询;

(2)实现信息通知乘车常识等的增加和修改功能。

6.站内新闻信息管理等模块

(1)实现站内新闻信息的增加删除修改;

(2)实现站内新闻信息的查询和分页

2.3数据库概念设计

数据库一般分为三级模式:

外模式、概念模式和内模式。

外模式也就是不同用户所对的数据视图,它将数据库内部抽象的数据及其互相之间的关系表示为简单、直观的应用界面。

概念模式是数据库中全部数据的逻辑结构和特征描述,通常以某种数据模型为基础。

内模式是对数据的物理结构和存储方式的描述。

在这里我们将要设计的是数据库的概念模式,通过对火车旅客信息网上管理系统的内容和数据流程分析及E-R图,设计如下数据项和数据结构。

a)订票信息表(订票单号,订票时间,订单总价,车票价格,订票人,车次,起始站点,终点站点,发车时间,购买的票数,付款状态,退订事宜)

b)时刻信息表(时刻编号,车次,发车时刻,中途停车时间,到达时刻)

c)车次信息表(火车编号,车次,列车类别,起始站,终点站,)

d)售票信息表(售票单号,售票时间,车票价格,客票类别,车次,起始站点,终点站点)

e)通知乘车常识等信息表(通知编号,通知时间,通知事件,播报人,车次)

f)用户信息表(用户编号,用户名,用户真实名字,用户密码,用户邮箱,用户电话,证件类型,身份证号码)

g)站内新闻表(新闻编号,新闻标题,新闻内容,新闻图片,发布新闻时间)

h)托运货物表(托运货物订单表,托运人名字,货物名字,托运货物价钱,托运人的目的地,托运人电话,接货人名字,接货人电话,接货人地址,货物描述,托运时间)

2.4数据库逻辑结构设计

在数据库设计中相当重要的一步就是将概念模型转化为计算机上DBMS所支持的数据模型,例如,将E-R图模型转化为关系模型,道理很简单,我们设计概念模型基本上都是一些抽象的关系,在再数据库设计的实现过程中,在计算机上有效地表示出这些关系就成了数据库设计的关键。

根据运输企业信息管理系统的功能要求,选取Oracle库。

一、在上面的实体和实体之间的E-R图设计基础上,形成数据库中的表格及表格之间的关系。

表4-1订票信息表(A)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

AID

Integer

20

PK

Notnull

订票单号

ATIME1

VARCHAR2

6

Notnull

订票时间

TICKETVALUE

FLOAT

Notnull

车票价格

ANAME

VARCHAR2

10

Notnull

总价格

ANO

Integer

28

Notnull

车次

BFROM

VARCHAR2

10

Notnull

起始站

BTO

VARCHAR2

10

Notnull

终点站

ATIME2

VARCHAR2

18

Notnull

发车时间

NUMBERED

NUMBER

50

Notnull

订票数量

MONEYSTATUS

VARCHAR2

10

Notnull

付款状态

AOTHERS

VARCHAR2

50

Notnull

退票事宜

USERNAME

VARCHAR2

20

Notnull

订票人

表4-2车次信息表(B)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

BID

Integer

10

PK

Notnull

火车编号

ANO

Integer

6

Notnull

车次

BLEVEL

VARCHAR2

10

Notnull

列车类别

BFROM

VARCHAR2

10

Notnull

起始站

BTO

VARCHAR2

10

Notnull

终点站

TICKETNUMBER

NUMBER

Notnull

车票数量

SALETIME

VARCHAR2

Notnull

买票时间

表4-3时刻信息表(C)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

CNO

Integer

10

PK

Notnull

车次

ANO

Integer

20

Notnull

DEPTIME

VARCHAR2

20

Notnull

发车时刻

MIDWAYSTOP

VARCHAR2

20

Notnull

中途停车时间

REACHTIME

VARCHAR2

20

到达时刻

表4-4售票信息表(D)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

ID

Integer

10

PK

Notnull

售票单号

SALETIME

VARCHAR2

10

Notnull

售票时间

TICKETVALUE

VARCHAR2

8

Notnull

车票价格

TICKETLEVEL

VARCHAR2

14

Notnull

客票类别

ANO

Integer

8

Notnull

车次

BFROM

VARCHAR2

20

Notnull

起点站

BTO

VARCHAR2

20

Notnull

终点站

表4-5通知乘车常识等信息表(E)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

CNO

Integer

10

PK

Notnull

通知编号

ANO

VARCHAR2

24

Notnull

车次

DEPTIME

VARCHAR2

20

Notnull

通知时间

MIDWAYSTOP

VARCHAR2

20

Notnull

播报人

REACHTIME

VARCHAR2

20

Notnull

通知事件

表4-6管理员信息表(F)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

ID

Integer

10

PK

Notnull

管理员编号

ADMINNAME

VARCHAR2

24

Notnull

管理员名称

ADMINPASS

VARCHAR2

20

Notnull

管理员密码

表4-7用户信息表(F)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

USERID

Integer

10

PK

Notnull

管理员编号

USERNAME

VARCHAR2

24

Notnull

管理员名称

REALNAME

VARCHAR2

20

Notnull

真实姓名

PASSWORD

VARCHAR2

20

Notnull

用户密码

USEREMAIL

VARCHAR2

20

Notnull

用户邮箱

USERPHONE

VARCHAR2

20

Notnull

用户电话

CARDLEVEL

VARCHAR2

20

Notnull

证件类型

USERCARD

VARCHAR2

20

Notnull

身份证号码

表4-8新闻表(F)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

NEWSID

Integer

10

PK

Notnull

新闻编号

TITLE

VARCHAR2

24

Notnull

新闻标题

CONTENT

VARCHAR2

20

Notnull

新闻内容

IMAGE

VARCHAR2

Notnull

新闻图片

TIMES

VARCHAR2

Notnull

新闻时间

表4-9用户注意信息表(F)

字段名

字段类型

长度

主/外键

字段值约束

对应中文名

INFORMID

Integer

10

PK

Notnull

通知编号

ANO

Integer

24

Notnull

车次

EVENTS

VARCHAR2

500

Notnull

通知事件

INFORMTIME

VARCHAR2

20

Notnull

通知时间

BOBAONAME

VARCHAR2

20

Notnull

播报人

2.5连接数据库的特点

当开发环境通过连接到数据库上之后,在设计中使用数据库画笔可实现对该数据库中表格,视图等的操作,如创建表空间,创建用户,创建表,修改表,删除表,增加/删除记录。

设计中设计数据窗口的时候,通过对话框实现与数据的连接。

在应用程序中

则一般是在应用程序对象中书写连接数据库的程序代码,使得应用程序开始运行并实现与数据库的连接,此时采用的是最基础是JDBC的方式连接数据库,并对其数据库进行操作。

第三章详细设计

3.1系统的主要功能及实现

根据上面的需求分析,设计好数据库系统,然后开发应用程序可以考虑的窗体的系统,每一个窗体实现不同的功能,可以设计下面的几个模块。

3.1.1系统登陆管理模块

功能:

本模块的主要功能是对用户身份进行,验证只有系统的合法用户才能进入系统。

并且不同的用户具有不同的权限,权限低的用户对有的功能将不可用。

详细设计如下:

publicclassUserLoginServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=-35371583551546599L;

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

this.doPost(request,response);

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

try{

StringuserName=request.getParameter("userName");

StringpassWord=request.getParameter("passWord");

CheckDaod=newCheckDao();

UsersModelusers=newUsersModel();

users.setUserName(userName);

users.setPassWord(passWord);

//根据userName,passWord判断userName是否存在这样的信息返回boolean

//为真则存在,不为真则不存在

booleanf=d.checkLoginUsers(users);

ListlistNews=newArrayList();

//创建数据库链接

Connectionconn=DBConnection.getConnection();

//随机产生6条最新新闻信息

Stringsql="selectrownumrs,n.*fromnewsnwhererownum<=6orderbytimesdesc";

PreparedStatementps=conn.prepareStatement(sql);

//执行查询操作

ResultSetrs=ps.executeQuery();

//进行遍历取值

while(rs.next()){

NewsModelnews=newNewsModel();

news.setNewsId(rs.getInt("newsId"));

news.setTitle(rs.getString("title"));

................

listNews.add(news);

}

request.setAttribute("listNews",listNews);

FindAllDaoda=newFindAllDao();

Listlist=da.findAllNoticeInfoModel();

request.setAttribute("list",list);

FindAllDaofd=newFindAllDao();

Listlistnews=fd.findAllRandom();

request.setAttribute("listnews",listnews);

if(f){

HttpSessionsession=request.getSession();

session.setAttribute("userName",userName);

request.getRequestDispatcher("/WEB-INF/view/index.jsp")

.forward(request,response);

}else{

//不存在则返回到登录页面返回提示信息msg

Stringmsg="用户名或密码错误";

request.setAttribute("msg1",msg);

request.getRequestDispatcher(

"/WEB-INF/view/users/userLogin.jsp?

msg=300").forward(

request,response);

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

3.1.2时刻信息管理模块

功能:

该模块主要是实现时刻的信息查询、修改,删除等几个功能。

旅客信息查询:

该模块为所有旅客提供查询功能,查询其详细信息,但是对于信息没有修改权限。

具体实现:

管理员(有操作此系统权限的任何人)对信息具有修改删除等权限,并允许每位旅客查询,当列车时刻信息有变化时通过管理员对信息进行修改。

3.1.3车次信息管理模块

功能:

本模块的主要功能是把车次信息写入存储器,同时对数据库中的信息进行更新,以备用户将来对存储的信息进行查询和打印,此外还可以对车次信息进行查询和删除功能。

具体实现:

提供车次查询、信息修改、信息删除等功能。

当有新的车次安排时,将车次的详细信息输入并保存,当线路取消或变更时进行修改或删除。

增加信息具体实现如下:

publicbooleaninsertTrainInfo(TrainInfoModeltrainInfo){

booleanflag=false;

try{

conn=DBConnection.getConnection();

ps=conn.prepareStatement(TrainInfoCommons.SqlInsertTrainInfo);

ps.setInt(1,trainInfo.getaNo());

ps.setString(2,trainInfo.getTicketValue());

ps.setString(3,trainInfo.getbLevel());

ps.setString(4,trainInfo.getbFrom

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1