1、精选资料本科生毕业论文(设计)城市公交查询系统设计与实现可修改编辑精选资料毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业
2、设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了
3、解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时
4、)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论
5、文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论
6、文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二
7、、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日可修改编辑教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格
8、不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日城市公交查询系统设计与实现摘 要公交作为城市的主要交通手段之一,随着
9、人们的生活水平的提高和出门次数的增多,占着越来越重要的地位。随之而来也带来了查询公交路线的问题。成千上万的公交纵横整个城市,对于一个初来咋到的游客或者求学者来说,坐上正确的、快速的、便利的、优惠的公交去到正确的目的地尤其重要。在此背景下,公交查询系统应运而生,该系统致力于为乘客提供最新的公交公告信息、最适合乘客的公交路线以及提供方便乘客们讨论路线的留言板功能,让乘客们出行无忧,一帆风顺。其中主要功能包括:路线查询(最少换乘、最少时间、最少费用)、站点查询、车次查询、公告信息查看、留言板及管理员对这些信息的管理模块。关键词:公交查询系统;JAVA+STRUTS2+JSP;MySqlDesign
10、and Implementation of Bus Circuit Search SystemAbstractBus, as one of the most important transportation means of the city, with the improvement of peoples living standards and the increase number of out home, occupying an increasingly important role. However, its also brought the problem of querying
11、 bus routes. Thousands of buses aspect the whole city, its especially important for those who is the first time here for traveling or attending school to ride the right, the fastest, the convenient, and the cheapest bus reach the right destinations. For this purpose, the bus circuit search system ap
12、peared. This system was designed for passengers to get the latest bus announcements and the most suitable bus routes and provide message board for passengers to discuss routes or some other things. Let passengers travel with no worries and all things goes well. The main functions include: routes inq
13、uiry (least transfer, least time, and least fee), stations inquiry, cars inquiry, announcements view, message board, and the module of administrators management of theses information. Keywords: bus circuit search system; JAVA+STRUTS2+JSP; MySql目 录第1章 绪论- 1 -1.1课题背景及意义- 1 -1.1.1选题背景- 1 -1.1.2 选题意义- 1
14、 -1.2 系统目标- 2 -第2章 系统开发工具及环境简介- 3 -2.1 系统开发工具- 3 -2.1.1 JAVA简介- 3 -2.1.2 Struts 2简介- 3 -2.1.3 JSP简介- 3 -2.1.4 MySql简介- 4 -2.1.5 JDBC简介- 4 -2.2运行环境- 4 -2.2.1 Myeclipse简介- 4 -2.2.2 Tomcat7.0简介- 5 -第3章 需求分析- 6 -3.1 系统需求分析- 6 -3.1.1 系统用户功能- 6 -3.1.2 系统管理员功能- 6 -3.2 数据库需求分析- 7 -3.2.1 信息要求- 7 -3.2.2 处理要求-
15、 7 -3.3 性能需求分析- 8 -3.3.1 系统的及时性- 8 -3.3.2 系统的准确性- 8 -3.3.3 系统的易用性- 8 -第4章 系统概要设计- 9 -4.1 概述- 9 -4.2 功能模块- 9 -4.2.1 前台用户- 9 -4.2.2 后台管理员- 10 -4.3 数据库设计- 11 -4.3.1 数据库概念结构设计- 11 -4.3.2 数据库逻辑结构设计- 12 -第5章 详细设计与实现- 17 -5.1 前台功能- 17 -5.1.1用户登录注册- 17 -5.1.2 查询- 19 -5.1.3 留言板- 21 -5.2 后台功能- 22 -5.2.1 管理员登录
16、- 22 -5.2.2 信息管理- 23 -第6章 系统测试- 26 -6.1 前台功能测试- 26 -6.1.1 查询路线- 26 -6.1.2 车次查询- 29 -6.1.3 站点查询- 30 -6.2 后台功能测试- 31 -6.2.1 路线查询- 31 -6.2.2 路线添加- 31 -6.2.3 路线删除- 32 -6.2.4 路线修改- 33 -总结- 35 -致谢- 36 -参考文献- 37 -可修改编辑精选资料第1章 绪论在这一章节中将主要介绍课题的选题背景和意义,以及在设计与实现该城市公交查询系统过程中使用到的开发技术与运行环境。1.1课题背景及意义对于为什么选择这个课题及选
17、择这个课题的意义何在的问题,下文将从城市公交查询系统的现状等方面详细介绍。 1.1.1选题背景 公交作为城市的主要交通手段之一,随着人民生活水平的不断提高,出门旅行的次数和人数不断的增多,占据着越来越重要的地位。然而,在这些纵横交错的公交路线中,要找到那条便利、便宜、正确以及所需时间最少的公交路线并不容易,而且对于出门在外的旅客或者求学者来说,因为是初次到达某城市,对该城市的公交路线或者公交信息知道的不多,这会大大的影响旅行进程及心情。目前我国的城市公交查询系统现状来看已经有百度地图这样的大型完善的公交查询系统,乘客可以方便的知道自己的位置、需要乘坐的公交、到达公交站所需不行时间等等,也有一些
18、如西安城市公交查询系统这样的小型系统,而我所设计的是基于B/S模式的更加完善的公交查询系统,虽然不能像百度地图那样定位,但是增加了车次的大略位置定位、公交公告信息、天气信息、留言板等功能,其中还增加了各路线到达目的地所需的时间及费用信息,以更加方便乘客的出行。在此背景下,我所设计与实现的城市公交查询系统就具有实际的意义。1.1.2 选题意义 随着经济的快速发展,人们的生活节奏也加快了脚步,时间对于大家来说是分秒必争的,尤其是对于假期本来就不多的工作族来说,如果旅行的时间大部分都花在了路线上那就太不值了,而城市公交车以其遍布范围广、费用低、方便、安全的特性作为大多数旅行、出差等等的人首选的交通方
19、式,所以我们急需一个简洁方便的公交路线查询系统指引我们的行程。以前对于大多数人来说在一个我们并不熟悉的城市坐公交的路线信息等都是通过询问熟人或者询问路人,这不方便、信息不全是一回事,更重要的是还可能不安全。而现在有了城市公交查询系统我们也可以像当地居民一样知道该在哪儿上公交、在哪一站下车,也不用担心会被骗,城市公交查询系统带给了人们巨大的方便。鉴于现在已经存在如百度地图这样比较完善的查询系统,所以我设计的城市公交查询系统将在路线查询、车次查询、站点查询的基础上,增加留言板、天气信息查询和公交公告信息查询功能模块以更加贴近实际需求,方便人们生活,达到其利用价值。1.2 系统目标 城市公交查询系统
20、以更加方便人们的生活为目标,前台主要实现以下功能: 1、公交路线查询:包括公交直达、一次换乘和二次换乘,查询结果按照最少时间、最少换乘和最少费用排序,用户可以选择最适合自己要求的路线。在所查路线页面也可以查看该路线的车次和站点所对应的详细信息。说明:按照最少时间排序时,若时间一样则再按照换乘次数排序,若换乘次数也一样,则再按照所需费用排序;按照最少换乘排序时,若换乘次数一样,则再按所需时间排序,若所需时间也一样,则再按照费用排序;按照最少费用排序时,若所需费用一样,则再按照所需时间排序,若所需时间也一样,则再按照换乘次数排序。2、公交车次查询:若用户想要查询某车次的详细信息时可以使用车次查询功
21、能,系统会显示出所查询车次的详细信息以及车次大略定位情况。3、公交站点查询:若用户想要查询某站点的详细信息时可以使用站点查询功能,系统会显示出经过该站点的所有车次,用户还可以查看这些车次的详细信息。4、公交公告信息查询:管理员可以将公交的一些调整信息等发布在网站上以告知广大用户,让广大乘客即时了解公交系统信息。5、天气信息:我所设计的城市公交系统还增加了天气信息的查询功能以方便出门用户尽早知道当天或者近日天气信息而进行调整自己的行程。6、留言板功能:乘客可以免费注册公交系统账号,拥有账号的乘客可以在留言板页面进行回复或者发表留言操作,广大乘客可以在留言板页面上尽情讨论大家的经历和好的路线建议,
22、管理员也可以给乘客回复更为详细准确的信息。功能可能还不能满足所有乘客的要求,但是希望该城市公交查询系统可以为人们提供更为方便的生活。可修改编辑精选资料第2章 系统开发工具及环境简介本次开发工程中我用到的开发工具有JAVA、Struts2、JSP,数据库用的是MySql,使用的数据库连接技术是JDBC,运行环境是Myeclipse和Tomcat7.0。后台开发时还用到了DWZ框架,后面参考文献会具体介绍。2.1 系统开发工具在本次设计与实现城市公交查询系统过程中,用到的开发工具(技术)主要有JAVA语言、Struts 2、JSP、MySql数据库和JDBC数据库连接技术,下面将分别简要对这些语言
23、和技术进行介绍。2.1.1 JAVA简介我在设计与实现城市公交查询系统过程中使用的主要是JAVA语言,所以在此我将简单的介绍一下JAVA。JAVA作为计算机编程语言之一,是Sun公司推出的可以撰写跨平台应用软件的面向对象的程序设计语言,是一个简单的、面向对象的、安全的、与平台无关的、可移植的、多线程、高性能的语言,目前广泛的应用于电脑、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,拥有最大的开发群。JAVA分为三个体系:Java SE(标准版)、JavaEE(企业版)和Java ME(微型版),它提供许多框架服务,比如Spring、Struts、Hibernate等,开发工具也是多种
24、多样,如Myeclipse、Eclipse、NetBeans。在该系统中我所使用的是运行在Myeclipse10.0上的JAVA+Struts2+JSP框架,数据库使用的是MySql,下面简单介绍Struts 2、JSP和MySql。2.1.2 Struts 2简介 Struts 2是Struts的下一代产品,是以WebWork为核心采用拦截器的机制来处理用户的请求,是在Struts 1和WebWork的基础上进行合并的全新产品。Struts 2中的一个Action处理一个实例,在使用Struts 2时要先在Web.xml中配置Servlet为struts,然后在Struts.xml中定义Ac
25、tion来处理页面请求。关于Struts 2的详细信息大家可以在网上或者图书馆查看。2.1.3 JSP简介JSP的全名是Java Server Pages(Java服务器页面),是由Sun公司倡导、众多公司参与一起建立的动态网页技术标准,是在传统HTML文件中插入Java程序段和JSP标记的文件,是跨平台的,既能在Linux上运行,也能在其他操作系统上运行。JSP以的形式实现了HTML语法的Java扩展,是一种动态网页技术,主要目的是将逻辑表现从Servlet中分离出来。JSP的优点:1):一次编写,到处运行;用JSP开发的Web应用是跨平台的,除了系统之外,代码不用作任何改变;2):多平台支
26、持,基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,与系统无关;3):Java开发工具支持,Java拥有许多开发工具,在这些开发工具中几乎都支持JSP技术;4):执行速度快,JSP第一次执行的时候需要通过JSP引擎转换成Servlet文件,然后再通过JVM编译和执行程序,其后一直驻留于服务器内存中,所以,JSP程序的第一次执行速度都会比较慢,到第二次以后就会很快。若不考虑JSP页面第一次编译所花的时间,则JSP的响应速度要比ASP快的多。2.1.4 MySql简介 此次连接数据库使用的是JDBC技术,数据库使用的是MySql。 MySql是一个关系型数据库管理系统,在Web应
27、用方面是最好的关系数据库管理系统软件之一,是由MySql AB公司开发,目前属于Oracle公司。与其他大型数据库如Oracle、SQL Server等相比虽然有不足之处,但是其体积小、速度快、总体拥有成本低和开放源码的特点在中小型网站开发中大受欢迎。在使用MySql数据库时还有许多用户界面操作软件,可以大大方便开发人员使用MySql数据库,而我们学生大多使用的是SQLyog,我们叫它“小海豚”,在SQLyog用户界面化操作软件中我们可以很方便的创建数据库、数据表、视图等,插入数据或者修改表结构都很简单,不用直接写SQL语句,大大的减少了开发时间。2.1.5 JDBC简介JDBC,全称Java
28、 Data Base Connectivity(Java数据库连接),是一种用于执行SQL语句的Java API(应用程序编程接口),由一组用Java语言编写的类和接口组成,可以为许多关系数据库提供统一访问。有了JDBC,向各种关系数据库发送SQL语句就很容易了。然而JDBC也有不足之处,尽管JDBC在Java语言层面实现了统一,但对不同的数据库仍旧有许多不同,所以为了更好的实现跨数据库操作,最近“大势”的Hibernate诞生了,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性,在各企业和单位项目中很受欢迎。2.2运行环境本次设计的城市公交查询系统是一个
29、基于B/S(浏览器/服务器)的网站系统,开发时用的软件是Myeclipse,服务器是Tomcat7.0,详细介绍如下:2.2.1 Myeclipse简介Myeclipse是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。因为有Myeclipse,开发一个网站更加容易,因为它的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持,支持Java Servlet,AJAX,JSP, Struts,Spring,Hibernate, JDBC数据库链接工具等多项功能,可以说是几乎囊括了目前所有主流开源产品的专属ecl
30、ipse开发工具。Myeclipse的版本特别多,目前已经有十几个版本,最新版本是2015正式版。我使用的是Myeclipse10.0版本也很好用。2.2.2 Tomcat7.0简介Tomcat是一个免费的Web应用服务器,由Apache、Sun及其他一些公司共同开发的轻量级应用服务器,适用于中小型系统和并发访问用户不是很多的场合,是JSP开发和调试的首选。将Web工程部署到Tomcat服务器上后就可以在浏览器上查看页面的设计效果。它的版本也很多,目前最新版本是Tomcat 8.0,我使用的是Tomcat 7.0。可修改编辑精选资料第3章 需求分析需求分析就是站在系统用户的角度思考该系统所应该
31、具备的功能要求、数据要求以及性能要求。本身平时也会作为一名乘客,我就以自己作为一名乘客出发确定系统边界、功能和性能等要求,下面就从系统需求分析、数据库需求分析和性能需求分析三个方面对城市公交查询系统进行需求分析。3.1 系统需求分析为了更加方便乘客查询公交信息以及管理员对公交信息进行管理,下面分为用户功能和管理员功能进行阐述:3.1.1 系统用户功能系统用户功能包括:公交查询、站点查询、路线查询(公交直达、一次换乘、二次换乘)和留言板(登录用户可留言、回复留言)、用户注册、登录、修改密码、修改个人信息、查看公交公告信息和天气信息。3.1.2 系统管理员功能管理员功能主要包括:添加车次、站点;修
32、改车次、站点;删除车次、站点;查询车次、站点;登录、修改资料信息;回复留言板;添加、删除和修改天气信息;添加、删除和修改公告信息、查看所有用户的部分信息。综上所述,系统功能流程图如下:图3-1 系统功能模块图3.2 数据库需求分析数据库在一个网站、系统中占据着绝对重要的角色,数据库设计的好坏将直接影响着该网站或系统的顺利运行,因此要做好一个网站或系统,首选要设计好数据库。数据库设计时主要分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、验证设计和运行与维护设计,最终得到一个完整的数据库。数据库需求分析将从用户和管理员两个角度分析该系统需要哪些表、表之间有哪些联系、表中有哪些数据及其数据类
33、型、需要哪些视图,即获得用户和管理员对信息的要求、处理要求及安全性与完整性要求。信息要求:指系统用户需要从数据库中获得信息的内容和性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;处理要求:指系统用户要完成什么处理功能,对处理的响应时间又什么要求,处理方式是批处理还是联机处理。3.2.1 信息要求1、用户(前台):用户需要从数据库读取或存入的数据包括路线信息数据、车次信息数据、站点信息数据、公告信息数据、天气信息数据、留言信息数据、个人信息数据等。路线信息数据:用户所查询站到站的所有路线按所需时间、换乘次数或所需费用排序的路线号、车次、经过的站点、所需总时间、所需总费用、中转站等
34、。车次信息数据:用户所查询车次的首班时间、末班时间、目前运行状态、运行区间、经过的站点、次序、时间、票价、发车间隔时间等。站点信息数据:包含用户所输入数据的所有站点的信息,经过这些站点的车次的信息。公告信息数据:公告的标题、时间、内容等。天气信息数据:日期、星期、气候、风况、最高气温、最低气温、空气质量等。留言信息数据:留言人、留言标题、留言内容、留言时间、回复人、回复内容、回复时间等;个人信息数据:个人ID、用户名、登录密码等。2、管理员(后台):路线、车次、站点、公告、留言、天气、所有用户及个人信息等数据。3.2.2 处理要求1、用户(前台):对路线、车次、站点的查询操作处理,其中对路线进
35、行按时间、换乘次数或者费用排序的处理;登录、免费注册、修改个人用户名、修改密码操作处理;查看所有留言、查看与某人相关留言、查看与自己相关留言、发表留言操作处理;查看公告信息及天气信息操作处理。2、管理员(后台):对路线、车次、站点、公告、天气信息的增删改查操作处理;登录、查看个人信息、修改密码操作处理;查看所有留言、回复留言操作处理;查看所有用户的部分信息操作处理。3.3 性能需求分析 为了保证系统能够安全、长久、顺利、高效的运行,城市公交查询系统应该满足以下的性能需求:3.3.1 系统的及时性 系统对于公交车次、路线、站点、公告等信息应及时反应,首先是管理员对数据库中的数据及时进行添加、删除
36、和修改操作,其次是系统从数据库获取更新数据的及时性,只有这样,才能保证用户得到及时的、正确的信息以及时调整自己的行程。3.3.2 系统的准确性 城市公交查询系统是一个正规的、城市公交公司管理的、被乘客信任的系统,若系统中有不正确、过期的信息将会影响乘客的行程、甚至是直接利益,所以,城市公交查询系统一定得保证其数据的正确性。要保证系统数据的正确性,首选管理员一定得及时有效的更新数据库信息,保证数据的正确性,其次是系统必须要及时获取数据库中的更新数据,所以系统的响应速度要求要快。3.3.3 系统的易用性 决定一个系统的优劣,功能的完整性是一个要素,另一个要素是系统的易用性。城市公交查询系统作为一个
37、实用性的系统,其易用性非常重要。对于使用某系统的用户来说,能简单的在该系统找到想要的信息、想要操作的功能才是一个实用的系统,当然系统的外观也会增加用户使用欲望。精选资料第4章 系统概要设计概要设计是指将用户需求转化为数据结构和软件的系统结构,数据结构设计即数据库设计,将用户的信息需求转化为数据库中的表结构设计;软件的系统结构即功能模块设计,将用户的处理需求转化为对系统的功能模块设计。下面就系统功能模块设计和数据库设计详细介绍。4.1 概述系统概要设计是将系统需求分析阶段所分析的用户的信息要求和处理要求抽象化为对系统数据库的设计和对系统的功能设计。功能模块设计是将一个复杂的系统按功能进行模块划分
38、,建立模块的层次结构及调用关系,确定模块间的接口及人机交互界面等。数据库设计包括设计数据库中的表及表结构,系统要用到的用户子模式(即视图)等。在系统概要设计阶段中,最终要确定系统的功能和数据库的表及表结构。4.2 功能模块我将系统功能分为两块:前台用户功能和后台管理员功能。4.2.1 前台用户前台功能是用户可以实现的功能,主要包括登录注册、修改密码、修改个人信息、路线查询、车次查询、站点查询、公告信息查看、天气信息查看和留言板;详细描述:1、路线查询:用户输入始发站和终点站,可以直达的为公交直达,给出时间;不能直达的可分为换乘最少、费用最少和时间最少,以供用户选择;换乘最少:按换乘次数排序,若
39、换乘次数相等,则按所需时间排序;若所需时间也相等,则再按所需费用排序;费用最少:按所需总费用排序,若所需总费用相等,则按所需时间排序;若所需总时间也相等,则再按所需换乘次数排序;时间最少:按所需总时间拍排序,若时间相等,则按所需换乘次数排序,若换乘次数也相等,则再按所需费用排序。2、车次查询:用户输入要查询的车次,系统给出用户查询的公交所经过的站点及始发站到各站点所需时间、费用及公交的大略定位,用户也可以通过链接查到所经过的各站点的详细信息;3、站点查询:用户输入要查询的站点,系统给出经过该用户所查询的站点及含有该站名的车次,用户也可以通过链接查到这些车次的详细信息;4、用户登录、注册、修改信
40、息:若用户拥有系统账号就可以在留言板上发表和回复留言;系统为用户提供登录、免费注册、修改密码、修改个人信息功能;说明:未登录用户可以查看所有留言,但是不能回复和发表留言;5、留言板:用户有疑问或不知道的可以在留言板上留言;6、公交公告信息:用户可以查看所有公告信息;7、天气信息:用户可以在首页查看当天及未来一周的天气信息,包括日期、星期、气候、风况、最高气温、最低气温和空气质量。综上所述,系统用户的功能模块图如下:图4-1 用户功能模块图4.2.2 后台管理员介绍再详细一点综上所述,管理员的功能模块图如下:图4-2 管理员功能模块图4.3 数据库设计数据库设计是根据用户的需求,在数据库管理系统
41、(在此我用的是MySql)上设计数据库的结构和数据库的过程。由于设计数据库是一个非常复杂的过程,不可能一蹴而就,在设计过程中会不断的、反复的修改、求精,所以下面将从数据库的概念结构设计、逻辑结构设计和物理结构设计三个阶段详述数据库设计。4.3.1 数据库概念结构设计在设计数据库的初始阶段要用数据模型来表现数据库的结构与语义以实现对现实世界进行抽象。目前广泛使用的数据模型分为两种:独立于计算机系统的“概念数据模型”和“结构数据模型”,在本次系统设计与实现中我将采用概念数据模型中的“实体联系模型(ER模型)”来描述数据库的结构和含义以对现实世界进行抽象。ER模型是用ER图来表示数据模型的方法,它直
42、接从现实世界抽象出实体类型及实体间联系,它的优点有:接近人的思维,容易理解;与计算机无关,用户容易接受。 实体和属性的定义如下:管理员表:登录ID、用户名和密码;站点表:编号和站名;车次表:编号、车次、服务类型、车辆类型、运行区间、首班发车时间、末班发车时间、发车间隔时间;线路表:编号、车次、站点、次序、时间、票价、方向。用户表:用户账号、用户名、登录密码、用户头像。留言表:留言编号、用户名、标题、留言人、留言内容、留言时间、状态。回复表:回复编号、留言编号、回复人、回复内容、回复时间。天气信息表:日期、气候、风况、最高气温、最低气温和空气质量。公告信息表:公告ID、公告标题、公告内容、公告时
43、间。系统总E-R图如下:图4-3 系统总E-R图4.3.2 数据库逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS(Database Management System,数据库管理系统)产品所支持的数据模型相符合的逻辑结构。逻辑结构设计一般分为三个步骤进行:1、将概念结构转换为一般的关系、网状、层次模型;2、将转换来的关系、网状、层次模型向特定的DBMS支持下的数据模型转换;3、对数据模型进行优化。将概念结构设计中得到的E-R图转换为关系模型,如下文所示(下划线表示主码):管理员(登录ID,用户名,密码);列名数据类型长度约束条件是否为主键login
44、IDvarchar50非空是managerNamevarchar50唯一否loginPasswordvarchar50非空否表 4-1 管理员信息表站点(编号,站名);列名数据类型长度约束条件是否为主键station_IDint20非空是station_namevarchar50非空、唯一否表 4-2 站点信息表车次(编号,车次,服务类型,车辆类型,运行区间,首班发车时间,末班发车时间,发车间隔时间);列名类型长度约束条件是否为主键car_IDint20非空是car_namevarchar50唯一、非空否serviceTypevarchar50自动or人工否carTypevarchar20K、G or S否drivingRa