公交车查询系统

公交车查询系统
公交车查询系统

河北农业大学

本科毕业论文(设计) 题目:公交车查询系统

摘要

随着国民经济的进一步增长,中国的城市化步伐越来越快,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交车以其方便、快捷、容量大而成为城市交通主体。公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活、社会生产和流通领域的关键环节。本系统以保定市的城市公交车线路为背景,主要实现对公交车系统的查询与管理操作。在查询方面主要分为线路查询、站点查询、换乘查询三大功能,在管理方面主要分为增加、删除、修改线路及站点信息的功能。通过详实的问题定义与需求分析,本系统实现了上述功能。该系统可以帮助查询人员找到所需线路的详细信息,方便了人们的乘车出行。本软件用JSP作为开发语言并结合SQL数据库,只要将公交站点等信息输入数据库,就可以很快构建成一个简单、实用的本地公交查询系统。

关键词:公交车系统;查询;JSP;SQL数据库

Abstract

With the further growth of the national economy, the pace of the city, Chinese more and more fast, economic prosperity of the city, the increase of population,the city must solve people's travel demand. City bus with its convenient, fast,large capacity and become the main city traffic. Public transport query system is an important part of city road traffic, is the inevitable outcome of city development, is the key link between the national life, the field of social production and circulation. This system is based on the background of Baoding city bus lines, the main achievement of the bus inquiry system of management and operation. As the line inquiry, site query, query three transfer functions are divided in terms of queries, in the field of management is divided into increase,delete, modify the line and station information function. Through the detailed analysis of the problem definition and requirements, the system realized the function. The system can help people find the detailed information required for query line, convenient for people to travel by car. The software used JSP as the development language and SQL database integration, as long as the bus stops and other information entered into the database, you can quickly build into a simple, practical system of local public transport inquiry.

Keywords: bus systems, query, JSP, SQL database

目录

1 引言 (1)

1.1 课题背景 (1)

1.2 论文的研究内容 (1)

1.3 论文的组织结构 (2)

2 系统的开发工具与环境 (3)

2.1 JSP基础知识 (3)

2.2 JSP Servlet简介 (4)

2.3 开发工具与环境 (4)

2.3.1 Web开发轻平台——Tomcat简介 (4)

2.3.2 MyEclipse简介 (6)

2.3.3 MySQL数据库简介 (6)

2.3.4 Dreamweaver简介 (7)

2.3.5 B/S模式 (8)

3 需求分析 (9)

3.1 系统需求分析 (9)

3.2 数据库需求分析 (9)

3.3 性能分析 (11)

4 系统设计 (13)

4.1 概述 (13)

4.2 功能模块划分 (14)

4.3 数据库设计 (15)

4.3.1 数据库概念结构设计 (16)

4.3.2 数据库逻辑结构设计 (18)

5 详细设计与实现 (20)

5.1 前台功能的实现 (20)

5.1.1 查询界面 (20)

5.1.2 按线路查询 (20)

5.1.3 按站点查询 (21)

5.1.4 换乘查询 (21)

5.1.5 留言 (22)

5.2 后台功能的实现 (22)

5.2.1 添加线路基本信息 (23)

5.2.2 添加线路具体信息 (23)

5.2.3 修改线路基本信息界面 (24)

5.2.4 修改线路具体信息界面 (24)

5.2.5 查看/删除线路界面 (25)

5.2.6 管理站点界面 (25)

5.2.7 管理留言界面 (26)

6 测试与维护 (27)

6.1测试项目计划 (27)

6.2 测试方法 (27)

6.3 测试内容 (27)

6.4 软件维护 (31)

6.4.1 软件维护的影响因素 (31)

6.4.2 软件的可维护性 (31)

6.4.3 提高软件可维护性的方法 (31)

总结 ................................................................... 32 参考文献 ............................................................... 32 致谢 . (33)

33

34

1 引言

1.1 课题背景

随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。这些年城市里面买私家车的人是越来越多,但是对于生活在这个城市里面的绝大多数人来说,上下班和出行还是需要公共交通工具,比如说公交车。

