基于J2EE的特种行业车辆智能管理系统527.doc_第1页
基于J2EE的特种行业车辆智能管理系统527.doc_第2页
基于J2EE的特种行业车辆智能管理系统527.doc_第3页
基于J2EE的特种行业车辆智能管理系统527.doc_第4页
基于J2EE的特种行业车辆智能管理系统527.doc_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

广广东东工工业业大大学学工工学学硕硕士士学学位位论论文文 工工程程硕硕士士 基于 J2EE 的特种行业车辆 智能管理系统 卢本庄 二 OO 八年五月十八日 分类号 TP311 学校代号 11911 UDC 密级 学 号 2260405050 广广东东工工业业大大学学学学位位论论文文 工工程程硕硕士士 基于 J2EE 的特种行业车辆 智能管理系统 卢本庄 指 导 教师 唐平 教授 学科 学 科 门类 工学 z 专 业 名称 软 件工程 申请学位级 别 硕士 论文提交日 期 2008 年 5 月 论文答辩日 期 2008 年 5 月 学位授予单 位 广东工业大学 A Dissertation Submitted to Guangdong University of Technology for the Degree of Doctor of Philosophy The Intelligent vehicle Management System of specialty industry based on J2EE Candidate Lu Benzhuang Supervisor Prof Tang Ping May 2008 School of Electro mechanical Engineering Gaungdong University of Technology Guangzhou Guangdong P R China 510090 摘要 I 摘要 车辆管理系统是立足肇庆公安局 OA 项目上车辆管理工作的实际 为提高车辆 管理工作的高效性 采用先进的设计理念和开发技术建立的一套管理信息系统 系统的目标是实现对车辆申请 调度 维护工作全过程的管理 从而提高车辆管 理工作的监管力度 本文在对中小型企业日常管理的重要分支 车辆管理工作进行了详细的需求 调研之后 从需求分析开始 完成了系统的架构设计和详细设计 并最终将系统 实现为包括车辆基本信息设置 司机管理 车辆调度 车辆动态查询 车辆维护 车辆信息综合查询等几个子系统的 基于 B S 结构的管理信息系统 本文论述了系统开发的背景和车辆管理系统的研究现状 从需求分析方面对 系统需求管理的工作进行了描述 阐明了系统需要解决的主要问题 在系统设计 阶段 从架构设计开始 首先建立了系统的技术架构 功能架构 然后在详细设 计部分论述了系统建模的方法和设计策略以及系统的数据库设计步骤 最后 对 于系统实现过程的几个重点问题进行了详细的分析和论述 本文针对需求分析 设计和实现过程中所遇到的问题提出了行之有效的解决 方法 为车辆管理信息系统的设计与实现提供了有力的例证 本文解决的关键问题有以下几方面 第一 本文通过充分理解用户需求 采用将 MVC 分多层实现的思想完成了系 统的设计和实现 第二 在实现 B S 结构的多种解决方案中 由于 J2EE 和 SPRING 在开发 Web 应用时表现出的诸多优点 使其成为最受软件应用欢迎的企业解决方案 针对用 户需求和系统特点 采用 J2EE 和 SPRING 相结合的技术体系 建立系统技术架构 使用 JNDI 构建系统持久层 从而降低系统开发成本 提高系统的可维护性和可扩 展性 第三 针对系统设计中关键问题之 数据库的设计 本文采用由概念模型转 换成面向对象的模型 然后再由面向对象的模型最终转换成系统的数据库结构 并详细叙述了类和表的映射策略 使数据库设计更合理 广东工业大学工学硕士学位论文 II 第四 针对车辆管理系统设计和实现中的常见问题 比如车辆状态查询问题 页面刷新速度慢 人工录入易出错 车辆申请不规范问题 提出了有效的解决方 法 系统已在肇庆公安 OA 项目中上线应用 并取得了一定的效果 提高了企业物 流和车辆管理的效率 关键词 车辆管理 动态查询 管理信息系统 工作流 系统模型 ABSTRACT III ABSTRACT Car Management Information System is a management system used to improve efficiency of car management and maintenance This system is established in the real Project requirement of ZhaoQing Developed by advanced design methods and technologies The Purpose is to enhance the supervise level of the whole car management work by Procedure control This Paper works from the requirement analysis finished setting up the system architecture and designing it in detail In the end the system has been implemented as a management information system based on B S structure including six subsystems named Car basement information set driver management car dispatch dynamic state query car maintenance and information query In this Paper the system development background has been discussed as well as current research status of car management system on internet and web application system based B S structure Then Problems to be solved have been clarified by describing aspect of system requirement analysis During the course of system design the work began with architecture design The technology architecture function architecture are built at first Then the system static modeling dynamic modeling and the design procedure of database structure have been discussed in detail At last several important problems encountered during the implement have been analyzed Effective solutions to those problems encountered during the procedure of Requirement analysis design and implement have been put forward in this artiele All those supply powerful examples for car management system development The key problems solved in this paper are as follows First stratified MVC is development model Which support object oriented method In this paper stratified MVC is used to complete the system design and inplement Then the user requirement can be fully understood and the system can be optimized step by step Second the realization of B S structure of a variety of solutions because of J2EE and SPRING in the development of Web applications at the show s many advantages makes it the most popular software applications enterprise solutions The user needs and system features J2EE and SPRING 广东工业大学工学硕士学位论文 IV using a combination of technical system and establish a technology framework the use of JNDI build a lasting system thereby reducing the cost of system development improve the maintainability and scalability Third the system for the design of the key issues the design of the database the paper adopted by the conceptual model into the object oriented model and then by the end of object oriented model into the database structure and a detailed description of the class Table and the mapping strategy designed to make the database more reasonable Fourth the management system for vehicle design and realization of common problems such as vehicles for state issue page refresh slow error prone manual entry of vehicles for non standard issue made an effective solution The system has been in the Zhaoqing police OA project on line applications and achieved certain results improved logistics and business management efficiency vehicles Key words vehicle management dynamic query management information system work flow System Model 目录 V 目录 摘要 I ABSTRACT III 目录 V CONTENTS VII 第一章 绪论 1 1 1课题背景 1 1 2课题研究内容 1 1 3 本文的组织结构 2 第二章 特种行业车辆智能管理系统需求分析 4 2 1 系统目标和解决的主要问题 4 2 2 系统功能性需求问题描述 5 2 2 1 系统涉及的岗位需求 5 2 2 2 系统的业务流程及用例 5 2 3 系统软硬件环境的需求 8 第三章 相关技术介绍 10 3 1 设计模式 10 3 2 WEB 应用系统开发的一般模型 10 3 2 1 Model 1 模式 11 3 2 2 Model 2 模式 12 3 3 MVC 设计模式 13 3 3 1 MVC 设计模式的结构 13 3 3 2 MVC 设计模式在 J2EE 平台中的应用模型 14 3 3 3 MVC 设计模式的优缺点 15 3 4 标准建模语言 UML 17 广东工业大学工学硕士学位论文 VI 3 4 1 UML 的定义 18 3 4 2 UML 的内容 18 第四章 系统的架构设计 23 4 1 系统的设计目标和原则 23 4 2 系统的技术架构 24 4 3 系统的功能架构 26 第五章 系统的详细设计 28 5 1 系统建模 28 5 1 1 系统的静态结构图 29 5 1 2 系统的动态结构图 31 5 2 系统数据库设计 33 5 2 1 数据库设计概述 33 5 2 2 系统数据库模型设计 35 5 2 3 系统数据库实现 38 第六章 系统实现 44 6 1 系统总体实现 44 6 1 1 系统实现策略 44 6 1 2 系统主菜单 45 6 1 3 代码的编写 46 6 2 系统的发布 50 6 3 系统开发环境及应用现状 54 结论 56 参考文献 57 独创性声明 59 致谢 60 CONTENTS VII CONTENTSCONTENTSCONTENTS Chinese ABSTRACT I English ABSTRACT III Chinese Contents V English Contents VII Chapter1 Introduction 1 1 1Subject backgroud 1 1 2Subject research 1 1 3 Organization structure 2 Chapter2 System requirements and analysis of The intelligent vehicle management system of specialty industry 4 2 1 System target and policy 4 2 2 Functional requirements narrative 5 2 2 1 Involved roles 5 2 2 2 Business flow and use case 5 2 3 Software and hardware environment 8 Chapter3 Introduction of Related technology 10 3 1 Design modeling 10 3 2 Modeling of web application 10 3 2 1 Model 1 11 3 2 2 Model 2 12 3 3 MVC 13 3 3 1 Structure of MVC 13 3 3 2 Application Model of MVC in J2EE Platform 14 3 3 3 Advantages and disadvantages of MVC 15 广东工业大学工学硕士学位论文 VIII 3 4 UML 17 3 4 1 Definition of UML 18 3 4 2 Content of UML 18 Charpter4 Architecture design 23 4 1 Design target and Policy 23 4 2 Technology construction 24 4 3 Functional framework 26 Charpter5 Detail design 28 5 1 System modeling 28 5 1 1 Static structure diagram 29 5 1 2 Dynamic structure diagram 31 5 2 Database design 33 5 2 1 Description of database design 33 5 2 2 Database modeling 35 5 2 3 Implementation of system database 38 charpter6 Implementation of system 44 6 1 System total realization 44 6 1 1 Implementation measure 44 6 1 2 Main menu 45 6 1 3 Coding 46 6 2 Deployment of system 50 6 3 Development environment and application 54 Conclusion 56 References 57 Original Statement 59 Thanks 60 第一章 绪论 1 第一章 绪论 1 1课题背景 J2EE Java 2 Platform Enterprise Edition 是 SUN 公司定义的一个开发分布式企 业级应用的规范 它提供了一个多层次的分布式应用模型和一系列开发技术规范 J2EE 平台以 JAVA 技术为核心 满足了智能化 WEB 服务上对分布式 开放性和 平台无关性的要求 同时其在健壮性 安全性 组件化等方面也更为成熟稳定 获得众多 IT 厂商和产品的支持 是目前唯一在市场上得到广泛应用的技术体系 由于其本身是一个开放式体系结构 因此许多开源软件如 Eclipse JBOSS 等都支 持 J2EE 平台的开发 这对于加速国内中小企业的信息化建设和自有知识产权产品 的开发 提高企业应用和软件行业的整体水平 无疑是一次难得的机会 车辆管理是公安特种行业的一个非常重要的部分 管理的好坏 直接影响着公安 人员的工作效率 本课题是通过采用面向对象技术对公安系统车辆管理的需求进 行分析 针对公安的行业特点 采用 UML 建模工具进行系统建模和设计工作 使 用基于 J2EE 平台的开源工具 Eclipse JBOSS 应用服务器 MySQL 数据库进行系 统开发 最终设计一个车辆智能管理系统 使其成为公安办公自动化系统的一部分 通过公安局域网 可实现申请用车 审批用车 调拨车辆 车辆协调 以及车辆状 态与车辆使用情况查询等功能 系统通过与车匙箱中的单片机通讯来控制箱门的 开启 以实现车辆的规范管理 从而提高工作效率 提高公安机关的快速反应能力 增强打击犯罪的能力 1 2课题研究内容 本文通过调研项目的实际需求 国内外同类软件的功能比较 设计了适合于目前 国内公安特种行业车辆的智能管理软件 解决了车辆管理中比较容易忽视和反映不 直观 责任不明确的问题 本文主要针对通用行业软件中以下几个方面提出有效的 解决策略 广东工业大学工学硕士学位论文 2 首先从人性化设计方面来看 解决了在明确的日期内车辆状态动态查询问题 关联模块间数据重复输入效率低等问题 比较其他的车辆软件来说 本文的设计思 想体现了查询的直观性 从人性化理念出发 操作的简单高效 不仅方便了车辆调度人 员准确的监控车辆使用信息 而且为使用人员提供快捷的服务 其次从系统设计高效性上看 解决了车辆使用申请业务打白条的情况 不规范的 车辆申请只是相关人员向部门负责人打声招呼 不会记录在案 造成了车辆管理的混 乱 而且对于由此而引发的车辆事故更是无从查证 工作的责任不明确 再次从系统的可扩展性看 解决了以往软件的信息孤岛问题 为协同其他的模块 提供了接口 同时也应用了其他模块提供的接口 实现了功能模块间数据的共享 从系统综合服务性来看 涉及车辆管理和使用的方方面面 不但涉及到车辆信息 车辆情况 人员信息 还满足了业务需要的各种查询服务 最后从系统的安全性考虑 解决了车辆管理人员的责任问题 根据实际需要为车 辆管理系统设置了不同角色 不同的角色赋予不同的权限 不同的权限赋予了不同的 菜单界面的方式使管理真正责任落实到人 1 3 本文的组织结构 本文主要论述基于 J2EE 的特种行业车辆智能管理系统的设计与实现 全文共分 七章 第二章是系统需求分析 通过对系统需求概述 介绍了系统目标和解决的主 要问题 系统的功能性描述 以及最佳的软硬件环境配置 第三章是系统的总体架构 设计 主要介绍了系统总体的技术架构和核心的运行机制 通过系统的需求分析得出 了系统的功能结构 并对每个功能点进行了说明 第四章是系统详细设计 结合选用 的框架结构讨论了车辆管理系统的系统建模包括车辆申请 车辆审批在内的类图 和时序图 并根据类图和数据表之间的映射原则详细分析和说明了本系统典型的数 据表结构 第五章是系统实现 介绍了车辆管理系统主要模块的界面实现 讨论了系 统重点功能模块的编码实现 介绍了 JAVABEAN 技术在该系统的设计和应用 最后 对车辆管理系统中审批模块所做的工作进行了概要说明 第二章 特种行业车辆智能管理系统需求 3 第二章 特种行业车辆智能管理系统需求分析 2 1 系统目标和解决的主要问题 通过对公安特种行业车辆管理的需求调研 目前国内通用车辆管理系统普遍存 在着几大问题 1 与其他相关模块之间数据不能共享 导致关于车辆的某些共享信息重复性手 工输入 出错率高 效率低 2 车辆软件缺乏人性化的设计 缺乏消息提醒和错误验证 车辆状态的显示得不 到及时更新 显示不直观 3 车辆的业务管理不规范 车辆申请 维护业务虽然有所管理 但只是形式 业务 流程不规范 做不到相关人员的监控和全程监管 由于以上原因 鉴于项目的实际需求 为了有效提高公安特种行业的管理质量和 效率 迫切需要能够解决以上问题的车辆管理系统 为此提出以下系统目标 1 软件系统通过接口与车匙箱中的单片机通讯来控制箱门的开启 以软硬件 结合的方式实现车辆的规范管理 2 建立车辆信息库 实施科学的车辆分类管理 通过提高管理效率 降低管理 成本 从而有效提高公安部门的战斗力 完备的车辆资料是有效的车辆管理的基 础 车辆的分类对使用人员实行区分对待 可以优化使用人员的结构 提高服务质量 3 提高服务质量降低管理成本 友好的界面和简便的操作 提高使用者的服务质 量 提高使用的满意度 4 规范相关责任人的工作流程 使相关责任人的工作规范化 统一化灵活多变的 组织结构 提高公安行业管理质量 5 数据信息共享 各个部门协同工作 通过车辆管理系统这样一个信息平台 共 享车辆信息 实现行为互动 广东工业大学工学硕士学位论文 4 2 2 系统功能性需求问题描述 2 2 1 系统涉及的岗位需求 在车辆管理模块中主要涉及有三种角色的用户分别是 管理员 车辆申请 人 车辆审批人 拥有不同角色的用户所看到的菜单和拥有的权限是不同的 管理员 拥有车辆模块的所有权限 可以看到车辆模块下的所有的菜单 管理员 只是部门级的不是系统级的 即如果某个用户拥有 管理员 的角色 那么该用户只 是自己所属部门的管理员 只能维护该部门范围内的信息 管理员能进行的操作分两部分 一部分是对车辆信息的管理以及维护 一部 分是对使用车辆人员信息的管理以及维护 申请人的操作权限 用车管理中的用车申请 撤销已申请用车 以及对个人 信息进行修改 维护 审批人 审批用户发出的用车申请 根据用户填写信息资料做出相应的审批操 作或者通过或者驳回 当申请人申请的车辆不能满足时可以通过改派方式派遣其 他车辆 2 2 2 系统的业务流程及用例 用例图描述活动者为了实现这些目标而执行的所有步骤 基于它是用户导向的 用户可以根据自己所对应的用例来不断细化自己的需求优点 本系统应用用例图来 描述系统的功能性需求 根据系统目标和总体需求 抽象出系统总用例图如图 2 1 所示 又依据各模块功能的特点 本节详细分析了用车申请 用车审批等模块 第二章 特种行业车辆智能管理系统需求 5 图 2 1 系统用例图 Figure 2 1 systems use case view 1 用车申请 普通用户提出车辆使用的申请 然后由用户发起流程 通过设定模块与使用流程 的挂接 业务环节会根据设定好的流程依次向前流转 车辆申请子模块隶属于车辆 管理模块之下 共下设用车申请 审批用车申请 派遣车辆等功能 其中车辆调度 又分为公务用车调度和私人用车调度 车辆调度的主要功能是实现车辆在内网上 的准确 及时 科学调度 描述了车辆从申请到用车结束整个过程 其业务流程如 图 2 2 所示 车辆审评通过 通知车辆调度员派车 派遣车辆 通知车辆申请人 通知司机出车 提交用车申请 驳回用车申请 车辆调度员 车辆事务审批责任人 主管领导 部门领 导 车辆申请人 普通用户 部门 司机 图 2 2 车辆申请与调度流程 Figure 2 2 Car pepition and Scheduling Process 广东工业大学工学硕士学位论文 6 实施策略 实施策略 用车人或用车单位提出用车申请 并填写用车审批表单 提交申请 系统验证申请 显 示申请信息页面 用车人点击发送 启动一个用车审批工作流 根据工作的设置的环节 参与人 依次进行环节任务的流转 在某个环节 环节参与人亦可以驳回此环节的执 行 环节退回到当前环节的前一环节 当环节是尾环节时 环节参与人结束环节的执行 即结束了整个流程的执行 业务规则业务规则 1 每个申请人在用车申请列表中只能看到他自己提交的申请 2 申请人将用车申请发送后就不能再修改 只能查看本人所申请车辆信息 3 申请人为当前系统登陆用户 部门为登陆用户的部门 4 申请列表中的字段审批状态根据审批流程来选择 5 用车状态审批中 等待派车 己派车 已收车 默认为审批中 考虑到申请业务的具体需求 系统设计以下字段申请人 使用部门 申请车型 申请车牌 申请日期 申请时间 用车原因等 系统的必填项用带红色星花的部分 显示 用户点击保存申请时 系统会对必填信息进行非空校验 2 车辆审批 车辆审批是车辆管理子系统的重要功能 它是对已提交车辆申请的进行审批 具有审批权限的人员可以根据车辆申请的理由以及车辆的使用情况来对车辆申请 进行通过或驳回的出来 当车辆不能满足申请时 可以通过改派来实现 图 2 3 是 车辆审批的序列图 第二章 特种行业车辆智能管理系统需求 7 图 2 3 车辆审批序列图 Figure 2 3 vehicles approval sequence view 2 3 系统软硬件环境的需求 本系统可以安装在一个服务器上 为了提高系统性能 在条件允许的情况下 应 分别安装各种服务器 以下是推荐配置 可以充分的发挥系统性能 客户端 CPU 主频 800HZ 及以上 内存 512M 硬盘 60G 分辨率 1024 768 操作系统 Windows2000 或以上版本 浏览器 IE6 0 或以上版本 应用服务器 CPU P4 2 0 及以上 内存 512M 及以上 硬盘 100G 分辨率 1024 768 操作系统 推荐 Window 2000Server SP4 UNIX 等操作系统 浏览器 IE6 0 或以上版本 应用平台 推荐 Tomcat Weblogic 等各种应用平台 数据服务器 CPU 安腾 1G 以上 内存 1G 硬盘 80G 分辨率 1024 768 数据库 MYSQL Oracle 等 操作系统 推荐 Window 2000Server SP4 UNIX 等操作系统 浏览器 IE6 0 或以上版本 广东工业大学工学硕士学位论文 8 WEB 服务器 CPU P4 2 0 及以上 内存 512M 及以上 硬盘 40G 分辨率 1024 768 操作系统 推荐 Window 2000Server SP4 UNIX 等操作系统 浏览器 IE6 0 或以上版本 系统硬件 以 100 辆汽车的设计能力 1 车匙箱一个 2 电插锁 100 把 3 电插锁控制板 100 套 4 总控制板一套 5 开关电源及配件 6 主控电脑一台 配触摸屏 放于车匙箱内 7 读卡器若干 第三章 相关技术介绍 9 第三章 相关技术介绍 3 1 设计模式 在面向对象系统的设计中 可以认为 类及其生成的对象是构成面向对象系统的 最基本元素 采用设计方法组合这些元素 得到构成面向对象系统的构件 同时这些 构件的设计方法在经过不断的改进和完善后逐渐成型 成为构成面向对象系统的基 本设计参考 也称为设计模式 Design pattern 开发人员一般采用设计模式来抽象和总结系统构件的设计方法 同时将它应用于 新的系统构件的设计中 使用类和对象 使开发人员在元素的层次上实现了重用性 而使用设计模式 则是在系统构件的层次上实现了重用性 设计模式使开发人员可 以更加简单方便地复用成功的设计和体系结构 同时对将来的更改与扩展也具有足 够的兼容性 将己证实的技术表述成设计模式 可以使系统的开发者更加容易理解 原有的设计思路和方法 设计模式在很大程度上改善了软件程序结构 使设计具有更好的弹性 它提供了 在特定应用场景下解决问题的类 对象及相互关系的设计方法 这些方法并不针 对于具体的系统 只是提供了一种设计系统的思路 这样做只是为系统搭起了框架 要真正地完成系统的开发还需要完成许多具体的编程工作 一个设计模式可能用于不同的系统 一个系统也可能会用到多个设计模式 使 用合适的设计模式 不但使代码可重用性 可扩展性得到增强 而且最重要的是能够 加快系统的开发速度 提高开发效率 3 2 WEB 应用系统开发的一般模型 在 WEB 应用开发技术的发展史上 曾经涌现出了多种技术 但是随着具有优 秀跨平台性能的 J2EE 平台的出现和发展 越来越多的 WEB 应用开始在 J2EE 台上 开发 而作为 J2EE 平台主要组成部分之一的 JSP 逐渐受到了开发人员广泛青睐 在 WEB 应用系统的开发过程中占据了重要的一席之地 这是因为 JSP 页面不仅拥 广东工业大学工学硕士学位论文 10 有跨平台和跨服务器的特性 而且可以非常容易的将业务辑 服务器端处理过程和 静态 HTML 页 所见即所得 的功能相结合 同时实现显示 业务逻辑和流程控制 等功能 从而帮助开发人员快速的完成任务 JSP 技术规范给出了两种使用 JSP 开发 WEB 应用的方式 这两种方式可以归纳 为模型一 model 1 和模型二 model 2 两者的主要差别在于它们处理业务的流程不 同 3 2 1 Model 1 模式 在很多情况下 一组 JSP 页面就可以构成一个完整的 WEB 应用 这种以 JSP 页面为中心 以 JAVABEAN 处理业务逻辑的开发模型被称作 Model 1 在这一模型 中 JSP 页面独自响应请求并将处理结果返回给客户 所有的数据通过 JAVABEAN 来处理 JSP 实现页面的表现 浏 览 器 JSP JAVABEAN DATA BASE Response Request 图 3 1 Model 1 体系结构 Figure 3 1 Model 1 architecture Model 1 体系结构的工作流程如下 1 从客户端的 WEB 浏览器读取用户请求 并将请求发送到 JSP 页面 2 JSP 页面调用相应的业务逻辑 JAVABEAN 处理请求 3 JAVABEAN 根据用户请求操纵数据库 4 JAVABEAN 取得返回结果 5 JAVABEAN 将取得的结果传送给 JSP 页面 6 JSP 页面将结果生成 HTTP 文档返回给客户端 JSP 文件是构成 Model 1 的基础 它独立接收和响应用户请求 并将处理结果返 第三章 相关技术介绍 11 回客户 总的来说 这种模式的优点是简单 可以很好地满足小型应用开发的需求 虽然这种模型也实现了 JSP 页面表现和业务逻辑的分离 然而不加选择地大量使用 这种模型 就需要在 JSP 页面中嵌入大量脚本小程序 Script 或 JAVA 代码 尤其是在 需要处理的业务逻辑比较复杂时 这种情况会变得非常糟糕 大量的嵌入式代码会 使整个页面程序变得异常复杂 在任何应用 尤其是企业级应用的开发过程中 使用 这种模型难免会导致定义不清的响应和项目管理的困难 3 2 2 Model 2 模式 Model 2 也称作 JSP Servlet JAVABEAN 开发模型 这一模型结合了 JSP 和 Servlet 技术 充分利用了两种技术原有的优势 在这个模型中 JSP 技术用于 视图层 Servlet 的作用是控制器 JAVABEAN 是模型层 其中 Servlet 用来处理请求 的事务 充当一个控制者的角色 并负责向客户发送请求 它创建 JSP 需要的 JAVABEAN 和对象 然后根据用户请求的行为 决定将哪个页面发送给客户 这种 模型的体系结构如图 3 2 所示 浏 览 器 控制器 Servlet 视图 JSP DATA BASE 45 Response 1 Request 模型 JavaBean 2 实例化 3 图 3 2 model 2 体系结构 Figure 3 2 Model 2 architecture 从开发的观点来看 Model 2 具有更清晰的页面表现 清楚的开发角色划分 这些优 势在大型项目中表现得尤为突出 另外从设计结构来看 这种模型充分体现了模型 视图 控制器 MVC 的设计模式 广东工业大学工学硕士学位论文 12 3 3 MVC 设计模式 3 3 1 MVC 设计模式的结构 MVC 英文即 Model View Controller 即把一个应用的输入 处理 输出流程 按照 Model View Controller 的方式进行分离 这样一个应用被分成三个层 模型 层 视图层 控制层 其结构如图 图 3 3 MVC 体系结构图 Figure 3 3 MVC architecture MVC 模式的处理流程是 首先控制器接收用户的请求 并决定应该调用哪个模 型来进行处理 然后模型调用业务逻辑来处理用户的请求并返回数据 最后控制器用 相应的视图返回数据 并通过表示层呈现给用户 Model 模型指的是真正完成任务的代码 包含应用系统的核心功能 表示一个 应用系统的数据 并且包含访问 维护和管理这些数据的逻辑 所有属于应用系统 持久状态的数据都应该保存于模型对象里 模型提供的服务必须足够适用于不同 的终端 一个模型聚集了相关的数据和操作 以提供一个详细而精确的服务 这些被 封装在操作中的抽象事物的功能被模型化 一个模型的接口提供了访问和更新模 型状态 执行封装在模型中的复杂进程的方法 模型服务被控制器访问 用于查询或 更改模型的状态 当模型状态发生变化时 模型会通报给视图 对大多数 WEB 应 第三章 相关技术介绍 13 用程序而言 功能比界面感觉更重要 在模型同界面分离的情况下 代码即可实现可 管理性和可重用性 例如 在一个保险应用程序中 模型就是处理计算保险费和同数 据库交互的那些业务代码 模型通常也被称作业务逻辑 View 视图表示模型的状态 是应用系统的外观 当模型发生改变时 视图也将 随之改变 以维持系统数据的一致性 在 MVC 模式下 通常的设计前提是界面任务 较小 当然视图也应该具有一定的功能性并遵守可用性的约束 但视图界面不应当处 理数据 事实上 视图的每一部分都只能包含采集数据的逻辑 并把采集到的数据传 递给设计模式中的其他组成部分进行处理 Controller 控制器是联系模型与视图之间的纽带 控制模型和视图之间的交互 过程 它获取并翻译用户输入的动作 指定执行该动作的模型 或者根据用户的输入 和执行的结果来选择下一个视图 3 3 2 MVC 设计模式在 J2EE 平台中的应用模型 MVC 设计模式是一种用于分离数据维护和数据表现的方法 在 J2EE 中引入 MVC 设计模式 有助于把应用划分为合理的组件 从而可以方便的进行系统的开发 维护和扩充 随着 J2EE 各种组件技术的广泛应用和 MVC 设计模式的发展与完善 J2EE 与 MVC 设计模式在 WEB 应用系统开发领域达到了很好的结合 目前 这种 结合己经被广泛的应用于许多企业级 WEB 应用系统的开发过程中 其中 JSP 用于 创建与用户交互的视图 JAVABEAN EJB 等组件用于创建实现业务逻辑的模型 Servlet 用于创建实现业务逻辑与用户交互的控制器 WEB 应用客户端的用户动作 被视图传递给 Servlet 集中处理控制逻辑 调用 JavaBean 激活业务逻辑或修改模型 状态 根据用户动作和模型处理的结果 控制器选择一个视图作为用户请求的响应 这样就形成了清晰的 MVC 设计模式 简化了 WEB 应用系统的开发 基于 J2EE 和 MVC 设计模式的系统模型借鉴了 Model 2 的思想 其技术原理 是 以 MySQL SQL SERVER ORACLE 等企业级数据库系统作为后台数据库 以 Servlet 等高性能服务端程序作为后台总控程序 JSP 页面在前台运行 Servlet 接受用 户的输入 分别调用不同的 JSP 页面向浏览器反馈信息 JSP Servlet 通过 HTTP 连接 在服务器端和浏览器端传递数据 JSP Servlet 并不使用 JDBC 技术直接访问数据库 系统 而是把参数传递给 EJB 组件 由 EJB 组件对数据库进行操作 这样就可以封装 广东工业大学工学硕士学位论文 14 系统的内部数据 JAVABEAN 和 EJB 组件还可以把 事务分发到其他组件中进行处理 最后把从数据库返回的结果 由 JSP Servlet 发送到 前端显示 基于 J2EE 和 MVC 设计模式的系统模型以 WEB 浏览器作为客户端 以 WEB 服务器和 EJB 服务器作为中间层完成业务逻辑 数据层则是传统的大型企业级数据 库服务器 WEB 服务器是 J2EE 体系结构中间层的一个重要组成部分 它在技术上主要 是 Servlet 和 JavaBean 其功能是实现用户界面的表现 由于 JSP 和 Servlet 本质上 是服务端的 Java 小程序 因而可以与 Java Applet 及 HTTP 客户端交互 具有执行速 度快 用户界面生成灵活 安全性好等特点 同时还能使用 JAVABEAN 实现一些 简单的业务逻辑 J2EE 使用 EJB 服务器作为 EJB 组件的部署环境 在 EJB 服务器中提供了在分 布式计算中组件需要的所有服务 如组件生命周期管理 数据库连接管理 分布式 事务管理 组件命名服务 自动容错以及负载的自动均衡能力等 实现业务逻辑 的 EJB 组件可以在服务器中高效运行 支持多客户端访问 HTTP 的客户端一般先 向运行在 WEB 服务器上的 Servlet 或者 JSP 发出请求 通过在 JSP 中嵌入的 Java 代 码或是 Servlet 来调用运行在 EJB 服务器中的 EJB 组件 以实现复杂的业务逻辑 3 3 3 MVC 设计模式的优缺点 一方面 分离数据和其表示 使得添加或者删除一个用户视图变得很容易 甚至 可以在程序执行过程中动态的进行用户视图的更新 模型和视图能够单独的开发 即业务逻辑和用户表现的分离 增加了程序的可维护性 可扩展性 并使测试变得 更容易 另一方面 将控制逻辑和表现界面分离 允许程序能够在运行时根据工作流 用户习惯或者模型状态来动态选择不同的用户界面 最重要的一点是多个视图能共享一个模型 现在一个应用程序需要用越来越 多的方式访问 在 MVC 设计模式之中 无论用户想要 flash 界面或是 WAP 界面 用 一个模型就能处理它们 因为 MVC 己经将数据和业务规则从表示层分开 模型返 回的数据没有进行格式化 同样的构件能被不同界面使用 这当然包含 HTML 的表现 方式 也有 flash 和 WAP 的表示处理界面 同时模型也有状态管理和数据持久性处理 第三章 相关技术介绍 15 的功能 例如 基于会话的购物车和电子商务过程也能被 flash 网站或者无线联网的 应用程序所重用 因而在 MVC 设计模式中应用开发人员可以最大化的重用他的代 码 因为模型是自包含的 并且与控制器和视图相分离 所以很容易改变应用程序 的数据层和业务规则 如果需要数据库从 DB2 移植到 ORACLE 或者改变基于 RDBMS 数据源到 LDAP 开发人员只需改变它的应用模型即可 一旦开发人员正确 的实现了模型 不管数据来自数据库或是 LDAP 服务器 视图将会正确的显示它们 由于运用 MVC 的应用程序的三个部件是相互对立 改变其中一个不会影响其它两 个 所以依据这种设计思想开发者能构造良好的松偶合的构件 由于 MVC 模式并不是十分简单 其内部原理比较复杂 所以使用 MVC 模式 需要精心设计 尽管 MVC 有许多优点 但它并不是对所有应用都适用 对于小型 应用 使用 MVC 会带来额外的工作量 并且会增加应用的复杂性 在选择 MVC 开 发模式时必须仔细考虑这下问题 1 必须基于组件的方式重新思考和设计应用结构 原来通过建立一个简单的 JSP 页 面就能实现的应用现在变成了多个步骤的设计和实现过程 2 所有的页面和组件必须在 MVC 框架中实现 所以必须进行附加地开发工作 3 MVC 本身就是一个非常复杂的系统 所以采用 MVC 实现 WEB 应用时 最好选 一个现成的 MVC 框架 在此之下进行开发 从而取得事半功倍的效果 现在有很多 可供使用的 MVC 框架 Struts 就是一个不错的框架 3 4 标准建模语言 UML 面向对象的建模语言出现在 20 世纪 70 年代 随着编程语言的多样化以及软 件产品在更多领域的应用 当时的软件工程学者开始分析与设计新的软件方法论 在这期间出现了超过 50 种面向对象方法 对于这些不同符号体系的开发方法 软件 设计人员和开发人员往往很难找到完全适合他们的建模语言 而且这也妨碍了不同 公司 甚至是不同项目开发团队的交流与经验共享 因此 有必要确立一款标准统一 的 能被绝大部分软件设计和开发人员认可的建模语言 在这种情况下 UML 应运 而生 1997 年 UML1 1 被 OMG 对象管理组织 采纳 正式成为一款定义明确 功能 强大 受到软件行业普遍认可的 可适用于广泛领域的建模语言 如今 UML 已经 成为面向对象软件系统分析设计的必备工具 也是广大软件系统设计人员 开发人 广东工业大学工学硕士学位论文 16 员 项目管理人员 系统工程师和分析员必须掌握的基础知识 模型是对现实的简化 建模是为了更好地理解系统 模型帮助我们按照实际情 况对系统进行可视化 模型允许我们详细说明系统的结构 行为 模型给出了构造系 统的模板 模型对我们做出的决策进行文档化 选择创建什么模型对如何动手解决 问题和如何形成解决方案具有重要意义 项目越大越复杂 建模业变得越重要 建模的意义 建模可以捕捉业务过程 建模可以捕捉业务对象和逻辑 建模可 以处理问题的复杂性 建模可以用来定义软件架构 建模可以提高程序再用率 建模的 4 项原则 选择建立什么样的模型对解决方案的形成有很大影响 没 有哪一个模型或视图是足够的 要多

温馨提示

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

评论

0/150

提交评论