1、河北农业大学 本科毕业论文(设计)题 目: 公交车查询系统 摘要随着国民经济的进一步增长,中国的城市化步伐越来越快,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交车以其方便、快捷、容量大而成为城市交通主体。公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活、社会生产和流通领域的关键环节。本系统以保定市的城市公交车线路为背景,主要实现对公交车系统的查询与管理操作。在查询方面主要分为线路查询、站点查询、换乘查询三大功能,在管理方面主要分为增加、删除、修改线路及站点信息的功能。通过详实的问题定义与需求分析,本系统实现了上述功能。该系统可以帮助查询人员找
2、到所需线路的详细信息,方便了人们的乘车出行。本软件用JSP作为开发语言并结合SQL数据库,只要将公交站点等信息输入数据库,就可以很快构建成一个简单、实用的本地公交查询系统。关键词:公交车系统;查询;JSP;SQL数据库AbstractWith 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 peop
3、les 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
4、 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 incr
5、ease,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 sof
6、tware 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 引言11.1 课题背景11.
7、2 论文的研究内容11.3 论文的组织结构22 系统的开发工具与环境32.1 JSP基础知识32.2 JSP Servlet简介42.3 开发工具与环境42.3.1 Web开发轻平台Tomcat简介42.3.2 MyEclipse简介62.3.3 MySQL数据库简介62.3.4 Dreamweaver简介72.3.5 B/S模式83 需求分析93.1 系统需求分析93.2 数据库需求分析93.3 性能分析114 系统设计134.1 概述134.2 功能模块划分144.3 数据库设计154.3.1 数据库概念结构设计164.3.2 数据库逻辑结构设计185 详细设计与实现205.1 前台功能的
8、实现205.1.1 查询界面205.1.2 按线路查询205.1.3 按站点查询215.1.4 换乘查询215.1.5 留言225.2 后台功能的实现225.2.1 添加线路基本信息235.2.2 添加线路具体信息235.2.3 修改线路基本信息界面245.2.4 修改线路具体信息界面245.2.5 查看/删除线路界面255.2.6 管理站点界面255.2.7 管理留言界面266 测试与维护276.1测试项目计划276.2 测试方法276.3 测试内容276.4 软件维护316.4.1 软件维护的影响因素316.4.2 软件的可维护性316.4.3 提高软件可维护性的方法3133总结3234参
9、考文献32致谢331 引言1.1 课题背景随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。这些年城市里面买私家车的人是越来越多,但是对于生活在这个城市里面的绝大多数人来说,上下班和出行还是需要公共交通工具,比如说公交车。在极力保证城市可持续发展之路与不发达的交通路线的情况下,如何让人们方便地出门成了各个城市管理部门所关心的问题。为了降低出行时间将为所有的公交使用者产生效益,快速的交通、更好的信息及更好的市场可以提高公交的形象,能够增加公交乘坐者。我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交的信息完整性和准确性得不到保证,而且还没有专
10、门的机构负责信息的发布和管理。城市公共交通运输以其覆盖面广、经济、快捷的特点,成为绝大多数出行者的首选方式,也是各地城市政府大力发展的一种交通方式。人们可以利用本系统方便快捷地查询出所有符合他们要求的公交路线,对他们的出行和生活提供帮助。长期以来,我国经济的持续发展必然加快城市化、机动化速度 汪光焘.畅通城市交通,实现城市的可持续发展J.城市规划刊,2002(2):18-19.,更何况我国城市化水平本来就低于相应的经济发展水平。乘客可以获得的公交信息很少,而且方式主要是常规手段。我国一般的公交信息的方式局限于电话,交通图,向熟人问询等常规方式。为了方便人们的出行,在老师的指导下,我设计了这个城
11、市公交线路查询系统。在对公交乘客出行心理特征进行分析的基础上,考虑乘客选择公交线路决策的因素,进行程序关键部分的框架设计。本公交查询系统主要具有公交查询、用户留言、用户管理和后台车次管理功能。公交查询包括车次、站点、换乘等方案的查询;用户留言主要是收集用户的留言信息,以方便根据用户提供的留言信息或是提出的建议对系统进行修改和完善。我国实施城市的可持续发展之路,包括城市交通的可持续发展。所以大力提倡改善客运结构,大力发展公共交通。城市的各种交通政策的选择和实施必须考虑城市的特性和资源、代价和效果 马武定.城市化与城市可持续发展的基本问题.城市规划汇刊,2002(2):7-9.。因此必须在可持续发
12、展的目标下来重新检查城市交通系统的规划和建设。从国内公交信息与规划的发展需求和国外发展趋势来看,需要建立一个以高效的公交数据库为基础、面向公交线路的在线公交线和线路查询系统。未来的公交查询系统,将是基于B/S架构,通过浏览器查询,通过计算机网络全面联网,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。本系统的使用在方便广大市民,提高市民乘车效率的同时,也为信息化技术在城市现代化建设中提供了有益的探索。1.2 论文的研究内容随着公路规模的不断扩大,公交数量的急剧增加,有关公交管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有公交信息管理系统来提高公交管理工作的效率。通过这样
13、的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。目前,我国各省市的公交查询工作还未实现数字化。因此,开发一个能够对最新的公交线路进行查询的信息平台就显得尤其重要。所开发的系统将在一定程度上能够克服以上的种种缺点,实现各项工作在线完成,为乘客提供一个完全公开、开放、完善的管理平台,放便了乘客的出行,大大节省了乘客的宝贵时间。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了公交信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了查询效率降低了查询成本。本公交查询系统是一个取代过去由人工查询的查询系统。本论文论述了一个基于浏览器/服务器(B/S,
14、Browser/Server)模式的公交查询系统的研究和实现的过程。论文从开发平台和工具谈起,对apache-tomcat服务器所提供的组件及其属性和方法做了一般介绍,更重要的是阐述了MySQL的数据库访问。最后,详细介绍了如何创建“公交查询系统”的全部过程。1.3 论文的组织结构本论文首先介绍了城市公交查询系统的应用背景、开发环境以及选用的开发工具与数据库的关系,阐明了计算机互联网络的概念。并对数据库的体系结构、DBMS进行了介绍;介绍关系型数据库的基本概念,着重说明了几个关键概念的定义;然后对SQL语言作了一个介绍说明;并且介绍了B/S模式的概念、特点;用软件工程的方法分析城市公交查询系统
15、,对整个系统进行了需求分析、功能模块划分,并通过ER图对数据库进行概念设计;对城市公交查询系统的具体设计,描述了查询、录入模块的实现过程。最后,在结束语的总结部分指出了系统的亮点以及不足之处,简单介绍了自己开发过程中的体会与心得:在摸索中实践,在实践中摸索。2 系统的开发工具与环境2.1 JSP基础知识JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,它实现了HTML语法中的java扩张。JSP与Servlet一样是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中
16、的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。JSP是由Sun Microsystems公司倡导许多公司参与,一起建立的一种动态技术标准。在传统的网页HTML文件中加入Java程序片段,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览
17、器的要求,即使客户浏览器端不支持Java也可以访问JSP网页。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码和嵌
18、入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标
19、识和JavaBeans中,所以Web管理人员和页面设计者能够编辑和使用JSP页面而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本生成所请求的内容并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。JSP技术让动态网面更易编写,功能更强,可移植性更好。概括起来JSP的设计目标主要有以下几点:一次编写,到处运行;加强组件能力;作为Java企业平台的门户;更容易建立动态页面。2.2 JSP Servlet简介Java服务器页面(JSP)是HttpServlet的扩展。由于HttpServlet大多是
20、用来响应HTTP请求,并返回Web页面,所以不可避免地在编写servlet时会涉及大量的HTML内容,这给servlet的书写效率和可读性带来很大障碍,JSP便是在这个基础上产生的。其功能是使用HTML的书写格式,在适当的地方加入Java代码片断,将程序员从复杂的HTML中解放出来,更专注于servlet本身的内容。JSP在首次被访问的时候被应用服务器转换为servlet,在以后的运行中,容器直接调用这个servlet,而不再访问JSP页面。JSP的实质仍然是servlet。它是在服务器上运行的小程序。服务器上需要一些程序,常常是用户输入访问数据库的程序。这些通常是使用公共网关接口(CGI(C
21、ommon Gateway Interface)应用程序完成的。然而,在服务器上运行Java,这种程序可使用Java编程语言实现。在通信量大的服务器上,Javaservlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。在未来的技术发展过程中,Servlet有可能彻底取代CGI。JavaServer Pages(JSP)是一种实现普通静态HTML和动
22、态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等技
23、术。2.3.1 Web开发轻平台Tomcat简介Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。Tomc
24、at很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。本系统使用的是Apache Tomcat 6.x。这一版本在汲取Tomcat 5.5.x优点的基础上,实现了Servlet 2.5和JSP 2.1等特性的支持。除此以外的改进列表如下:内存使用优化;更大的IO容量;重构聚类。在Tomcat中,应用程序的部署很简单,你只要将你的WAR放到Tomcatd的webapp目录下,Tomcat会自动检测到这个文件并将其解压。你在浏览器中访问这个应用的JSP时
25、,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件然后编译。编译以后访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个XML文件中。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。在Tomcat安装前要在系统环
26、境变量中配置JAVA_HOME的环境变量。在变量名中输入“JAVA_HOME”,在变量值中输入JDK的安装文件夹。在JDK安装配置完成后,即可进行Tomcat的安装。Tomcat安装后默认的端口号是“8080”,可以打开Tomcat目录中的conf/server.xml文件,找到以下内容:将port定义的内容修改即可。例如,下面将端口号修改为80端口:修改后需要重新启动服务器,这样以后直接输入“http:/localhost/”即可进行访问 李兴华.Java Web开发实战经典.清华大学出版社,2010(8):80-81.,不再用输入端口号就可以得到如下图2.1运行结果:图2.1 服务器首页2
27、.3.2 MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分
28、广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet、AJAX、 JSP、 JSF、 Struts、Spring、 Hibernate、EJB3、JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse5.5以前版本需先安装Eclipse。MyEclipse5.5以后版本安装时不需安装Eclipse。Eclipse是一个开放源代码的、基于Java
29、的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Development ToolJava s,JDT)。MyEclipse生成WAR包并在Tomcat下部署发布过程是:首先是使用MyEclipse将web项目打包,右键选中项目,选择export;弹出Export的select窗体,选择Java EE 的WAR file(myeclipse)选项,然后选择工程名称和路径,单击完成就可以了。打包完成以后我们将war放到tomcat的webapps目录下,并设置server.xml文件;然后运行tom
30、cat,并输入项目的url就可以浏览了。2.3.3 MySQL数据库简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它
31、分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。MySQL是一个开放源码的小型关联式数据库管理系统。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.3.4 Dreamweaver简介Adobe Dreamweaver,简称“DW”,中文名称“梦想编织者”,是美国MACROMEDIA公司开发的集网
32、页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。Adobe Dreamweaver使用所见即所得的接口,亦有HTML(标准通用标记语言下的一个应用)编辑的功能。它有Mac和Windows系统的版本。随Micromedia被Adobe收购后,Adobe也开始计划开发Linux版本的Dreamweaver了。Dreamweaver自MX版本开始,使用了Opera的排版引擎“Presto”作为网页预览。Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑
33、与原始码编辑同步的设计工具。它包含HomeSite和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度很快。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。所见即所得Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP,Apache,BroadVision,Cold Fusion,iCAT,Tango与自行发展的应用软体。 朱印宏,熊利荣.Dreamweaver 8完美网页设计A
34、SP动态网页设计篇.北京:中国电力 出版社.2006-10-1.P.63-72.当您正使用Dreamweaver在设计动态网页时,所见即所得的功能让您不需要透过浏览器就能预览网页。梦幻样版和XML Dreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。您也可以使用样版正确地输入或输出XML内容。 全方位的呈现利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。对于cascading style sheets的动态HTML支援和鼠标换
35、图效果,声音和动画的DHTML效果资料库可在Netscape和Microsoft浏览器上执行。使用不同浏览器检示功能,Dreamweaver可以告知您在不同浏览器上执行的成效如何。当有新的浏览器上市时,只要从Dreamweaver的网站在下载它的描述档,便可得知详尽的成效报告。2.3.5 B/S模式B/S结构(Browser/Server,浏览器/服务器模式),是Web兴起后的一种网络结构模式,Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器Browser),如Netscape Navi
36、gator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。B/S(浏览器/服务器)是由浏览器、Web服务器、应用服务器和数据库服务器组成的多层结构体系。B/S
37、模式具有以下特点:用户界面简单易用。用户使用单一的浏览器软件,通过鼠标即可访问文本、图像、声音、电影及数据库等信息,特别适合非计算机人员使用。易于维护与升级。由于客户端无需专用的软件,所以系统的维护和升级工作简单。具有良好的开放性。浏览器/服务器结构采用标准的TCP/IP、HTTP协议,能够与遵循这些标准协议的信息系统及其网络很好的结合,具有良好的开放性,保护了用户的投资。信息共享度高。HTML是数据格式的一种开放标准,目前信息系统中大多数流行的软件均支持HTML。扩展性好。TCP/IP、HTTP的标准性使得浏览器/服务器结构可直接接入Internet,具有良好的扩展性。网络适应性强。无论是P
38、STN、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 系统需求分析随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先
39、搞清这个城市的公交路线显的很重要!本软件不仅能给游客带来方便,也能给广大市民提供方便。我认为这样的系统应该具有很好的实用性!开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询,并为此设计该系统。本系统是以保定市公交系统为背景设计的查询系统,需要满足来自两方面的需求分别是:查询公交系统的普通用户,后台维护管理人员。查询公交系统的普通用户的需求是查询保定市公交线路、站点和换乘方案等信息。后台维护管理人员对后台数据库的管理,添加公交线路站点和更改已有公交线路站点。在保定市公交查询系统开发时应该满足以下具体的系统需求:满足用户查询公交信息的基本要求
40、;满足后台管理人员方便更改城市公交线路站点等信息的基本要求;对使用该系统的用户技能要求比较低,操作方便;能够使用人机互交,界面大方得体,实用;能够保障城市公交信息数据的安全,准确。本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。前台主要有3个模块,线路查询、站点查询、公交换乘模块,其系统功能如下:线路查询:可以获得要查询公交所通过的各个站点。站点查询:通过输入的指定站点查询经过该站点的公交。换乘查询:分为公
41、交直达、公交一次换乘,主要体现那些不可直达需要转车的路线的所有换法。(如果用户输入的起始点和终点,有一条及一条以上的公交线可以直达的,则为公交直达;如果输入的起始点和终点,没有一条公交线可以直接到的,系统将会给出一次换乘的方案,则为公交一次换乘)后台管理模块的系统功能如下:后台管理:用于管理员登陆,添加、修改、删除公交线路,修改信息资料、安全密码,回复留言等功能。普通用户留言模块功能如下:普通用户必须经过注册才能进行留言,并且可以修改自己的相关信息,同时也可以查看管理员的回复信息。3.2 数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及
42、实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。数据库技术是由传统的文件系统发展而来的,从层次模型、网状模型发展到关系模型。数据库技术是数据管理的最新技术是计算机科学的一个重要分支,它能指导我们正确地设计数据库系统,它的出现极大地促进了计算机应用的发展。采用数据库技术的原理和方法可以有效地设计实用的数据库系统。一个完整的数据库系统包括数据库管理系统(DBMS),数据库管理员(DBA)、数据库(DB)、应用程序和相应的硬件设施。 金银球.数据库原理与设计.北京:科学出版社,2003.P.201-230.设计一个性能良好的数据库系统,明确应用环境对系统的要求是
43、首要的和基本的。因此,应该把对用户需求的收集和分析作为数据库设计的第一步。数据库需求分析的主要任务是通过详细调查要处理的对象,包括某个组织、某个部门、某个企业的业务管理等,充分了解原手工或原计算机系统的工作概况及工作流程,明确用户的各种需求,产生数据流图和数据字典,然后在此基础上确定新系统的功能,并产生需求说明书。值得注意的是,新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。如图3.1所示,数据库需求分析具体可按以下几步进行:(1)用户需求的收集;(2)用户需求的分析;(3)撰写需求说明书;需求分析调查组织机构总体情况熟悉业务活动明确用户需求确定系统边界用户设计人员
44、DDDFD概念结构设计图3.1 数据库需求分析的过程数据库需求分析的重点是调查、收集和分析用户数据管理中的信息需求、处理需求、安全性与完整性要求。信息需求是指用户需要从数据库中获得的信息的内容和性质。由用户的信息需求可以导出数据需求,即在数据库中应该存储哪些数据。处理需求是指用户要求完成什么处理功能,对某种处理要求的响应时间,处理方式指是联机处理还是批处理等。明确用户的处理需求,将有利于后期应用程序模块的设计。调查、收集用户要求的具体做法是:了解本系统的情况,确定公交查询系统由几部分组成,各部分的功能是什么,为分析信息流程做准备;了解各部分的业务活动情况,调查各部分输入和使用什么数据,如何加工
45、处理这些数据。输出什么信息,输出到什么部分,输出的格式等。在调查活动的同时,要注意对各种资料的收集,要特别注意了解这些资料之间的关系,各数据项的含义等;确定新系统的边界。确定哪些功能由计算机完成。由计算机完成的功能就是新系统应该实现的功能。在调查过程中必须有用户的积极参与和配合,强调用户的参与是数据库设计的一大特点。收集用户需求的过程实质上是数据库设计者对各类系统功能进行调查研究的过程。设计人员与各类管理人员通过相互交流,逐步取得对系统功能的一致的认识。可应用原型化方法来帮助用户确定他们的需求。即先给用户一个比较简单的、易调整的真实公交车查询系统,让用户在熟悉使用它的过程中不断发现自己的需求,
46、而设计人员则根据用户的反馈调整原型,反复验证最终协助用户发现和确定他们的真实需求。调查了解用户的需求后,还需要进一步分析和抽象用户的需求,使之转换为后续各设计阶段可用的形式。目前许多数据库管理系统都基于关系模型,关系模型的主要特点是用表格结构表达实体,用键表示实体与实体之间的联系。与层次模型和网状模型相比,关系模型比较简单,容易为初学者接受。关系模型是由若干个关系模式组成的集合,关系模式相当于记录类型,它的实例称为关系。每个关系是一张表格。表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行数据操作。设计公交车查询系统的数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析,数据库概念结构设计,数据库逻辑结构设计。在设计数据库时,还应注意数据的安全性,保证数据的安全,防止非法用户访问数据库,以免泄露重要信息,有许多保护数据的方法,如采用用户标识,口令和密码或访问控制等方法。一个成功的数据库应用系统应具有用户标识,每一个合法用户具有一个用户名和相应的口令,进入数据库应用系统前必须输入正确的口令,否则无法进入系统,这就保证了只有合法的用户才能操作数据库系统。为了保证数据的合法语义,必须对数据库的数据进行完整性约束,即防止用