在极力保证城市可持续发展之路与不发达的交通路线的情况下,如何让人们方便地出门成了各个城市管理部门所关心的问题。为了降低出行时间将为所有的公交使用者产生效益,快速的交通、更好的信息及更好的市场可以提高公交的形象,能够增加公交乘坐者。我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交的信息完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。城市公共交通运输以其覆盖面广、经济、快捷的特点,成为绝大多数出行者的首选方式,也是各地城市政府大力发展的一种交通方式。人们可以利用本系统方便快捷地查询出所有符合他们要求的公交路线,对他们的出行和生活提供帮助。

长期以来,我国经济的持续发展必然加快城市化、机动化速度[1],更何况我国城市化水平本来就低于相应的经济发展水平。乘客可以获得的公交信息很少,而且方式主要是常规手段。我国一般的公交信息的方式局限于电话,交通图,向熟人问询等常规方式。为了方便人们的出行,在老师的指导下,我设计了这个城市公交线路查询系统。在对公交乘客出行心理特征进行分析的基础上,考虑乘客选择公交线路决策的因素,进行程序关键部分的框架设计。本公交查询系统主要具有公交查询、用户留言、用户管理和后台车次管理功能。公交查询包括车次、站点、换乘等方案的查询;用户留言主要是收集用户的留言信息,以方便根据用户提供的留言信息或是提出的建议对系统进行修改和完善。

我国实施城市的可持续发展之路,包括城市交通的可持续发展。所以大力提倡改善客运结构,大力发展公共交通。城市的各种交通政策的选择和实施必须考虑城市的特性和资源、代价和效果[2]。因此必须在可持续发展的目标下来重新检查城市交通系统的规划和建设。从国内公交信息与规划的发展需求和国外发展趋势来看,需要建立一个以高效的公交数据库为基础、面向公交线路的在线公交线和线路查询系统。

未来的公交查询系统,将是基于B/S架构,通过浏览器查询,通过计算机网络全面联网,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。本系统的使用在方便广大市民,提高市民乘车效率的同时,也为信息化技术在城市现代化建设中提供了有益的探索。

1.2 论文的研究内容

随着公路规模的不断扩大,公交数量的急剧增加,有关公交管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有公交信息管理系统来提高公交管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。

目前,我国各省市的公交查询工作还未实现数字化。因此,开发一个能够对最新的公交线路进行查询的信息平台就显得尤其重要。所开发的系统将在一定程度上能够克服以上的种种缺点,实现各项工作在线完成,为乘客提供一个完全公开、开放、完善的管理平台,放便了乘客的出行,大大节省了乘客的宝贵时间。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了公交信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了查询效率降低了查询成本。

本公交查询系统是一个取代过去由人工查询的查询系统。本论文论述了一个基于浏览器/服务器(B/S,Browser/Server)模式的公交查询系统的研究和实现的过程。论文从开发平台和工具谈起,对apache-tomcat服务器所提供的组件及其属性和方法做了一般介绍,更重要的是阐述了MySQL的数据库访问。最后,详细介绍了如何创建“公交查询系统”的全部过程。

1.3 论文的组织结构

本论文首先介绍了城市公交查询系统的应用背景、开发环境以及选用的开发工具与数据库的关系,阐明了计算机互联网络的概念。并对数据库的体系结构、DBMS进行了介绍;介绍关系型数据库的基本概念,着重说明了几个关键概念的定义;然后对SQL语言作了一个介绍说明;并且介绍了B/S模式的概念、特点;用软件工程的方法分析城市公交查询系统,对整个系统进行了需求分析、功能模块划分,并通过ER图对数据库进行概念设计;对城市公交查询系统的具体设计,描述了查询、录入模块的实现过程。最后,在结束语的总结部分指出了系统的亮点以及不足之处,简单介绍了自己开发过程中的体会与心得:在摸索中实践,在实践中摸索。

2 系统的开发工具与环境

2.1 JSP基础知识

JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,它实现了HTML语法中的java扩张。JSP与Servlet一样是在服务器端执行的。通常返回给客户端的就是一个HTML 文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。

