




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳市公交线路查询系统毕业论文目 录第1章 绪论11.1课题背景11.2课题意义11.3课题目的11.4国内外发展现状及趋势21.5课题要求及论文结构3第2章 可行性分析42.1技术可行性分析42.2操作可行性分析52.3经济可行性分析52.4法律可行性5第3章 需求分析73.1功能需求73.2数据需求83.3性能需求93.4数据流图103.5数据字典123.6 E-R图153.6.1 实体属性图153.6.2系统E-R图17第4章 系统设计184.1系统结构及设计方案184.1.1 MVC架构184.1.2方案设计194.2功能模块设计194.3数据库设计234.3.1关系模式设计234.3.2数据库表设计244.4关键技术及开发工具264.5重点难点29第5章 详细设计305.1 框架结构305.2 数据库连接305.3功能模块设计与实现315.3.1线路查询模块的实现315.3.2站点查询模块的实现335.3.3换乘查询模块的实现345.3.4评论模块375.3.5后台管理模块385.4人机界面设计39第6章 系统调试与测试426.1系统调试426.2系统测试436.2.1测试方案436.2.2系统黑盒测试44第7章 结 论47结束语48致 谢49参考文献5051第1章 绪论1.1课题背景当人类社会步入二十一世纪之后,科技的迅猛发展使得科技对人们生活的限制越来越小,人们很快的步入了信息化时代,时代的飞速前进催生了很多给人们生活带来便利的事物,公共交通事业就是其中一部分。人们的生活节奏的加快,公共交通给我们带来很大的便利的同时,纷繁复杂的公交线路信息成为了新的难题,如果不是时常乘坐某一线路的公交是很难记住它的站点信息的,于是乎人们使用了小册子对公交线路进行了整理,在一段时间之内,这一方法确实给人们带来一些生活上的便利,然而人们发现信息化时代的来临,小册子的形式已经不能很好的适应当今社会的需求,现在需求的是一种不受形式限制的,便于人们使用的载体。于是人们开始着手于开发一种新的公交线路管理查询的载体,无疑网络技术是一个很有发展的方向,所以人们开始着力于基于网络的公交线路查询系统。1.2课题意义一个性能优越的公交线路查询系统是现今社会必不可少的一部分。如果没有一个好的公交线路查询系统,不能掌握最新的最准确的公交线路信息,人们的生活会受到很大程度的限制,随着公共交通事业不断发展,随着公交线路的复杂化这种不便会更加严重,这与当今社会的大背景是不符合的也不是人们想要的生活方式,因为它给人们带来的便利正在被削弱。一个公交线路查询系统存在的目的是就是方便人们日常生活中的出行,方便查询公交线路,使出行高效准确。能够根据不同的需求进行相关的搜索,得出最优路线。这些都是从实际出发与人们的生活息息相关的。也是本系统开发意义所在。1.3课题目的信息化时代是当今社会的发展的必然趋势,从上个世纪中期开始,信息化最具有代表性的就是计算机的大规模使用,伴随着计算机事业的蓬勃发展,如今很多技术得到了突破性进展,无论是软件的开发能力还是近乎过剩的硬件基础、GPS技术的普及、几乎覆盖各地的网络地图,我们早已不再满足于那种纸质的小册子来查询公交线路了,我们要的是高效,时效性高的网络化的信息资讯。公交事业向管理化,信息化,智能化的不断发展是必不可少的。本系统的目的在于开发一款适应当前社会背景的体现出信息化的公交线路查询系统。1.4国内外发展现状及趋势目前我国的公共交通管理事业还不是很强大,还仅仅是刚刚的起步阶段。由于近年来我国大中型城市的交通状况的每况愈下,因此从中央到地方的各级单位的高度关注促使我们把问题提出来并加以解决。在国外很早就开始了注重这方面各种问题,他们的处理方案做的比我们要好得多。世界各地都在进行着各种各样的方案,由此来改善当前的这种局面,然而并不没有收到特别显著的效果,例如美国人口的增上速度已经不是单纯的增加公共交通线路就能解决问题的了,所以他们开始着手智能化的管理理念进行高效的管理,从软环境上解决问题。我们的目前的情况也是如此,只不过我们的技术起步晚,建设慢导致了落后的局面才出现了现在的各种各样的交通问题无论是在世界的各个地方公共交通事业都是一个国家关注的一个焦点,在国外公共交通查询还是以各个大的地图公司的地图为基础进行开发,由于谷歌公司从事地图的相关的研究还是有一些时间的,所以技术层面上要更成熟,所以我们的认同度要高一些,以谷歌地图为基础的公交查询系统的优势在于地图的详细,国内有百度地图被广为使用,而以百度地图的准确度略差一点。毕竟百度作为半路出家的一家公司,起步晚并且技术层面上的积累还略微差一些,所以基于谷歌地图开发比较好选择。由于国内相关的一些系统也是近几年才刚刚兴起,所以开发一款高效实用的公交线路查询系统仍是必不可少的。1.5课题要求及论文结构本系统的宗旨在于开发一个用于沈阳市公交线路查询的系统,主要是实现对公交线路的查询与更新,在查询时主要是要实现三种不同的方式的查询,即站名查询、线路查询,和换乘查询。对于换乘查询要完成的是最优路线的智能化的选择。当某些线路出现更改的时候可以更新数据库中的线路信息,以达到更高的时效性。系统在实现中主要是以界面简介,高效为目的,友好的人机界面,使用户使用起来简单易懂。论文结构大致如下。 第1章 绪论:主要介绍了课题背景、意义、目的、国内外发展现状等; 第2章可行性分析:主要介绍了技术、操作、经济、法律可行性等;、 第3章需求分析:主要从数据需求、功能需求、性能需求、数据流图、数据字典、E-R图等方面对系统的需求进行了分析; 第4章系统设计:主要从设计方案、功能模块设计、数据库设计、开发工具进行了分析; 第5章详细设计:主要介绍了功能模块设计与实现、人机界面设计等; 第6章系统调试与测试:主要介绍了系统调试、系统测试等。第2章 可行性分析可行性分析(feasibility study ),是世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。2.1技术可行性分析本系统是基于网络编程的思想编写的本系统。目前WEB应用程序十分的普及,人们开始适应并习惯于不用客户端就能使用的应用程序,这也是未来的发展的必然趋势。系统的前台设计采用的是网页的形式,鉴于目前的HTML技术和JSP技术,还有PHP,ASP等等技术的广泛应用,系统的前台开发有很多种选择方案,所以不会受到技术的限制。系统的数据库方面,目前主流的应用程序多数是使用的关系型数据库,关系型数据库从60年代末就已经成熟并得到了广泛的应用,目前的关系型数据库软件已经十分的成熟。在系统开发过程中使用一款主流的关系型数据库,我们只要是了解其基本的使用原理就能够满足我们程序的开发需求。近些年来网络技术的飞速发展同时也带动了硬件技术的同步跟进,网络条件和硬件条件几乎是在过生发展。网络带宽目前都是4M或者更高的光纤等等网速足以满足系统的开发需要。处理器方面目前的PC的主流配置基本都是酷睿I5三代四核处理器以上水平,响应的速度不再以前的PC所能比拟的了。在软硬件同时具备的深厚的基础之上开发一个系统并不是难事。综上所述,公交线路查询系统的开发从数据库技术、软件技术、硬件技术方面均具有可行性。2.2操作可行性分析本系统是要投放到社会上供大多数人使用的一个公共的系统,所以在操作界面上一定要遵循的原则就是简单、明了、易操作,不能是看了好久最后用户无从下手不会使用的,那样这个系统无疑是失败的。本系统的宗旨是只要是会简单的鼠标点击操作和键盘输入的操作就能很好的上手,本系统并不会出现使用上的操作障碍!界面上本系统将采用色彩符合大众审美观点、使用习惯,易于多数人接受的布局。如此来提高本系统的可利用性与存在价值。2.3经济可行性分析公交线路查询系统的主要实现过程通过自己的一台2G内存320G硬盘I3系列的PC完成。当时的购入价格是4000元,折旧至今每天只有三五元钱的消耗,本系统在开发过程中使用的开发工具是在网络上下载的开放源代码的免费软件,数据库也是由甲骨文公司提供的同样也是开放源代码的MySQL数据库,所以从开发工具到数据库软件都是免费的。软件部分主要使用到的是eclipse,eclipse是IBM在1999年研发的一款开放源代码的针对各种编程语言的免费的开发工具。数据库方面因为是采用Java为后台开发工具所以最优的数据库是Oracle,采用完全免费的MYSQL数据库,查询资料的时候可以是WIFI和网吧宽带,也是几元钱的消耗,开发成功之后投放到网络上与有合作意向的相关企业予以运作,通过访问量和后期的后续辅助功能即可得到不可估量的经济效益。所以,从经济角度来讲,开发本程序是可行的。(不能具体给出数据库名字)2.4法律可行性本系统在开发的过程中所使用的软件不会涉及到侵犯他人权利的问题,系统所使用的相关的资料信息全部来源网络的公共信息,同样不会涉及到信息的盗用问题,并且这些信息本身不是隐私信息或者是触及相关法律法规,同时也不会涉及到其他有违社会和谐稳定的相关内容,系统完成之后考虑商用但是不会进行恶意竞争等一系列的不合法行为,所以综上所述本系统是具有法律可行性的。(不能保持一页2行)第3章 需求分析3.1功能需求系统主要是要实现沈阳市公交线路的查询,满足人们对于公交线路的不同需求的查询模式,如线路查询、站点查询、换乘方式的查询。同时作为使用的用户还应具有对相关问题进行提出的功能,即评论功能。再有就是网站的管理维护人员对后台数据的管理与维护这里的管理维护主要是体现在对后台数据库中的线路信息,站点信息的更新与修改,同时后台维护管理人员还应该具有对已注册用户所提供的评论信息进行相关的管理与维护。具体的功能如下所示:根据使用人群的性质不同本系统将使用人群分为三大类,:系统总体功能用例图如图3.1所示。(1) 一般访客一般访客就是本系统的外部用户,只是单纯的访问本系统,对与此类用户本系统赋予其所有的公交线路相关的信息查询功能。(2) 登录用户登陆用户即为登录了本系统的使用人群,对于此类适用人群本系统对起赋予了高一级的权力,登录用户可以对本系统进行友好的评论互动,给我们留言。(3) 管理员任何一个系统都是离不开管理员人的,管理人员可以对公交线路管理、站点管理、公告信息维护、用户评论信息的管理。图3.1 系统总体功能用例图3.2数据需求本系统中涉及到了一些公交线路信息的信息,现根据系统功能中使用到的进行说明如下: 站点查询本部分主要功能是根据站点名称信息进行查询。主要是输入数据是站名,输出的信息是查询的相结果,即经过这一站点的所有的公交线路。 线路查询本部分主要功能是根据线路的名称信息进行查询。主要是的输入数据是线路名,输出的数据是根据这一线路名查询得到的结果的集合即这一线路的所有经过的站名。 换乘查询本部分中主要功能是根据两个站名进行的查询。主要的输入数据是用户想要查询的起始和终点站站名,输出的数据是用户查询的换乘信息的最佳路线方案。 留言与评论本部分中主要功能是录入用户提交的评论和建议信息,并保存。主要的输入数据是用户的评论信息。 线路更新公告在这部分中主要功能是管理者输入一些线路变更信息,存储到数据库中并予以输出显示。缺少线路、站点维护3.3性能需求系统是对科研项目,科研文件进行系统管理的一个软件。由于是一个对科研项目进行管理,要求其要有明确的权限分配,并且要有较快的响应速度,系统还要有较高的可靠性。 安全性一个系统的安全性的体现,在对于后天数据的保护,管理员权限等问题上等。一个系统应该对与后台数据有保护措施,例如对于用户注册信息时候的验证等。 稳定性系统应该具有很好的稳定性,运行期间不能出现一些非正常现象,不会在运行的过程中突然弹出一些莫名其妙的提示信息。 可靠性系统应具有可靠性,最简单的一个系统不能够因为一个用户输入的格式不对的数据就开始报错。 响应速度系统应具有非常高的响应速度以达到用户的最优的系统使用体验,做到无等待响应。 3.4数据流图数据流图简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。数据流程图中有以下几种主要元素:数据流,是一组数据,表示的数据的流向,即数据在系统中的传递的路径。:数据源(终点),代表的是系统之外的实体:对数据的加工(处理),是对数据进行加工处理并输出的过程。:数据存储,通常是数据库中的元素,同时也可以是文件等形式的静态存储。公交线路查询系统顶层数据流图如图3.2所示:图3.2沈阳市公交线路查询系统顶层数据流图由于一般用户和登录用户还有管理员的身份不同,所以他们具有不同的权限,不同的权限对应着不同的限制使用的功能,一般用户只能够查询公交线路。登录用户在一般用户的基础之上又多了一项就是可以提交对现有的路线进行评价或者是对本系统的一些建议。最后权限最大的是管理员这个角色能够对后台的数据进行修改,以确保本系统中的数据是真实有效的具有很强的时效性,能够及时发布最新的线路变动情况和相关信息。沈阳市公交线路查询系统的第一层数据流图如图3.3所示。图3.3公交线路查询系统两层数据流图对于用户评论表而言,管理员可进行添加信息,查询、修改和删除,一般用户可以用查询功能进行查看。以用户评论表为例的二层数据流图如图3.4所示。图3.4 公交线路信息数据流图管理员具有查看各种基本信息的权限。下面以更新信息表为例,二层数据流图如图3.4所示。图3.4 更新信息表数据流图3.5数据字典数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典,数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典主要包数据流、数据处理、数据存储、数据元素信息。 (由于图更新,以下各项应当保持与图一致) 数据元素数据元素名称:lineID 别 名:公交线路编号简 述:用于存放公交线路名称的数据类型:varchar长 度:25取值范围:“000001”-“999999”az”-“AZ”数据元素名称:staID别 名:公交站名简 述:用于存放公交站的名字的数据类型:varchar长 度:25取值范围:“000001”-“999999”az”-“AZ”数据元素名称:userName别 名:用户名简 述:用于存放用户登录的用户名的数据类型:varchar长 度:25取值范围:“000001”-“999999”az”-“AZ”数据元素名称:userPWD别 名:用户名简 述:用于存放用户登录的密码的数据类型:varchar长 度:25取值范围:“000001”-“999999”az”-“AZ”其他详见数据库中表中关于数据项的定义 数据流数据流名称:线路、站名信息简 述:记录公交线路和站名的信息数据流组成:线路名称数据流名称:用户评论信息简 述:记录用户评论的信息数据流组成:评论信息=具体的评论内容数据流名称:公告信息简 述:管理人员发布的最新的公交线路的信息数据流组成:公告的具内容数据流名称:用户信息简 述:一般用户用于登录的用户名和密码数据流组成:用户名和密码 处理逻辑条目处理逻辑名称:查询简 述:根据用户输入的公交线路名、站名进行查询,若有符合条件的相关信息便输出。输入的数据流:输入线路名、站名处 理:根据用户输入的内容到数据库中进行相关的查找,如果是找到了那么就将最后的结果输出。输出的数据流:查询到的相关信息。 处理逻辑名称:添加评论简 述:对本系统进行评价和建议。输入的数据流:输入评论内容处 理:收到用户对本系统的一些建设性意见然后将这些意见存放到数据库中。处理逻辑名称:更新线路动态简 述:发布最新最准确的线路变更信息。输入的数据流:输入公告信息处 理:管理员将最新的最准确的公交信息发布出来供大家参考,更改出行计划。 数据存储数据存储名称:站名表简 述:存放公交站名信息数据存储结构:站名表 = 站名的ID+站名关 键 字 :站名ID数据存储名称:用户评论表简 述:存放评论信息数据存储结构:评论信息关 键 字 :评论编号数据存储名称:公告表简 述:公交线路的最新公告数据存储结构:最新公告=公告ID+公告内容关 键 字 :公告ID数据存储名称:线路关系表简 述:站名与线路存在的对应的关系表数据存储结构:关系表=关系ID+站名ID+线路ID关 键 字 :关系ID数据存储名称:用户信息表简 述:存储用户的用户名和密码的表数据存储结构:用户信息表=用户ID+用户名+密码关 键 字 :用户ID3.6 E-R图E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如教师的编号、姓名、性别、都是属性。如果是多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 比如教师跟项目存在立项关系,教师跟论文有发表关系。如果是弱实体的联系则在菱形外面再套菱形。3.6.1 实体属性图经过分析,本系统分为用户、线路及管理员5个实体。 线路线路实体属性主要包括:线路ID、线路名。线路属性图如图3.9所示。图3.9线路实体属性图 站点站点实体主要包括站点ID和站点名称这两个属性。站点的实体属性图如图3.10所示:图3.10站点实体属性图用户用户实体主要包括用户编号、用户名、密码和身份代码四个属性。用户的实体属性如图3.11所示:图3.11管理员实体属性图公告公告实体主要包括公告编号、公告内容两个属性。公告的实体属性如图3.12所示:图3.12公告实体属性图评论评论实体主要包括评论编号、评论内容以及对应的用户三个属性。评论的实体属性如图3.13所示:图3.13评论实体属性图3.6.2系统E-R图ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。系统E-R图如图3.19所示。图3.19 系统E-R图解释如下:系统中有些实体并没有和其他的实体构成对应的关系仅有几个实体间存在对应的关系。其中站名和线路名之间存在着多对多的关系,用户和评论存在着多对一的关系。第4章 系统设计系统设计要回答“怎么做”,即如何实现系统说明书规定的系统功能。在这一阶段,要根据实际的技术条件,经济条件和社会条件确定系统的实施方案,即系统的物理模型。本系统主要面向高校,为高校教师提供全方位的信息咨询服务。本章主要从系统结构、功能模块设计、数据库设计、开发工具四个方面对系统设计进行了分析。4.1系统结构及设计方案4.1.1 MVC架构系统采用的是经典的MVC模式,是Model、View、Controller的缩写,即为“模型-视图-控制器”,这样一个应用被分成三个层次模型层、视图层、控制层。Model层主要是系统中的业务逻辑的实现部分。View层主要用JSP来实现与用户的交互,即页面显示。Controller层是采用Struts2实现的模型层与视图层之间进行沟通的一个通道。视图是用户与系统实现交互的途径,作用包括为用户显示相关的数据、用户可以输入、向模型层发送查询业务状态的请求、接受模型返回的数据响应数据,从而实现界面同步更新显示。模型是应用程序的所有部分中最主要的一部分,表示所有的业务需要的数据和逻辑。模型接受视图请求过来的信息,并将最终的处理结果返回。一个模型为视图提供数据是一对多的并不是一对一的单一的提供数据,从而提高的代码的重用性。模型里面还有一个很重要便是数据模型,它主要指实体对象的数据。控制器接调用模型和视图去完成接受到的用户的请求。当Web用户发送HTML表单时,控制器接收请求后调用对应的模型组件去处理这个请求,最后返回的数据决定调用哪个视图层的JSP。MVC的优点表现在如下几个方面:(1) 视图和模型的多对多的关系,从而提高了代码的可重用性。(2) 松偶合的设计模式。依据这种设计思想可以构造出性能优越的松偶合构件。(3) 控制器提高了应用程序的可配置性和灵活性。4.1.2方案设计本系统在前台界面的设计实现上可以使用HTML或者是JSP,这两者都是开发网页比较常用的技术,但是JSP相对于HTML有着后者不具备的优点,那就是jsp更加的灵活,可以在JSP页面中嵌入Java代码使用脚本语言,能够与struts实现分层开发,JSP封装了系统开发过程中常使用的几大内置对象,这样利系统的开发,所以本系统在页面设计上选用了JSP技术。本系统在数据库的选择上也有几种方案的,首先作为关系型数据库,我们常用到或者是耳熟能详的有SQLServer、Oracle、和MySQL等等。这里我们要选择一款最适合自己系统开发的数据库软件,首先虽然Oracle和其他的关系型数据库相同绝对的同样优秀,但是最关键的问题是Oracle不是免费的。再说MySQL和SQLServer它们相比MySQL有着一个明显的优势,那就是它安装之后占用系统的空间小,同时运行时对系统的资源占用较少,所以最终决定选用MySQL作为本系统开发所用的数据库软件。4.2功能模块设计根据公交线路查询的实际需求,本系统主要有如下功能:一般访客可以进行查询,其中包括线路查询、站名查询及始发终点站查询;注册用户登录之后可以发表评论。管理员可以对站名信息进行更改,线路信息等数据进行更新、修改,并可以发布公告。系统功能图如图4.3所示。图4.3系统功能图系统功能主要由登录模块、查询模块、评论模块、和后台模块组成。其中查询模块又可以细分为站点查询、换乘查询和线路查询三个子模块。功能具体如下所示。登录模块这一模块主要是让一般用户登录使用,然后赋予其一些登录之后才可以使用的相关功能的权限。查询模块这查询模块中主要是实现各种查询功能,其中细分为三个子功能模块,具体的功能如下所示。线路查询模块在这一模块中主要是的使用方式是用户输入一个公交的线路系统会根据用户输入的信息到后台数据库中检索查询相关的信息,查到相关的信息之后返回相关的数据在页面上给用户显示其想要的路线信息。线路查询模块是以用户输入的线路名称为主要信息进行对数据库信息查询的,具体的线路查询模块的时序图如图4.4所示:图4.4线路查询时序图这一模块中主要是用户在前台页面中输入了待查询的路线系统将页面的信息请求给QueryByNameAction,然后QueryByNameAction会将数据传给对应的StationDao层getByName();方法进行数据库数据查询,然后将查询结构返回给QueryByNameAction,然后QueryByNameAction再将这些信息传给JSP页面进行显示。站名查询模块本模块中主要的查询方式是用户输入一个现有的公交线路上的一个站点的名字系统会根据用户输入的站名信息对数据库中的信息进行查询检索,然后在页面上返回用户想要的和本站相关的路线信息。站点查询模块中主要是以用户输入的站点名称为主要参数对数据库中的信息进行查询的,具体的站点查询模块的时序图如下图4.5所示:图4.5站名查询时序图在站点查询模块中将在JSP页面中获得的站名的信息请求给对应的管理站点查询的QueryByStationAction,然后QueryByStationAction将数据传送给在StationDao层中对应的getByStation()方法,然后将结果返回给对应的Action中并最终返回到JSP页面中。换乘信息查询模块本模块中系统会根据用户输入的始发终点站的名称进行查询,然后返回给用户几种方案的路线可供选择。例如路程最短。换乘次数最少等最优路线的选择。换乘查询模块主要是实现用户输入起始终点站的站名信息进行查询,具体的换乘查询模块的时序图以一次换乘为例如下图4.6所示:图4.6换乘查询时序图在换乘查询模块中根据用户在jsp页面中输入的起始终点站信息,请求对应的ChangeAction,然后ChangeAction调用对应的Stationdao中的getChange()方法查询到换乘信息,然后返回jsp界面,如果一次查询没有找到相应的结果,可以嵌套使用这一方法实现多次换乘查询。评论模块在这一模块中主要实现的功能是,已登录的用户可以对本系统提出评论意见,实现用户与系统的运营者的一种互动,为系统的更好的改善与发展打下基础。后台模块在这一模块中主要是让管理员对数据库中的一些信息进行管理和维护,这些信息主要包括:站点维护,线路更新,相关通知,回复评论等信息。并且可以查用户对系统的意见的评论信息等等。4.3数据库设计4.3.1关系模式设计E-R图向关系模型的转换要解决的问题是如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。根据ER图转换为关系的转换规则,实体之间1:1,1:n的联系与n方的关系模式合并,m:n的联系转换为二元或多元关系模式,转换为关系模式如下。 独立的关系模式站点:属性有站点编号和站点名称,其中站点的编号是主码。线路:属性有线路的编号、线路的名称和线路的运营时间段,其中线路的编号为主码。用户:属性有用户的编号、用户名、密码和身份的标识码,其中用户的编号为主码。通知:属性有通知的编号和通知的具体内容。其中通知的编号为主码。 二元或多元关系模式 线路与站名关系:包含的属性有关系编号,线路编号,站名编号和改对应关系在线路中的位置,其中线路编号和站名编号作为复合主码。参照于站名表的站名编号和线路表的线路编号。评论:包括的属性有评论的编号,评论内容,评论人的编号,其中评论编号是主码。评论人编号为外码,参照于用户表用用户编号。4.3.2数据库表设计系统选择MySQL作为后台数据库。新建线路信息表,评论信息表,更新公告信息表数据库表共4个。下面对数据库表进行介绍。 线路表 (line)线路表主要存储线路的名称的,包括线路的ID和线路的名称。线路表linetab表结构如表4.1所示。表4.1 line表字段名称字段类型字段长度是否为空字段说明LineidInt12否线路表的主键Linename varchar50否线路的名称表说明: 这个表中是公交线路的名称,可以根据对应的主键到线路对应关系表中查询到相应的信息。 Lineid字段为公交线路的ID 。Linename字段为线路的名称。 站名表(station)站名表主要是站名的表,其中包括站名的ID和名字。具体的表的内容见下表4.2所示:表4.2 station字段名称字段类型字段长度是否为空字段说明stationidInt20否用户的ID作主键stationnamevarchar12否用户名表说明: 这个表中是站名的信息。其中站名的ID作为主键。 stationed 这一字段是站的id。 stationname 这一字段是站的名字。 线路关系表(temp)线路关系表主要是描述站名和路线表之间的关系的表,其中包括站名的ID和名字。具体的表的内容见下表4.3所示:表4.3 temp表字段名称字段类型字段长度是否为空字段说明IdInt20否记录的编号StationidInt30否主键(站名表外键)LineidInt30否主键(线路表外键)OrdersInt5否位置说明: 这个表是站名和线路的对应关系的信息。其中stationid和lineid作为复合主键。 id 这一字段是站的id。 stationid 这一字段是站名表的主键。lineid 这一字段是线路表的主键 no 这一字段是用来描述某一站在对应线路的第几站 评论表(review)评论表主要是描述评论信息的表,其中包括ID和用户的id以及评论内容。具体的表的内容见下表4.4所示:表4.4review表字段名称字段类型字段长度是否为空字段说明IdInt20否主键useridInt30否用户表外键reviewsVarchar3000否评论的内容说明: 这个表是存储评论信息的。其中id作为主键。 id 这一字段是站的id。 userid 这一字段是站名表的主键。reviews是评论的主要内容 通知表(notices)通知表主要是描述通知信息的表,其中包括ID和通知的内容。具体的表的内容见下表4.5所示:表4.5notices表字段名称字段类型字段长度是否为空字段说明IdInt20否主键NoticesVarchar3000否通知的内容说明: 这个表是存储通知信息的。其中id作为主键。 id 这一字段是站的id。 notices 这一字段是通知的主要内容。缺个表4.4关键技术及开发工具本系统主要采用框架技术,前台设计科研管理信息系统采用JSP技术与JSTL标签技术相结合来实现,后台设计主要使用MySQL 5.1。下面介绍开发本系统主要使用到开发工具中那些有用的技术J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition)J2EE是Oracle公司提供的一组技术规范与指南,J2EE中囊括的各类组件、技术层次和服务架构,都是用相同的规格和标准的,让各种不同平台之间只要是依循J2EE架构的,都能有良好的兼容性,解决从前信息产品彼此之间无法兼容,企业内部或外部无法互通的窘迫境地。J2EE组件和我们熟知的Java类的不同点如下:它被装配在一个J2EE应用中,遵守J2EE规范并拥有一定的格式,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;Web组件;Enterprise Java Bean (E JB )组件是运行在服务器端的业务组件。Java Servlet和Java Server Pages (JSP) 是运行在服务器端的MySQL是一个关系型数据库系统,是由瑞典的MySQL AB公司开发,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。目前也隶属于Oracle公司。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就提高了灵活性从而提高了速度。MySQL所使用的SQL(结构化查询语言)查询语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其速度快、体积小、成本低,并且是开放源码这些特点,一般中小型网站的开发都选择MySQL作为网站数据库。搭配PHP和Apache可组成良好的开发环境。MySQL的优点如下: (1) MySQL是完全多线程,支持多处理器。 (2) 有多种列类型:1、2、3、4、和8字节长度自有符号或是无符号的整数TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、FLOAT、DOUBLE、CHAR、VARCHAR、和ENUM数据类型。 (3) 它实现SQL函数库并像他们能达到的一样快速,得益于一个高度优化的类库。不存在内存漏洞。一般在查询初始化后没有任何内存分配。(4) 全面支持结构化查询语言中的分组和排序子句,支持聚合函数。可以在同一查询中使用来自不同数据库的表。(5) 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。(6) 插入的一条记录那些没用明确定值的列MySQL为他们设置的决省值。(7) MySQL可以在不同的平台上运行。支持C、C、Java、Perl、PHP等等语言。struts是Apache软件基金会(ASF)赞助的一个开源软件。struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。使用Struts的目的是为了帮助开发人员减少在运用MVC设计模型来开发Web应用程序时候所花费的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。Spring 由Rod Johnson创建的是为了解决企业应用程序开发复杂性的一个开源框架,Spring是一个轻量级的Java 开发框架,Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。从可测试性、简单性和松耦合的角度来说,任何Java应用都可以从Spring中受益。Spring的用途不仅限于服务器端的开发。Hibernate是一种Java语言下的对象关系映射解决方案,是一个开放源代码的对象关系映射框架。使用的是GNU宽通用公共许可证发行的自由的开源软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最重要的意义是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化。Hibernate是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有。Hibernate一共有6个核心接口,分别是:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。集成SSH框架的系统可以分为四层:表示层、业务逻辑层、数据持久层和域模块层,使开发人员可以在短期内搭建结构清晰、维护方便、可复用性好的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC开发模式的分离,在Struts的模型层,控制业务跳转,利用Hibernate对持久层进行操作,用Spring管理,管理struts和hibernate。方法是:用面向对象的方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问。JSP英文为java server pages即java服务器页面,它是一种技术标准是由Sun公司提倡的,很多公司一起共同建立的一种动态页面的技术标准,JSP技术是在原来的html静态页面上加入了JSP标签和一些java的小段程序,实现了对html中的java语言的扩充,在JSP页面中就能够调用后台数据库,重定向网页等操作完成了动态网站的基础功能,与servlet相同JSP同样是运行在服务器端的在设计之初JSP是用来代替servlet的但是由于在网页中嵌套了Java代码,会给以后的开发维护带了一些问题,所以通常的情况下程序开发人员是不会在JSP页面中进行过多的数据的处理工作,而仅仅是用来讲页面中的信息提取,请求对应的servlet并不会做业务处理。JSP技术使用Java编程语言编写小脚本,动态网页的处理逻辑进行封装。网页还能访问存在于服务端的应用逻辑,即servlet。JSP将网页逻辑和网页设计显示本身分离,实现主件的较高的复用性,这样做的目的是使基于Web的应用程序的开发变得更加便捷从而具有高效性。 将表示逻辑从Servlet中分离出来是JSP这种动态页面技术的主要目的。服务器在页面被客户端请求以后对这些Java代码进行处理,然后生成HTML页面返回给客户端的浏览器予以显示。JSP具备了Java技术的所有特点。例如简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网等等。Java Servlet是JSP的技术基础,Java Servlet和JSP配合是目前大型的Web应用程序的开发所使用的主要方式。JSP迅速成为商业应用的服务器端语言,自JSP推出后众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等等。4.5重点难点本系统中主要是涉及到了各种的查询,关系到了数据库查询的效率问题,同时本系统还涉及到对于线路查询方面的一些最优路线选择问题,例如在换乘的时候用户输入的站点信息中起始站和终点站首先应该判断它们是否在同一条公交线路上如果在,那么这就可以采用直接到达的方式是不需要换乘的,如果不在同一条线路上那么就需要调用单次换乘的算法单次换乘的算法基本原理是把起始站和终点站的所有的公交线路查询出来,然后逐条比较看是否存在共同的站点,如果有则存在一次换乘,若果没有就需要调用二次换乘,其实二次换乘的基本原理还是一次换乘,就是将其中起始站中所有站的每一个站点作为起始站再调用一次换乘的算法,最后返回结果,但是这些操作要反复的查询数据库中的信息。第5章 详细设计详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。5.1 框架结构沈阳市公交线路查询系统的采用的是Struts2和Hibernate框架实现,其中数据的持久化操作是通过hibernate完成的,model层是通过struts2完成的。这两种框架都是开源的项目都是Apache公司的一个项目,我们通过这些开源的框架就可以很快的搭建起一个程序的主体部分,使用框架技术之后我们编程人员,就不用将大量的精力倾注于底层的实现过程,而是更加专心于业务方面的实现,这使得我们即使是新手也同样能写成比较好的程序。这也是框架技术的必要性和被各个公司接受的原因。5.2 数据库连接框架技术帮我们更快更好的构建一个应用程序,是一个应用程序的一体部分将一栋房子的四面的主体墙框,提供重要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中职寝室管理制度
- 中药留样管理制度
- 中药贵细管理制度
- 中试场地管理制度
- 临床样品管理制度
- 临时休息管理制度
- 临时摆卖管理制度
- 临时薪酬管理制度
- 事务车辆管理制度
- 基于大概念的初中生物学教学设计与实施研究
- 老年友善医院护理培训
- 核电行业核电站安全运行与应急预案方案
- 培训学员管理制度范文(2篇)
- 《有效团队管理培训》课件
- 2024-2025学年新教材高中化学 第四章 物质结构 元素周期律 4.1.1 原子结构与元素周期表教案 新人教版必修第一册
- 2023-2024学年广东省深圳市福田区七年级(下)期末英语试卷
- 2024年陕西省专业技术人员继续教育学习平台党史党纪专题学习考试答案
- 8.3 法治社会 课件高中政治统编版必修三政治与法治
- 医疗器械经营质量体系文件-质量管理制度
- DB11T 811-2011 场地土壤环境风险评价筛选值
- 电机噪声与振动分析考核试卷
评论
0/150
提交评论