毕业设计论文公交查询系统.doc_第1页
毕业设计论文公交查询系统.doc_第2页
毕业设计论文公交查询系统.doc_第3页
毕业设计论文公交查询系统.doc_第4页
毕业设计论文公交查询系统.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 由于社会在不断发展 互联网已经被千千万万的家庭所接收 公交查询在日常生 活中占有很重要的位置 通过对公交信息管理系统的现状分析 考虑如何在日常生活中 充分利用网络和计算机的优势 使公交信息既能够得到及时有效的查询 又能得到高效 的管理 并节省日常生活中的时间 提高效率 本系统应用 B S 结构 MVC 模式采用 S2SH 框架技术编写 采用 MySQL 作为后台数据 库 本系统论文的前言部分主要介绍了与该系统相关的国内外现状以及开发该系统在 需求上 技术上的可行性 并介绍该系统开发用到的一些关键性的技术 当确定需求 后 该论文的系统设计部分就介绍了具体该怎么去设计并实现该系统 然后该系统论 文的系统实现部分再介绍具体实现的细节了 该系统主要功能包括公交车线路信息查询 公交车论坛 公交新闻 公交车线路 图 资源上传下载 用户留言 乘车指南 论坛管理 新闻管理 图片管理 资源管 理 留言管理 维护个人信息等功能 关键词 公交信息管理 B S 结构 S2SH 框架 MySQL 数据库 ABSTRACT With the development of the society the internet has been accepted by millions of families Through analyzing the present situation of the bus information management system to consider how to make full use of Internet in our daily life and the advantage of computer both to make the bus information timely and effective query and can get efficient management and save the time and improve efficiency of daily life The system applied B S structure MVC pattern written by S2SH frame technology The foreword of thesis of bus system introduces somthings about the system at home and abroad and the Demand feasibility and the technical feasibility of developing the system There are also introduce some key technology about this system After confirm the demand the part of the system design of thesis can tell us how to do the system And then the part of system implementation of the thesis let us know that how to coding to implements the system The system main function includes bus information query bus BBS news bus image center resource upload and download user messages system introduction BBS management news management image management resource management message management maintenance of personal information and other functions Keyword The bus information management B S structure S2SH framework MySQL Database 目目 录录 第一章第一章 概述概述 1 1 1 开发背景 1 1 2 目的及意义 1 1 3 课题研究的内容 2 第二章第二章 系统开发的相关技术系统开发的相关技术 3 2 1 JSP 技术 3 2 2 MVC 模式 3 2 2 1 Model 系统状态和商业逻辑 JavaBeans 4 2 2 2 View JSP 页面和表示组件 4 2 2 3 Controller ActionServlet 和 ActionMapping 5 2 3 STRUTS2 简介 5 2 4 MYSQL 数据库 6 第三章第三章 需求分析需求分析 8 3 1 技术支持 8 3 1 1 系统框架的选择 8 3 1 2 数据库的选择 9 3 2 系统功能需求 9 3 2 1 总体需求 10 3 2 2 各模块设计 10 3 2 3 数据流图 11 3 3 系统非功能需求 12 3 3 1 技术可行性 12 3 3 2 管理可行性 13 3 3 3 系统准确性和及时性 13 3 3 4 系统开放性和可扩充性 13 3 3 5 系统易用性和易维护性 13 3 3 6 系统的响应速度 13 第四章第四章 总体设计总体设计 14 4 1 系统用例图设计 14 4 1 1 系统前台用例图 14 4 1 2 系统后台用例图 15 4 2 系统模块划分图 15 4 3 系统 E R 图 16 4 4 系统流程图 17 4 5 数据库设计 18 4 5 1 数据库设计原则 18 4 5 2 数据表结构设计 19 第五章第五章 详细设计与实现详细设计与实现 22 5 1 系统的活动图 22 5 1 1 会员注册模块 22 5 1 2 登陆模块 22 5 2 系统框架关键配置 23 5 2 1 Struts2 关键配置 23 5 2 2 Spring 事务管理配置 24 5 2 3 Hibernate 持久化配置 25 5 3 各功能模块实现 26 5 3 1 用户登录注册模块的实现 26 5 3 2 公交查询模块的实现 28 5 3 3 公交论坛模块的实现 32 5 3 4 公交新闻模块的实现 33 5 3 5 公交线路图模块的实现 34 5 3 6 资源上传下载模块的实现 35 5 3 7 用户留言模块的实现 37 5 3 8 乘车指南模块的实现 39 5 3 9 线路管理模块的实现 39 5 3 10 论坛管理模块的实现 42 5 3 11 新闻管理模块的实现 43 5 3 12 图片管理模块的实现 45 5 3 13 资源管理模块的实现 46 5 3 14 留言管理模块的实现 47 5 3 15 用户管理模块的实现 48 第六章第六章 软件测试软件测试 50 6 1 软件测试的目的及意义 50 6 2 测试的方法 50 6 3 测试用例 51 6 3 1 注册测试用例 51 6 3 2 登陆测试用例 51 6 3 3 公交查询功能测试用例 52 谢谢 辞辞 54 参考文献参考文献 55 1 第一章 概述 1 1 开发背景 城市公交是专门服务于市民出行的客运企业 它是城市社会和经济活动的重要组 成部分 伴随着国民经济和城市建设的快速发展 城市经济的繁荣 人口的增加 城 市必须解决好人们出行的需求 城市公交直接关系着城市的经济发展和居民生活 对 城市经济具有全局性 先导性的影响 城市公交以其方便 快捷 容量大而成为城市 交通的主体 但是随着公交系统的庞大 人们很难得到准确的公交信息 这样给一些 人的出行就带来了不便 现阶段 人们的出入方式主要还是来源于城市公交 特别是对于那些到外地出差 打工 进行商业有关或其他事情需要在外地进行短暂停留的人而言 公交对他们是必 不可少的 但是对于那个不属于自己所熟悉的城市 坐公交也是一个很大的难题 因 此 开发一个公交查询系统就显得非常的重要 随着城市经济的发展 规模的扩大以及人口的增长 城市交通问题日益突出 降 低出行时间将使所有的公交利用者产生效益 快速的交通 更好的信息及更好的市场 可以提高公交的形象 能够增加公交乘坐者 城市公共交通运输以其覆盖面广 经济 快捷的特点 成为绝大多数出行者的首选方式 也是各地城市政府大力发展的一种交 通方式 本地市民特别是外来旅游 出差 就医等急需了解本地道路情况的人可以利 用本系统方便快捷的查询出所有符合他们要求的公交路线 对他们的出行和生活提供 帮助 设计公交信息管理系统能够方便城市公交管理者对公交线路进行管理 及时更 新最新的线路信息 市民在使用时能够掌握实时的公交线路状况 也方便了使用者直 接的信息交流 对于城市公共交通的发展是有利的 1 2 目的及意义 应广大城市市民查询公交信息的需求 公交公司对城市公交线路等信息的管理需 求 开发一套公交信息管理系统 主要针对用户和管理员 用户在此系统可以对所要 了解的公交线路进行查询 对公交服务中存在的问题提出建议 对服务中的不合理行 为进行投诉 参与用户之间的讨论等 而管理员主要负责后台的管理 管理员不需要 运用传统的方式进行纷繁复杂的操作 使用本系统 管理员登录后可以对线路信息 用户信息 留言信息等进行添加 删除 查询和修改功能 此系统将以简洁 易懂的 界面呈现给用户 目标能够使每一个用户易于操作 减少不必要的业务逻辑 提高该 系统的利用率和运行 维护效率 设计本系统的目的在于掌握 MVC 设计模式及该模式下三种对象的设计方法 掌握 面向对象设计 Object Oriented Design OOD 方法的步骤 系统的首要目标是能够 满足目前的业务功能需要 并确保系统切换平滑 运行稳定 对于 service 的编写 2 通过参数配置等形式 实现其应具备的控制功能 并具有良好的可扩展性 提高 service 的复用性 对于 HTML 界面的编写 以简洁 轻快明了 规范性为目标 使其呈 现的效果多 丰富 对于 JavaBean 的编写使其具有对数据进行增 删 改 查 参数 初始化的业务逻辑 1 3 课题研究的内容 本文共分为六大章 其中分为课题来源到系统开发的相关技术 系统分析 总体 设计等等 通过每一章的阐述对公交信息管理系统做出了详细的讲解和分析 第一章 前言 本章主要阐述了公交信息管理系统的课题来源背景及课题研究的目的 与意义 第二章 开发相关技术 本章主要介绍了该系统在什么环境中运行 运用的开发语言 以及相关的技术简介等 第三章 需求分析 本章主要根据公交企业管理信息的过程和特点 以及客户的需求 对系统的功能进行设计 并对系统的可行性作了分析 第四章 总体设计 本章主要阐述了公交信息管理系统的系统结构设计 功能模块图 数据库设计 逻辑设计及物理设计等 第五章 详细设计与实现 本章主要阐述了前台界面和后台管理模块的设计与代码编 写 第六章 系统测试 本章主要是对系统进行测试 对本系统进行总结 并提出遇到的 问题及系统中的不足之处 3 第二章 系统开发的相关技术 2 1 JSP 技术 JSP 技术可以以一种简捷而快速的方法生成 Web 页面 使用 JSP 技术的 Web 页面 可以很容易地显示动态内容 JSP 技术的设计目的是使得构造基于 Web 的应用程序更 加容易和快捷 而这些应用程序能够与各种 Web 服务器 应用服务器 浏览器和开发 工具共同工作 JSP 技术不是惟一的动态网页技术 也不是第一个 在 JSP 技术出现之前就已经存 在几种优秀的动态网页技术 如 CGI ASP 等 下面结合这些技术的介绍 讲述动态 网页技术的发展和 JSP 技术的诞生 JSP 具有以下优点 1 简便性和有效性 JSP 动态网页的编写与一般的静态 HTML 的网页编写 是十分相似的 只是在原来的 HTML 网页中加入一些 JSP 专有的标签 或是 一些脚本程序 此项不是必需的 这样 一个熟悉 HTML 网页编写的设计人 员可以很容易进行 JSP 网页的开发 而且开发人员完全可以不自己编写脚本程 序 而只是通过 JSP 独有的标签使用别人已写好的部件来实现动态网页的编写 这样 一个不熟悉脚本语言的网页开发者 完全可以利用 JSP 做出漂亮的动态 网页 而这在其他的动态网页开发中是不可实现的 2 程序的独立性 JSP 是 Java API 家族的一部分 它拥有一般的 Java 程序的 跨平台的特性 换句话说 就是拥有程序的对平台的独立性 即 Write once Run anywhere 3 程序的兼容性 JSP 中的动态内容可以各种形式进行显示 所以它可以为 各种客户提供服务 即从使用 HTML DHTML 的浏览器 到使用 WML 的各 种手提无线设备 例如 移动电话和个人数字设备 PDA 再到使用 XML 的 B2B 应用 都可以使用 JSP 的动态页面 4 程序的可重用性 在 JSP 页面中可以不直接将脚本程序嵌入 而只是将动 态的交互部分作为一个部件加以引用 这样 一旦这样的一个部件写好 它可 以为多个程序重复引用 实现了程序的可重用性 现在 大量的标准 JavaBeans 程序库就是一个很好的例证 2 2 MVC 模式 MVC Model View Controller 模式是国外用的比较多的一种设计模式 最早是在 Smaltalk 中出现的 MVC 包括三类对象 简单地说 Model 是应用对象 View 是它在 屏幕上的表示 Controller 定义用户界面对用户输入的响应方式 6 MVC 设计模式中 模型 指的是真正完成任务的代码 对大多数 Web 应用程序来说 4 功能比界面感觉更重要 在模型同界面相分离的情况下 代码即可实现可管理性和可 重用性 模型通常也被称作 业务逻辑 所谓 视图 其实就是使用界面 在 MVC 模式下 在通常的设计前提下界面任务 并不大 当然 视图应该具有一定功能性并遵守可用性的约束 但视图不应当处理数 据 事实上 界面的每一部分都只能包含采集数据的足够逻辑 并把它传递给设计模 式中的其他组成部分以进行处理 控制器 控制着模型和视图之间的交互过程 它决定着向用户返回怎样的视图 检查通过界面输入的信息以及选择处理输入信息的模型 在 JSP 开发中 最常使用 Model2 Model2 实际上就符合 MVC 模式 2 2 1 Model 系统状态和商业逻辑JavaBeans 基于 MVC 的系统中的 Model 部分可以细分为两个概念 系统的内部状态 能 够改变状态的行为 用语法术语来说 我们可以把状态信息当作名词 事物 把行为 当作动词 事物状态的改变 通常说来 你的应用程序将系统内部的状态表示为一组 一个或多个的 JavaBeans 使用属性 properties 来表示状态的细节 依赖于你的应 用程序的复杂度 这些 beans 可以是自包含的 以某种方式知道怎样永久地保存它们的 状态信息 或者可以是正面的 facades 知道当被请求时怎样从外部数据源 例如数 据库 中取得信息 Entity EJB 通常也用来表示内部状态 大型应用程序经常将系统可能的商业逻辑行为表示为可以被维护状态信息的 beans 调用的方法 举个例子 你有一个为每个当前用户保存在 session 中的购物车 bean 里面是表示当前用户决定购买物品的属性 这个 bean 有一个 checkOut 方法用来验证 用户的信用卡 将定单发给库房以选择货品和出货 别的系统分别地表示同样的行为 或许使用 Session EJB 在一些小型应用程序中 同样的行为又可能嵌入到作为 Controller 一部分的 Action 类中 这在逻辑非常简单或者并不想要在其它环境中重 用这些商业逻辑时是恰当的 Struts 框架支持所有这些方法 但建议将商业逻辑 做 什么 和 Action 类 决定做什么 分离开 2 2 2 View JSP 页面和表示组件 基于 Struts 的应用程序中的 View 部分通常使用 JSP 技术来构建 JSP 页面包含 通常称为 模版文本 的静态 HTML 或 XML 文本 加上插入的基于对特殊行为标记解 释的动态内容 JSP 环境包括了其用途由 JSP 规范来描述的一套标准的行为标记 例如 另外 还有一个用来定义你自己标记的标准机制 这些自定义的标 记组织在 定制标记库 中 Struts 包括了一个广阔的便于创建用户界面 并且充分 国际化的定制标记库 与作为系统 Model 部分一部分的 ActionForm beans 美妙地相 互配合 这些标记的使用将在后面做详细讨论 除了 JSP 页面和其包含的行为及定制 5 标记 商业对象经常需要能够基于它们在被请求时的当前状态将自己处理成 HTML 或 XML 从这些对象处理过的输出可以很容易地使用 标准行为标记包括 在结果的 JSP 页面中 2 2 3 Controller ActionServlet 和 ActionMapping 应用程序的 Controller 部分集中于从客户端接收请求 典型情况下是一个运行浏 览器的用户 决定执行什么商业逻辑功能 然后将产生下一步用户界面的责任委派给 一个适当的 View 组件 在 Struts 中 controller 的基本组件是一个 ActionServlet 类的 servlet 这个 servlet 通过定义一组映射 由 Java 接口 ActionMapping 描述 来配置 每个映射定义一个与所请求的 URI 相匹配的路径和一个 Action 类 一个实现 Action 接口的类 完整的类名 这个类负责执行预期的商业逻辑 然后将控制分派给 适当的 View 组件来创建响应 Struts 也支持使用包含有运行框架所必需的标准属性 之外的附加属性的 ActionMapping 类的能力 这允许你保存特定于你的应用程序的附 加信息 同时仍可利用框架其余的特性 另外 Struts 允许你定义控制将重定向到的 逻辑名 这样一个行为方法可以请求 主菜单 页面 举例 而不需要知道相应的 JSP 页面的实际名字是什么 这个功能极大地帮助你分离控制逻辑 下一步做什么 和显示 逻辑 相应的页面的名称是什么 2 3 Struts2 简介 Struts2 是以 Webwork 的设计思想为核心 吸收了 Struts1 的优点 因此 可以认 为 Struts2 是 Struts1 和 Webwork 结合的产物 Struts2 既然是从 Struts1 发展而来 但实际上 Struts2 与 Struts1 在框架的设计 思想上面还是有很大的区别 Struts2 是以 WebWork 的设计思想为核心 为什么 Struts2 不沿用 Struts1 的设计思想 毕竟 Struts1 在目前的企业应用中还是有非常大 的市场在的 那么 来看下 Struts1 的一些缺点吧 1 支持的表现层技术单一 2 与 Servlet API 严重耦合 这点可以从 Action 的 Execute 的方法声明里面就可以 看的出来 3 代码依赖 Struts1 API 有侵入性 这点可以从写 Action 类和 FormBean 的时候看的出来 Action 必须实现 Struts 的 Action 类而 Struts2 之所以以 WebWork 的设计思想为其核心 一点就是最近 WebWork 的上升势头 再就是 WebWork 没 有 Struts1 上面的那些缺点 更符合 MVC 的设计思想 也更利于代码的复用 基于以 上介绍可以看的出 Struts2 体系结构与 Struts1 的体系结构有很大的差别 Struts1 是使用 ActionServlet 做为其中心处理器 Struts2 则使用一个拦截器 FilterDispatcher 做为其中心处理器 这样做的一个好处就是将 Action 类和 Servlet API 进行了分离 Struts2 的简单处理流程如下 1 浏览器发送请求 2 中心处理器根据 6 struts xml 文件查找对应的处理请求的 Action 类 3 WebWork 的拦截器链自动对请 求应用通用功能 例如 WorkFlow Validation 等功能 4 如果 Struts xml 文件中 配置 Method 参数 则调用 Method 参数对应的 Action 类中的 Method 方法 否则调用 通用的 Execute 方法来处理用户请求 5 将 Action 类中的对应方法返回的结果响应 给浏览器 Struts2 与 Struts1 对比 1 Action 类的实现方式 Struts1 的 Action 在实现 的时候必须扩展 Action 类或者 Action 的子类 Struts2 的 Action 类实现的时候可以 不用实现任何类和接口 虽然 Struts2 中提供一个 ActionSupport 类 但是 不是必 须的 2 Struts1 的 Action 类是单例模式 必须设计成线程安全的 Struts2 则为 每一个请求产生一个实例 3 Struts1 的 Action 类依赖与 Servlet API 从其 execute 的方法签名可看出 execute 方法有两个 Servlet 的参数 HttpServletRequest 和 HttpServletResponse Struts2 则不依赖于 Servlet API 4 以为 Struts1 依赖 于 Servlet API 这些 Web 元素 因此对 Struts1 的 Action 进行测试的时候是很困难的 需要借助与其他的测试工具 Struts2 的 Action 可以象测试其他的一些 Model 层的 Service 类一样进行测试 5 Struts1 的 Action 与 View 通过 ActionForm 或者其子 类进行数据传递 虽然也有 LazyValidationForm 这样的 ActionForm 的出现 但是 还是不能像其他层面那样通过一个简单的 POJO 进行数据传递 而 Struts2 将这样的奢 望变成了现实 6 Struts1 绑定了 JSTL 为页面的编写带来方便 Struts2 整合了 ONGL 也可以使用 JSTL 因此 Struts2 下的表达式语言更加强大四 Struts2 与 WebWork 对比 Struts2 实际上就是 WebWork2 3 不过 Struts2 还是与 WebWork 有少 许的差别 1 Struts2 不再支持内置 IOC 容器 改用 Spring 的 IOC 容器 2 Struts2 对于 Webwork 的一些 Ajax 的特性的标签改用 Dojo 进行替换 2 4 MySQL 数据库 MySQL 是一个精巧的 SQL 数据库管理系统 虽然它不是开放源代码的产品 但在某 些情况下你可以自由使用 由于它的强大功能 灵活性 丰富的应用编程接口 API 以及精巧的系统结构 受到了广大自由软件爱好者甚至是商业软件用户的青睐 特别 是与 Apache 和 PHP PERL 结合 为建立基于数据库的动态网站提供了强大动力 MySQL 是一个真正的多用户 多线程 SQL 数据库服务器 SQL 结构化查询语言 是世界上最流行的和标准化的数据库语言 MySQL 是以一个客户机 服务器结构的实现 它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成 SQL 是一种标准化的语言 它使得存储 更新和存取信息更容易 例如 你能用 SQL 语言为一个网站检索产品信息及存储顾客信息 同时 MySQL 也足够快和灵活以允许 你存储记录文件和图像 MySQL 主要目标是快速 健壮和易用 自 1996 年以来 我们一直都在使用 7 MySQL 其环境有超过 40 个数据库 包含 10 000 个表 其中 500 多个表超过 7 百万 行 这大约有 100 个 GB 字节的关键应用数据 MySQL 数据库的主要功能只在组织和管理很庞大或复杂的信息和基于 WEB 的库存查 询请求不仅仅为客户提供信息 而且还可以为您自己使用数据库可以提供如下功能 1 减少记录编档的时间 2 减小记录检索时间 3 灵活的查找序列 4 灵活的输出格式 5 多个用户同时访问记录 8 第三章第三章 需求分析需求分析 3 1 技术支持 3 1 1 系统框架的选择 一个信息管理系统的框架结构是否合理 对该系统的性能 使用效率和安全都具 有至关重要的影响 因此在进行公交信息管理系统总体设计时 首先应确定使用哪种 系统框架比较合理 基于本公交信息管理系统的特性 达到方便的信息管理和信息查 询 本系统使用 S2SH 框架结构 即 struts2 hibernate spring 技术构架 系统从职责上分为四层 表示层 业务逻辑层 数据持久层和域模块层 其中使 用 Struts 作为系统的整体基础架构 负责 MVC 的分离 在 Struts 框架的模型部分 利用 Hibernate 框架对持久层提供支持 业务层用 Spring 支持 采用上述开发模型 不仅实现了视图 控制器与模型的彻底分离 而且还实现了 业 务逻辑层与持久层的分离 这样无论前端如何变化 模型层只需很少的改动 并且数 据库的变化也不会对前端有所影响 大大提高了系统的可复用性 而且由于不同层之 间耦合度小 有利于团队成员并行工作 大大提高了开发效率 图 3 1 S2SH 框架结构 主流的 s2sh struts2 hibernate spring 技术构架 相对于老系统有诸多优势 如 1 典型的三层构架体现 MVC 模型 Model 视图 View 和控制 思想 可以让开发人员 减轻重新建立解决复杂问题方案的负担和精力 便于敏捷开发出新的需求 降低开 发时间成本 2 良好的可扩展性 ssh 主流技术有强大的用户社区支持它 所以该框架扩展性非常 强 针对特殊应用时具有良好的可插拔性 避免大部分因技术问题不能实现的功能 3 良好的可维护性 业务系统经常会有新需求 三层构架因为逻辑层和展现层的合理 分离 可使需求修改的风险降低到最低 随着新技术的流行或系统的老化 系统可 9 能需要重构 s2sh 构架重构成功率要比其他构架高很多 4 优秀的解耦性 很少有软件产品的需求从一开始就完全是固定的 客户对软件需求 是随着软件开发过程的深入 不断明晰起来的 因此 常常遇到软件开发到一定程 度时 由于客户对软件需求发生了变化 使得软件的实现不得不随之改变 s2sh 三层构架 控制层依赖于业务逻辑层 但绝不与任何具体的业务逻辑组件耦合 只 与接口耦合 同样 业务逻辑层依赖于 DAO 层 也不会与任何具体的 DAO 组件耦合 而是面向接口编程 采用这种方式的软件实现 即使软件的部分发生改变 其他部 分也不会改变 3 1 2 数据库的选择 数据库从最初的数据文件的简单集合发展到今天的大型数据库管理系统已经成为 我们日常生活中不可缺少的组成部分 如果不借助数据库的帮助 许多简单的工作将 变得冗长乏味 甚至难以实现 尤其是象银行 院校和图书馆这样的大型组织更加依 靠数据库系统实现其正常的运作 再看互联网上 从搜索引擎到在线商场 从网上聊 天到邮件列表 都离不开数据库 目前 市面上的数据库产品多种多样 从大型企业 的解决方案到中小企业或个人用户的小型应用系统 可以满足用户的多样化需求 这里 本系统使用的 MySQL 数据库是众多的关系型数据库产品中的一个 相比较 其它系统而言 MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库 除了 具有许多其它数据库所不具备的功能和选择之外 MySQL 数据库是一种完全免费的产品 用户可以直接从网上下载数据库 用于个人或商业用途 而不必支付任何费用 MySQL 是一种高性能的数据库 它可以和市场下任何同类的产品竞争 为什么使用 MySQL 因为如下原因 1 速度快 MySQL 本身并不复杂 且本系统需要信息的及时更新 数据库本身并不庞 大 2 可升级性 MySQL 能够同时处理无限数量的拥护和 5 亿个纪录 3 简单性 MySQL 的核心是一个小而快速的数据库 面向那些了解数据库工作的人员 是他们能够有效的工作和编写高级功能 4 价值 MySQL 是遵循 GPL 协议的自由软件 可以免费下载并且使用它 5 可移植性 因为 MySQL 是开放源代码的自由软件 可以运行于所有的平台 如今 包括 Siemens 和 Silicon Graphics 这样的国际知名公司也开始把 MySQL 作 为其数据库管理系统 这就更加证明了 MySQL 数据库的优越性能和广阔的市场发展前 景 3 2 系统功能需求 以往由于公交企业与市民地理位置的分离 致使公交企业与市民之间的沟通产生 10 空间上的阻隔 不能灵活 高效的进行信息查询工作 如何解决公交企业与市民的远 程沟通问题 提高工作效率是设计这个系统的主要初衷 公交查询的应用很好的解决 这个问题 能够充分解决公交企业与市民之闻的地理问题 但是建立基于互联网上的 公交查询系统还涉及到技术上 安全上 可靠性等问题 基于此提出课题的研究 为 了方便市民查询公交 了解更多公交方面的信息 本系统将会有以下功能 用户登录 注册模块 公交查询模块 公交新闻模块 公交论坛模块 公交线路图浏览模块 资 源上传下载模块 用户留言模块 和公交车乘车指南模块 为了方便管理员管理 对 应的模块都设计了相应的后台管理 3 2 1 总体需求 1 在系统功能方面 1 公交信息管理系统要求具有良好的可维护性和扩展性 即随公交线路的增加与 删除 系统能够及时进行数据库的修改 2 公交信息管理系统在内容方面能够提供丰富的内容显示模块 3 公交信息管理系统在与用户交流方面能够建立留言板或论坛模块 4 公交信息管理系统在资源共享方面能够提供供用户下载使用的相关资源 2 在系统管理方面 1 提供角色管理功能 将系统权限与用户权限分开 权限与角色对应 一个角色 可以包含多个用户 一个用户可以有多个角色 2 提供多模块管理功能 管理员可以实现对用户 公交新闻 公交线路信息 公 交线路图 下载资源等信息的增删改查操作 3 2 2 各模块设计 1 用户登录注册模块 当用户是以游客身份登录时 只能进行公交查询 新闻浏览 和图片浏览 系统介绍 和用户注册操作 只有当注册成为系统会员后 才能拥有 该系统前台所有功能的使用 对与后台管理服务 只有管理员登录 才能使用其功 能 2 公交查询模块 一般用户对于查询有 3 种需要 一种是直接输入公交线路查询 查 询该线路经过哪些站点 一种是输入站点名称查询 查询哪些线路经过该站点 还 有一种是输入起点和终点站查询 查询换乘路线 为了方便用户查询 本系统将会 满足用户的 3 种查询条件 一种是直接输入公交线路查询 一种是输出站点名称查 询 还有一种是输入起点和终点站查询 对于后面那一种查询条件 本系统提供所 有满足该条件的一次换乘方案供用户选择 对于该公交查询的换乘算法方面 目前 查询效率的瓶颈就是在与数据库进行交互的时候 为了解决这种问题 该系统对于 数据库查询只做简单查询 将更复杂的算法逻辑放到业务逻辑层里面去实现 比如 11 一次换乘查询 对于数据库操作只查出满足该起点和终点的相关线路 然后再业务 逻辑层去筛选其中符号条件的结果 这样做会在 SQL 语句上有大量简化 使系统对 数据库查询性能提交很多 同时 为了方便管理员管理 后台有专门的公交站点管 理 可以进对线路进行增 删 改 查的操作 3 公交新闻模块 主要是发布一些最新的公交方面的新闻给用户浏览 以便用户知道 有关公交信息方面的一些重大新闻 或线路变更的一些通知 同时提供后台对新闻 的管理 4 公交论坛模块 用于会员使用 登录的会员可以在论坛里面发帖 回帖 讨论或者 发表一些关于公交方面的信息 发帖主要是指发表一个标题 然后登录用户就可以 看到 并进行发言 同时为了方便对一些用户不良发言的管理 在后台设计了该功 能的管理模块 该模块可以删帖 也可以单独删除其中一用户的发言 5 公交线路图模块 主要是为了方便用户在使用本系统时 能够更直观的看到相应线 路的地图信息 同时为了方便管理 也设计了一个管理模块 对图片进行管理 6 资源上传下载模块 这里会提供一些有关资源列表供感兴趣的会员下载 同时也允 许会员上传资源 但是为了防止会员上传不良信息 在后台开发一个资源管理模块 方便管理员管理资源 7 用户留言模块 如果会员对该系统有什么意见或者建议 可以通过该模块发留言给 管理员 用户只需要输入标题 和发言内容就行 同时为了方便管理员查询留言 在后台有个留言管理模块 该模块使管理员可以查看不同用户的留言 同时也可以 给该用户回复 然后该留言的用户可以在前台改模块里面查询管理员的回复 8 乘车指南模块 主要介绍了城市各学校 医院 商场等主要客流流动站点的相关公 交车乘坐方式 更方便用户在使用本系统时找到符合查询的信息 3 2 3 数据流图 管 理 员 操作 线路信息 线路信息表 下载 上传资源 资源管理表 操作 事务 上传 下载 资源 查询 输入信息输出信息 新闻 新闻信息表 操作 图片信息 图片信息表 操作 留言信息留言信息表 操作 用户信息表 事务 操作 论坛信息表 事务 12 图 3 2 系统后台数据流图 图 3 3 系统前台数据流图 3 3 系统非功能需求 为了保证系统能够长期 安全 稳定 可靠 高效的运行 公交信息管理系统还 应该满足以下的性能需求 3 3 1 技术可行性 技术可行性是指为实现系统目标 所需要的技术保证 系统开发所需要的技术主 要有计算机软硬件技术 系统开发人员的水平 用户管理与使用的能力等 Java 的相关技术已经相当成熟 并且基于 MVC 模式能够很好的简化项目 使得项 目的开发和维护都有很好的前提 技术可行性分析要考虑如下几个方面 1 软硬件需要的可满足性 硬件环境 2 10GHz 500G 2048MB 160G 软件环 境 Windows JDK1 6 Tomcat 6 0 mysql 5 1 2 系统开发人员水平 本系统开发者已能熟练操作 Java s2sh 并且有一定的 美术功底 掌握网络互联技术 网络安全技术 网络数据库技术等 对网络组建和系 统开发理论有较好的掌握 故有能力开发实现该业务系统 3 开发环境 JAVA 语言的所有特点 跨平台性 安全性高 可移植性好 可 用户 查询 输入 结果 线路信息表 注册 个人信息 用户信息表 登陆 登陆 信息 留言 留言信息表 用户 留言 上传 资源信息表 资源信息 下载 事务 资源 浏览 线路图表 发言 论坛信息表 13 扩展性高并且是编译性语言 使程序设计者可以很方便地建立自己的系统 在 JSP 页 面的对提交信息的校验利用了 strut2 操作平台 Windows Vista HomeBasic 开发环 境 myclipse6 0 开发语言 Jsp JAVA Java Bean 框架 S2SH 调试环境 IE8 0 Tomcat6 myclipse6 0 数据库运行环境 mysql5 1 鉴于以上的分析 系统的建设在技术上完全可行 3 3 2 管理可行性 MVC 模式使得任务管理系统有了很好的松耦合性 这样使得各个模块之间能够更好 的独立完成 更加便于管理 所以在管理上考虑本系统的建设是完全可行的 3 3 3 系统准确性和及时性 系统处理的准确性和及时性是系统的必要性能 在系统设计和开发过程中 要充 分考虑系统当前和将来可能承受的工作量 使系统的处理能力和响应时间能够满足企 业对信息处理的需求 由于公交信息管理系统的公交查询功能对于整个系统的功能和性能完成举足轻重 作为系统的很多数据来源 其准确性很大程度上决定了公交信息管理系统的成败 在 系统开发过程中 必须采用一定的方法保证系统的准确性 3 3 4 系统开放性和可扩充性 公交信息管理系统在开发过程中 应该充分考虑以后的可扩充性 例如网上查询 的用户查询的需求也会不断的更新和完善 所有这些 都要求系统提供足够的手段进 行功能的调整和扩充 而要实现这一点 应通过系统的开放性来完成 既系统应是一 个开放系统 只要符合一定的规范 可以简单的加入和减少系统的模块 配置系统的 硬件 通过软件的修补 替换完成系统的升级和更新换代 3 3 5 系统易用性和易维护性 公交信息管理系统是直接面对使用人员的 而使用人员往往对计算机并不时非常 熟悉 这就要求系统能够提供良好的用户接口 易用的人机交互界面 要实现这一点 就要求系统应该尽量使用用户熟悉的术语和中文信息的界面 针对用户可能出现的使 用问题 要提供足够的在线帮助 缩短用户对系统熟悉的过程 公交信息管理系统中涉及到的数据是公交公司的相当重要的信息 系统要提供方 便的手段供系统维护人员进行数据的备份 日常的安全管理 系统意外崩溃时数据的 恢复等工作 3 3 6 系统的响应速度 14 公交信息管理系统在日常处理中的响应速度为秒级 达到实时要求 以及时反馈 信息 在进行统计分析时 根据所需数据量的不同而从秒级到分钟级 原则是保证操 作人员不会因为速度问题而影响工作效率 第四章第四章 总体设计总体设计 4 1 系统用例图设计 用例图 Use Case Diagram 是由软件需求分析到最终实现的第一步 它描述人们 如何使用一个系统 用例视图显示谁是相关的用户 用户希望系统提供什么样的服务 以及用户需要为系统提供的服务 以便使系统的用户更容易理解这些元素的用途 也 便于软件开发人员最终实现这些元素 用例图在各种开发活动中被广泛的应用 但是 它最常用来描述系统及子系统 当用例视图在外部用户出现以前出现时 它捕获到系统 子系统或类的行为 它 将系统功能划分成对参与者 即系统的理想用户 有用的需求 而交互部分被称作用 例 用例使用系统与一个或者多个参与者之间的一系列消息来描述系统中的交互 4 1 1 系统前台用例图 系统前台主用户主要分两种角色 一种是游客 一种是会员 游客和会员分别有 不同的权限 15 图 4 1 系统前台用例图 4 1 2 系统后台用例图 后台用户为管理员 只有以管理员身份登录 才能对后台功能进行操作 图 4 2 系统后台用例图 4 2 系统模块划分图 根据需求调研结果确定本系统主要包括以下功能模块 如图所示 16 公交信 息管理 系统 系统 前台 系统 后台 用户 登录 注册 公交 查询 公交 论坛 公交 线路 管理 论坛 管理 新闻 管理 公交 新闻 公交 线路 图 资源 上传 下载 用户 留言 图片 管理 资源 管理 留言 管理 图 4 3 系统功能模块划分图 4 3 系统 E R 图 1 留言板模块局部 E R 图 该图的实体为管理员 用户和留言板 留言板里记录的每 条信息是用户进行的留言信息 管理员在后台可以查看 回复或者删除 用户实体与 留言板实体的关系是一对多关系 一个用户可以多次留言 每条留言只属于一个用户 管理员 登录名密码 用户 密码地址邮箱 IDID登录名 管理留言 ID标题 留言人 内容时间回复回复人 留言板 1nm1 图 4 4 留言模块局部 E R 图 2 论坛模块局部 E R 图 该图所包括的实体主要有 论坛主页 论坛子页 管理员和 用户 管理员和用户都可以在论坛模块中创建论坛或参与其他主题的论坛并发帖 每 真实名 17 一次发帖信息都记录在论坛子页表中 论坛主页论坛子页 组成 管理员 用户 创 建 发 帖 ID标题创建人 创建时间 主表 ID ID 内容留言人发帖时间 ID 登录名 密码 ID登陆用户名 真实姓名密码地址电子邮箱 1 n 11 1 m 1m 图 4 5 论坛模块局部 E R 图 4 4 系统流程图 该图介绍了两种不同的用户在使用本系统时的活动事务 用户在访问本系统首页 后可以选择是否登陆 未进行注册的用户可以选择是否注册 若未登陆且不注册则只 能使用本系统前台的一部分功能 当用户选择注册时需要填写必要的个人信息 注册 成后跳转回登陆页面进行登陆 登陆成功后则能使用系统前台的全部功能 18 开 始 进入系统首页 用户登录 是 否 注 册 是 填写注册信息 成 功 否 只使用部分功能 否否 使用前台全部功能 图 4 6 用户登录流程图 4 5 数据库设计 4 5 1 数据库设计原则 数据库设计是管理信息系统中的重要部分 设计质量的好坏 数据结构的优劣将 直接影响到管理系统的性能 在设计数据库系统时 应遵循以下原则 一 数据共享性 数据库是为多个用户群 多种应用目的而建立的 需要同时为不同部门 不同专 业的多用户服务 要求数据有共享性 二 数据独立性 数据库的数据与应用要互相独立 不仅要求物理数据有独立性 而且还要求逻辑 数据有独立性 当存储结构和存储方法有改变时 不会引起逻辑数据结构的变化 应 用程序也不必重写 总体逻辑数据结构发生变化时 其局部逻辑数据结构可以不变 5 三 最小冗余性 数据库是多种性质不同数据文件的统一体 为使多用户充分共享 要求响应速度 快 数据冗余尽可能限制在小范围内 四 安全性 考虑数据库为多用户 多目的服务和充分共享 必须严格控制数据共享范围和数 据使用的合法权限 确保数据的安全 并要防止泄密 五 完整性 数据库的完整性指数据的正确性 有效性 一致性和时间性 19 六 灵活性和可恢复性 对数据库的数据可按不同的途径和方法灵活地进行检索和存取 并便于修改和扩 充 当数据受到意外破坏时能很快地得到恢复 4 5 2 数据表结构设计 1 公交新闻信息表 表 4 1 公交新闻信息表 字段名数据类型长度是否允许为空主键备注 idvarchar50NYID titlevarchar100YN 标题 contentvarchar4000YN 内容 INTimedatetime8YN 添加时间 2 管理员信息表 表 4 2 管理员信息表 字段名数据类型长度是否允许为空主键备注 idvarchar50NYID managervarchar50NN 登录名 PWDvarchar50NN 密码 3 会员信息表 表 4 3 会员信息表 字段名数据类型长度是否允许为空主键备注 idvarchar50NYID userNamevarchar20NN 登录用户名 trueNamevarchar20NN 真实姓名 passWordvarchar20NN 密码 addressvarchar100NN 地址 emailvarchar100YN 电子邮箱 4 用户留言信息表 表 4 4 用户留言信息表 20 字段名数据类型长度是否允许为空主键备注 idvarchar50NYID titlevarchar100NN 标题 whovarchar50NN 留言人 contentvarchar4000NN 内容 intimevarchar50YN 留言时间 reflexvarchar4000YN 回复信息 renamevarchar50YN 回复人 5 图片信息表 表 4 5 图片信息表 字段名数据类型长度是否允许为空主键备注 idvarchar50NYid namevarchar5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论