JSP是由Sun Microsystems公司倡导许多公司参与,一起建立的一种动态技术标准。在传统的网页HTML文件中加入Java程序片段,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java也可以访问JSP网页。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP 的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP 标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者能够编辑和使用JSP页面而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和脚本生成所请求的内容并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

JSP技术让动态网面更易编写,功能更强,可移植性更好。概括起来JSP的设计目标主要有以下几点:

⑴一次编写,到处运行;

⑵加强组件能力;

⑶作为Java企业平台的门户;

⑷更容易建立动态页面。

2.2 JSP Servlet简介

Java服务器页面(JSP)是HttpServlet的扩展。由于HttpServlet大多是用来响应HTTP请求,并返回Web页面,所以不可避免地在编写servlet时会涉及大量的HTML内容,这给servlet 的书写效率和可读性带来很大障碍,JSP便是在这个基础上产生的。其功能是使用HTML 的书写格式,在适当的地方加入Java代码片断,将程序员从复杂的HTML中解放出来,更专注于servlet本身的内容。

JSP在首次被访问的时候被应用服务器转换为servlet,在以后的运行中,容器直接调用这个servlet,而不再访问JSP页面。JSP的实质仍然是servlet。它是在服务器上运行的小程序。服务器上需要一些程序,常常是用户输入访问数据库的程序。这些通常是使用公共网关接口(CGI(Common Gateway Interface))应用程序完成的。然而,在服务器上运行Java,这种程序可使用Java编程语言实现。在通信量大的服务器上,Javaservlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。在未来的技术发展过程中,Servlet有可能彻底取代CGI。

JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP 并没有增加任何本质上不能用Servlet实现的功能。但是在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:例如由页面设计者进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。

2.3 开发工具与环境

本系统JDK釆用1.5版本,Tomcat 6.0作为Web服务器,使用MyEclipse作为开发工具,数据库服务器为MySQL,客户端使用浏览器运行程序。本系统的开发采用JSP、Servlet、JavaBean、JavaScript、JDBC等技术。

2.3.1 Web开发轻平台——Tomcat简介

Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。

Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负

载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一

个感兴趣的程序员都可以更改它或在其中加入新的功能。

本系统使用的是Apache Tomcat 6.x。这一版本在汲取Tomcat 5.5.x优点的基础上,实现

了Servlet 2.5和JSP 2.1等特性的支持。除此以外的改进列表如下:

⑴内存使用优化;

⑵更大的IO容量;

⑶重构聚类。

在Tomcat中,应用程序的部署很简单,你只要将你的WAR放到Tomcatd的webapp目录

下,Tomcat会自动检测到这个文件并将其解压。你在浏览器中访问这个应用的JSP时,通

常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件然后编译。编译以后访问将会很快。

另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码

存储在一个XML文件中。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。

但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache

集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet。这种集成只需要修改一

下Apache和Tomcat的配置文件即可。

在Tomcat安装前要在系统环境变量中配置JA V A_HOME的环境变量。在变量名中输入

“JA V A_HOME”,在变量值中输入JDK的安装文件夹。在JDK安装配置完成后,即可进行Tomcat的安装。Tomcat安装后默认的端口号是“8080”,可以打开Tomcat目录中的

conf/server.xml文件,找到以下内容:

将port定义的内容修改即可。例如,下面将端口号修改为80端口:

修改后需要重新启动服务器,这样以后直接输入“http://localhost/”即可进行访问[3],

不再用输入端口号就可以得到如下图2.1运行结果:

2.3.2 MyEclipse 简介

MyEclipse 企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse )是对EclipseIDE 的扩展,利用它我们可以在数据库和JavaEE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能完整支持HTML ,Struts ,JSP ,CSS ,Javascript ,Spring ,SQL ,Hibernate 。

MyEclipse 是一个十分优秀的用于开发Java ,J2EE 的Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse 目前支持Java Servlet 、AJAX 、 JSP 、 JSF 、 Struts 、Spring 、 Hibernate 、EJB3、JDBC 数据库链接工具等多项功能。可以说MyEclipse 是几乎囊括了目前所有主流开源产品的专属eclipse 开发工具。

简单而言,MyEclipse 是Eclipse 的插件,也是一款功能强大的JavaEE 集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse5.5以前版本需先安装Eclipse 。MyEclipse5.5以后版本安装时不需安装Eclipse 。Eclipse 是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括Java 开发工具(Development ToolJava s ,JDT )。

MyEclipse 生成WAR 包并在Tomcat 下部署发布过程是:首先是使用MyEclipse 将web 项目打包,右键选中项目,选择export ;弹出Export 的select 窗体,选择Java EE 的WAR file (myeclipse )选项,然后选择工程名称和路径,单击完成就可以了。

打包完成以后我们将war 放到tomcat 的webapps 目录下,并设置server.xml 文件;然后运行tomcat ,并输入项目的url 就可以浏览了。

2.3.3 MySQL 数据库简介

图2.1 服务器首页

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache 可组成良好的开发环境。

MySQL是一个开放源码的小型关联式数据库管理系统。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2.3.4 Dreamweaver简介

Adobe Dreamweaver,简称“DW”,中文名称“梦想编织者”,是美国MACROMEDIA 公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。

Adobe Dreamweaver使用所见即所得的接口,亦有HTML(标准通用标记语言下的一个应用)编辑的功能。它有Mac和Windows系统的版本。随Micromedia被Adobe收购后,Adobe 也开始计划开发Linux版本的Dreamweaver了。Dreamweaver自MX版本开始,使用了Opera的排版引擎“Presto”作为网页预览。

Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含HomeSite和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度很快。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。所见即所得Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP,Apache,BroadVision,Cold Fusion,iCAT,Tango与自行发展的应用软体。[4]当您正使用Dreamweaver在设计动态网页时,所见即所得的功能让您不需要透过浏览器就能预览网页。梦幻样版和XML Dreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。您也可以使用样版正确地输入或输出XML内容。全方位的呈现利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。对于cascading style sheets的动态HTML 支援和鼠标换图效果,声音和动画的DHTML效果资料库可在Netscape和Microsoft浏览器上执行。使用不同浏览器检示功能,Dreamweaver可以告知您在不同浏览器上执行的成效如何。当有新的浏览器上市时,只要从Dreamweaver的网站在下载它的描述档,便可得知详尽的成效报告。

2.3.5 B/S模式

B/S结构(Browser/Server,浏览器/服务器模式),是Web兴起后的一种网络结构模式,Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix 或SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。B/S (浏览器/服务器)是由浏览器、Web服务器、应用服务器和数据库服务器组成的多层结构体系。B/S模式具有以下特点:

⑴用户界面简单易用。用户使用单一的浏览器软件,通过鼠标即可访问文本、图像、声音、电影及数据库等信息,特别适合非计算机人员使用。

⑵易于维护与升级。由于客户端无需专用的软件,所以系统的维护和升级工作简单。

⑶具有良好的开放性。浏览器/服务器结构采用标准的TCP/IP、HTTP协议,能够与遵循这些标准协议的信息系统及其网络很好的结合,具有良好的开放性,保护了用户的投资。

⑷信息共享度高。HTML是数据格式的一种开放标准,目前信息系统中大多数流行的软件均支持HTML。

⑸扩展性好。TCP/IP、HTTP的标准性使得浏览器/服务器结构可直接接入Internet,具有良好的扩展性。

⑹网络适应性强。无论是PSTN、DDN、帧中继、X.25、ISDN、还是CATV、ADSL,浏览器/服务器结构均能适应。

⑺安全性好。防火墙技术保证了浏览器/服务器结构的安全性。

B/S结构与C/S结构(Client/Server)的联系表现为C/S结构往往可以由B/S结构(Browser/Server结构)的Browser(浏览器)及其载体承担,C/S结构的Web应用与B/S结构(Browser/Server结构)具有紧密联系。大系统和复杂系统中,C/S结构和B/S结构的嵌套也很普遍。

3 需求分析

3.1 系统需求分析

随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的很重要!本软件不仅能给游客带来方便,也能给广大市民提供方便。我认为这样的系统应该具有很好的实用性!开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询,并为此设计该系统。

本系统是以保定市公交系统为背景设计的查询系统,需要满足来自两方面的需求分别是:查询公交系统的普通用户,后台维护管理人员。

查询公交系统的普通用户的需求是查询保定市公交线路、站点和换乘方案等信息。后台维护管理人员对后台数据库的管理,添加公交线路站点和更改已有公交线路站点。

在保定市公交查询系统开发时应该满足以下具体的系统需求:

⑴满足用户查询公交信息的基本要求;

⑵满足后台管理人员方便更改城市公交线路站点等信息的基本要求;

⑶对使用该系统的用户技能要求比较低,操作方便;

⑷能够使用人机互交,界面大方得体,实用;

⑸能够保障城市公交信息数据的安全,准确。

本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。

⑴前台主要有3个模块,线路查询、站点查询、公交换乘模块,其系统功能如下:

线路查询:可以获得要查询公交所通过的各个站点。

站点查询:通过输入的指定站点查询经过该站点的公交。

换乘查询:分为公交直达、公交一次换乘,主要体现那些不可直达需要转车的路线的所有换法。(如果用户输入的起始点和终点,有一条及一条以上的公交线可以直达的,则为公交直达;如果输入的起始点和终点,没有一条公交线可以直接到的,系统将会给出一次换乘的方案,则为公交一次换乘)

⑵后台管理模块的系统功能如下:

后台管理:用于管理员登陆,添加、修改、删除公交线路,修改信息资料、安全密码,回复留言等功能。

⑶普通用户留言模块功能如下:

普通用户必须经过注册才能进行留言,并且可以修改自己的相关信息,同时也可以查看管理员的回复信息。

3.2 数据库需求分析

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

数据库技术是由传统的文件系统发展而来的,从层次模型、网状模型发展到关系模型。数据库技术是数据管理的最新技术是计算机科学的一个重要分支,它能指导我们正确地设计数据库系统,它的出现极大地促进了计算机应用的发展。采用数据库技术的原理和方法可以有效地设计实用的数据库系统。一个完整的数据库系统包括数据库管理系统(DBMS ),数据库管理员(DBA )、数据库(DB )、应用程序和相应的硬件设施。[5]

设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和基本的。因此,应该把对用户需求的收集和分析作为数据库设计的第一步。

数据库需求分析的主要任务是通过详细调查要处理的对象,包括某个组织、某个部门、某个企业的业务管理等,充分了解原手工或原计算机系统的工作概况及工作流程,明确用户的各种需求,产生数据流图和数据字典,然后在此基础上确定新系统的功能,并产生需求说明书。值得注意的是,新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。

如图3.1所示,数据库需求分析具体可按以下几步进行:

(1)用户需求的收集;(2)用户需求的分析;(3)撰写需求说明书;

数据库需求分析的重点是调查、收集和分析用户数据管理中的信息需求、处理需求、安全性与完整性要求。信息需求是指用户需要从数据库中获得的信息的内容和性质。由用户的信息需求可以导出数据需求,即在数据库中应该存储哪些数据。处理需求是指用户要求完成什么处理功能,对某种处理要求的响应时间,处理方式指是联机处理还是批处理等。明确用户的处理需求,将有利于后期应用程序模块的设计。

调查、收集用户要求的具体做法是:

⑴了解本系统的情况,确定公交查询系统由几部分组成,各部分的功能是什么,为分

需求分析

调查组织机构总体情况 熟悉业务活动 明确用户需求 确定系统边界 用户设计人员 DD DFD 概念结构设计 图3.1 数据库需求分析的过程

析信息流程做准备;

⑵了解各部分的业务活动情况,调查各部分输入和使用什么数据,如何加工处理这些数据。输出什么信息,输出到什么部分,输出的格式等。在调查活动的同时,要注意对各种资料的收集,要特别注意了解这些资料之间的关系,各数据项的含义等;

⑶确定新系统的边界。确定哪些功能由计算机完成。由计算机完成的功能就是新系统应该实现的功能。

在调查过程中必须有用户的积极参与和配合,强调用户的参与是数据库设计的一大特点。收集用户需求的过程实质上是数据库设计者对各类系统功能进行调查研究的过程。设计人员与各类管理人员通过相互交流,逐步取得对系统功能的一致的认识。可应用原型化方法来帮助用户确定他们的需求。即先给用户一个比较简单的、易调整的真实公交车查询系统,让用户在熟悉使用它的过程中不断发现自己的需求,而设计人员则根据用户的反馈调整原型,反复验证最终协助用户发现和确定他们的真实需求。调查了解用户的需求后,还需要进一步分析和抽象用户的需求,使之转换为后续各设计阶段可用的形式。

目前许多数据库管理系统都基于关系模型,关系模型的主要特点是用表格结构表达实体,用键表示实体与实体之间的联系。与层次模型和网状模型相比,关系模型比较简单,容易为初学者接受。关系模型是由若干个关系模式组成的集合,关系模式相当于记录类型,它的实例称为关系。每个关系是一张表格。表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行数据操作。

设计公交车查询系统的数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析,数据库概念结构设计,数据库逻辑结构设计。

在设计数据库时,还应注意数据的安全性,保证数据的安全,防止非法用户访问数据库,以免泄露重要信息,有许多保护数据的方法,如采用用户标识,口令和密码或访问控制等方法。一个成功的数据库应用系统应具有用户标识,每一个合法用户具有一个用户名和相应的口令,进入数据库应用系统前必须输入正确的口令,否则无法进入系统,这就保证了只有合法的用户才能操作数据库系统。为了保证数据的合法语义,必须对数据库的数据进行完整性约束,即防止用户输入不合语义的数据。

3.3 性能分析

系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言,包括:执行效率、资源占用、系统稳定性、安全性、兼容性、可靠性、可扩展性。城市公交查询系统应保证系统能够长期、安全、稳定、可靠、高效的运行。

不合标准的应用程序性能会产生软件或网络问题。为确保软件满足或超过设计的期望值,有必要分析应用程序的性能以发现潜在的问题。这个过程被称为“性能分析”。它包括检查应用程序以确保每个组件有效地工作,并根据设计密切注视处理器的使用、网络和系统服务、存储和输入/输出(I/O)。

性能分析的一个必不可少的环节是使应用程序的组件可见。当能够了解组件是如何交互时,就可以诊断潜在的性能问题。可在进程间或这些交互的持续时间内了解交互情况。当能够深入了解应用程序并发现出现问题的原因时,就可以:

⑴确保应用程序的行为按设计如期进行;

⑵通过详细报告应用程序和网络响应以及传递的时间,显示应用程序在哪些方面导致大量的处理开销、文件争用或磁盘或网络访问过度延迟;

⑶收集全面的分析数据并将其结合用于应用程序进程的端对端视图和数据涉及的所有设备。

目前计算系统的技术发展相当快,做为公交查询系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。

4 系统设计

4.1 概述

这个阶段的任务是设计软件系统的模块层次结构,设计数据库的结构以及设计模块的控制流程,其目的是明确软件系统“如何做”。这个阶段又分两个步骤:概要设计和详细设计。

本章的基本目标是解决系统如何实现问题,也叫做概要设计。概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。而要实现这些需要进行模块化设计。

所谓的模块化设计,简单地说就是将产品的某些要素组合在一起,构成一个具有特定功能的子系统,将这个子系统作为通用性的模块与其他产品要素进行多种组合,构成新的系统,产生多种不同功能或相同功能、不同性能的系列产品。模块化设计是绿色设计方法之一,它已经从理念转变为较成熟的设计方法。将绿色设计思想与模块化设计方法结合起来,可以同时满足产品的功能属性和环境属性,一方面可以缩短产品研发与制造周期,增加产品系列,提高产品质量,快速应对市场变化;另一方面,可以减少或消除对环境的不利影响,方便重用、升级、维修和产品废弃后的拆卸、回收和处理。模块设计的原则包括两方面,一方面力求以少量的模块组成尽可能多的产品,并在满足要求的基础上使产品精度高、性能稳定、结构简单、成本低廉,模块间的联系尽可能简单;另一方面是模块的系列化,其目的在于用有限的产品品种和规格来最大限度又经济合理地满足用户的要求。

模块化产品是实现以大批量的效益进行单件生产目标的一种有效方法。产品模块化也是支持用户自行设计产品的一种有效方法。产品模块是具有独立功能和输入、输出的标准部件。这里的部件,一般包括分部件、组合件和零件等。模块化产品设计方法的原理是,在对一定范围内的不同功能或相同功能、不同性能、不同规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合构成不同的顾客定制的产品,以满足市场的不同需求。这是相似性原理在产品功能和结构上的应用,是一种实现标准化与多样化的有机结合及多品种、小批量与效率的有效统一的标准化方法。

模块独立性。模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。

在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。在设计时应力求做到高内聚。

4.2 功能模块划分

本系统功能设计主要分为两大模块,分别是公交车查询系统和管理员管理信息系统,如图4.1。分析如下:

公交车查询系统的又分为三个小的功能模块,如图4.2。分别是:

⑴线路的查询:通过用户提供的线路名称来获取线路的基本信息,包括:票价、首末班时间、经过站点数目、线路类型、具体路线等内容;

⑵站点的查询:通过用户提供的站点名称来获取站点的基本信息要是显示通过此站点的具体路线以及此站点在本线路中的位置;

⑶站-站的查询:通过用户提供的起始站和到达信息来查询数据,并为用户提供两站之间的直达线路,如果没有直达线路则显示两站之间的换乘线路。

管理员管理信息系统功能实现模块,如图4.3。分析如下:

⑴对线路和站点的增加、删除、修改。其中主要包括如下:

①添加基本线路信息;

②添加具体路线信息,其中根据输入的路线信息系统自动检测已生成站点信息, 如果站点信息未生成则产生,否则不以生成;

③修改基本线路信息; 前台查询 后台管理

图4.1 公交系统功能模块

城市公交查询系统 前台查询

线

站点查询 站站查询

图4.2 公交系统查询模块

④修改具体线路信息,并且系统自动检索各个站点自动更新站点信息;

⑤删除线路信息,同时系统会自动删除其对应的具体路线信息。

⑵对普通用户留言信息的管理。其中主要包括如下功能:

①查看留言信息;

②回复留言;

③删除留言;

以上是本系统的基本功能的模块信息。

4.3 数据库设计 数据库技术是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。即:数据库技术是研究、管理和应用数据库的一门软件科学。 数据库技术研究和管理的对象是数据,所以数据库技术所涉及的具体内容主要包括:通过对数据的统一组织和管理,按照指定的结构建立相应的数据库和数据仓库;利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统;并利用应用管理系统最终实现对数据的处理、分析和理解。 数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。数据库技术的根本目标是要解决数据的共享问题。 数据模型是指数据库中记录与记录之间联系的数据结构形成的。不同的数据管理系统有不同的数据模型,数据库设计的核心问题是设计好的数据模型。在目前的数据库管理系统中有层次模型,网状模型、关系模型三种数据模型。其中,关系模型具有较高的数据独后台管理 公交系统 留言管理 查看 回复 删除 增加 路线 删除 修改 增加

站点 删除 修改 增加 线路 删除 修改 图4.3 后台管理

立性使用也较为方便。本设计采用关系数据库,提高系统运行效率为前提。

4.3.1 数据库概念结构设计

概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。概念数据模型主要在系统开发的数据库设计阶段使用,是按照用户的观点来对数据和信息进行建模,利用实体关系图来实现。它描述系统中的各个实体以及相关实体之间的关系是系统特性和静态描述。

在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但它只是数据库设计的第一步。

本系统的实体和属性的定义如下:

管理员表(用户ID,用户姓名,用户密码)

站名表(站名编号,站名)

线路表(线路名称,首班时间,末班时间,IC类型,票价,站点总数,车辆总数,公司编号,线路类型编号)

公司表(公司编号,公司名称)

线路类型表(线路类型编号,线路类型名称)

路线表(线路名称,站名编号,次序)

留言表(用户名称,用户密码,用户邮箱,用户留言,回复内容)

各实体属性图如图4.4所示。

用户ID

管理员

用户密码

用户姓名

站名编号站名

站名

公司编号公司名称

公司

线路类型

类型编号类型名称

相关主题
相关文档
最新文档