(交通信息工程及控制专业论文)基于J2EE平台的MVC增强技术研究及其应用.pdf_第1页
(交通信息工程及控制专业论文)基于J2EE平台的MVC增强技术研究及其应用.pdf_第2页
(交通信息工程及控制专业论文)基于J2EE平台的MVC增强技术研究及其应用.pdf_第3页
(交通信息工程及控制专业论文)基于J2EE平台的MVC增强技术研究及其应用.pdf_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

南京航空航天大学硕士学位论文 i 摘摘 要要 随着高校信息化基础设施的不断完善,招生规模的迅速扩大,学校教学科研 的要求越来越高,对高校信息化的应用水平也提出了非常高的要求。传统的高校 信息化应用条块分割,缺乏统一的标准和接口,信息无法共享,系统无法为全校 师生提供良好的服务,已成为高校信息化进一步发展的瓶颈。 j2ee 平台具有多层体系结构,可以简化构建企业级信息解决方案的开发、 部署和维护,方便了开发扩展性好、实施效率高的企业级应用系统。mvc 设计 模式是一种能够进行表示、控制和数据分离的开发解决方案,它可以方便在企业 级开发过程中进行人员角色的分工和合作。 本文分析研究了高校信息化建设中人事子系统的特点, 归纳了常见的三类应 用实施中的问题,创造性地将 publish-subscribe 模式、rbac 模式和 flyweight 模式和 mvc 设计模式相结合,并在 j2ee 平台下构造的一种 mvc 增强技术模 式框架epstar-mvc,对其关键实现技术进行了研究,开发出了基于该模式 的可视化的 mvc 开发工具。最后对采用该工具开发的一个以数据流为导向的大 型高校信息化系统进行了详细描述, 论述了框架的应用过程, 分析了应用的效果, 给出了框架特点,并提出了模型的进一步改进方向。 关键词:关键词:设计模式,mvc,j2ee,mda,uml,人事系统,应用系统 基于 j2ee 平台 的 mvc 增强技术研究及其应用 ii abstract with the enhancing of infrastructure informatization of universities in china, and enlarging number of recruit students, its becoming normal phenomena that universities have several campuses, the requirements of teaching and scientific research in universities is more and more higher. but traditional informatization of universities has several defects, including different application systems which could not be connected, short of uniform standards and interfaces, information in systems could not be shared, these problems the application systems cannot provide good information service to members of universities as a union, and also these problems is the bottle-neck for continuing growth of universities. j2ee platform is a kind of architecture which has several layers, it can simplify for development, disposal and maintenance of enterprise application solution. it is convenient for designers to provide the good mechanism in the way of building the expandable, flexible and easily disposed enterprise application system. mvc design pattern is a development solution which can separate control from representation, data and control; it also can easily carry the separation and corporation of work during the process of enterprise development. through analyzing characteristics of personnel system which is a sub-project of university informalization, this thesis summarizes three common questions, creatively puts publish-subscribe model, rbac model and flyweight model together with mvc design model, then it follows the lamination mechanism of mvc, constructs a enhanced technology framework of epstar-mvc based on j2ee and describes the essential technology, and develops a visualizational mvc development tool based on the model. last, author developed an application which is a data-oriented university personnel system using above development tool. this essay describes the applying process, analysis its effect and gives the characteristics of the model pattern, and last give the further improvement direction. key words: design pattern, mvc, j2ee, mda, uml, personnel system, application system 南京航空航天大学硕士学位论文 v 图表清单图表清单 图 2.1 三层体系结构.4 图 2.2 j2ee 的多层结构和技术7.5 图 2.3 基于 uml2.0 的建模开发工具.7 图 2.4 j2ee 应用开发阶段17.8 图 2.5 多层 b/s 企业应用系统结构.9 图 3.1 专业技术职务申报用例图.12 图 3.2 类的 uml 表示方法.13 图 3.3 类的关联表示方法.13 图 3.4 包之间的依赖关系.13 图 3.5 接口的表示与实现.14 图 3.6 专业技术职务申报表个人与院系之间的状态转换图.15 图 3.7 专业技术职务申报填写交互图.16 图 3.8 基本 mda 框架22.19 图 3.9 mda 软件开发周期.20 图 3.10 mda 平台相关与平台无关模型示例.20 图 3.11 mvc 设计模式.21 图 3.12 mvc 组件之间关系表示 .22 图 3.13 mvc model1 模型表示.23 图 3.14 mvc model2 模型表示.23 图 4.1 struts 框架结构.25 图 4.2 jsf 框架图示.26 图 4.3 spring 框架图.27 图 4.4 hibernate 框架图.28 图 4.5 模型视图关系.30 图 4.6 基于 rbac 的权限模型.32 图 4.7 数据状态和操作的关系.32 图 4.8 专业技术职务申报模块 flyweight 共享示例图 .33 图 4.9 数据依赖问题模型.34 图 4.10 界面展示程序流程图.37 基于 j2ee 平台 的 mvc 增强技术研究及其应用 vi 图 4.11 数据层权限组成流程.37 图 4.12 平台中的权限模型的 sql 语句拼装.38 图 4.13 权限控制问题命令集中控制器模型.38 图 4.14 平台中的三种模型及相互关系.39 图 4.15 权限模型相互关系及其可视化编辑框.39 图 4.16 平台中的基于 tag 的数据界面显示框图.42 图 4.17 客户端控制器模型.42 图 4.18 基于 j2ee 平台的 epstar_mvc 模型结构.44 图 4.19 模型框架组成图.45 图 5.1 华东理工大学人事系统总体框架图.47 图 5.2 人事系统专业技术职务申报总体功能图.48 图 5.3 专业技术职务申报数据建模示例.51 图 5.4 职称申请的权限组 xml 文件.51 图 5.5 职称申请的权限建模.52 图 5.6 业务建模提交自定义模型模板.52 图 5.7 用户填写预申报表.53 图 5.8 系统管理中配置权限组的访问范围.53 表 5.1 系统测试统计总表.54 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立 进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本 论文所涉及的研究工作做出贡献的其他个人和集体, 均已在文中以明 确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印件, 允 许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或其他复制手段保存论文。 (保密的学位论文在解密后适用本承诺书) 作者签名: 日 期: 南京航空航天大学硕士学位论文 1 第一章 绪论 随着科学技术的不断前进发展,国际互联网已经融入了我们的日常生活,并 改变着我们的日常的生活方式和工作方式,同时也在改变了企事业单位的生产、 经营和服务方式。互联网为我们提供了大量的信息和服务,如何能够利用互联网 为我们更好的服务, 如何能够是我们的企业在信息化的浪潮中适应经济全球化的 发展,提高我们企业的核心竞争力,是当前我们科技人员面临的一个紧迫课题。 1.1 课题研究背景和研究内容 随着全球经济的一体化,我国也提出了以信息化带动工业化的发展思路,在 当今信息化的大潮中,现代企业通过建立科学先进的管理理念,借助先进的计算 机技术去整合企业现有的生产、经营、设计、制造和管理,及时为企业决策提供 准确、有效的信息,应对各种情况并做出快速反应,以增强企业核心竞争力。但 是, 如果按照传统的软件开发模式和开发流程开发的企业信息化平台要想更改业 务流程以适应企业发展的需要,必须重新设计和编码,需要花费大量的人力和时 间,而且还不一定能够完全符合要求,所以这种软件设计模式已经不能适应现代 企业的飞速发展。现代企业需要一种新型的企业应用平台,来应对企业飞速发展 带来的系统维护代价太高的现状。 但是, 当今诸如高校校园信息化这样的企业级应用系统开发至今仍面临许多 严峻的问题:开发周期长、开发费用高、软件质量差、软件适应性差等。失败的 软件项目屡见不鲜。而高校校园信息化是运用计算机技术和网络硬件设施,对学 校的各类信息资源进行数字化处理和应用集成, 在传统校园的基础上构建一个数 字空间以拓展校园的时间和空间跨度,实现校园的数字信息化。高校信息化系统 中各个业务系统相对独立,业务流信息流明显,数据的交叉公用性非常强,而同 时没有相应的规范的软件开发平台和方法,各个子系统基本都是信息孤岛,质量 参差不及,要解决这些问题就要采用更科学、更系统的开发方法来指导和整合企 业级应用系统的开发。因此,如何快速、便捷、高效、经济地进行企业级应用的 设计、开发、部署和维护是当前比较热门的研究课题之一。 在本文中,作者立足于构建基于 internet 的企业级应用系统,分析研究了在 企业级应用开发中被广泛采用的基于 j2ee 平台的 mvc 软件设计模式的特点及 其关键技术,给出一种 mvc 增强模式设计方法。这种设计模式能够较好的满足 当前基于 internet 的需求快速变化的企业级应用系统的结构设计与实现,基于这 种模型的应用程序框架非常适合开发基于 internet 的企业级应用系统。作者结合 华东理工大学校园信息化项目中的人事系统实例分析论述了这种mvc模型框架 基于 j2ee 平台 的 mvc 增强技术研究及其应用 2 的实现全过程,并对其效果进行分析评估。 1.2 当前研究现状和研究趋势 sun 公司的 j2ee(java 2 platform enterprise edition)定义了开发和运行企业 级 web 应用的标准, 它可以用于开发大型的、 多层次的以及分布式的企业级 web 应用1。采用 j2ee 技术可以简化构建企业级应用的复杂度,同时可以提高应用 系统的扩展性和可维护性。 由于 j2ee 本身的显著特点, 目前众多的企业级应用, 特别是基于 internet 的应用纷纷采用 j2ee 平台来构建企业信息化平台。 目前,企业信息化的需求越来越高,只有好的平台,而没有软件设计的体系 结构,也是远远不能满足快速变化的企业需要的。如何设计一个具有良好的可扩 展性、易于维护、适应高效率、高灵活性的开发要求的软件设计框架是目前计算 机专业人员投入热情和精力最多的研究方向之一。 mvc(model-view-controller)模式最早于二十世纪八十年代提出,它最初 是为 smalltalk 语言设计的一种能够有效分离数据和界面的解决方案。 当前, mvc 已是在分布式应用软件中被采用最为广泛的一种设计模式2。目前,在 j2ee 环 境中基于 mvc 模式的应用框架层出不穷,如 struts、jsf、spring、hibernate 等, 它们都有各自独到之处,都可以解决某一类特定的应用问题。如何可以运用这些 技术各自的特点,发挥出 mvc 模式更大的长处为企业级应用开发服务,也是现 在业界的热门话题之一。而现在包括 ibm、sun、oracle 等大公司和很多专业人 士或者社团组织也在积极投入资金和人力推动着这些技术在企业级应用开发上 的实现。 本文作者立足于构建基于 internet 的企业级应用系统,在分析研究企业应用 中被广泛采用的 j2ee 平台的特点与核心技术、软件设计模式的基础上,论述了 传统 mvc 设计模式的一些缺点并引出一种 mvc 增强设计模型框架。这种模型 从应用的实际效果来看,可以较好的满足当前以 web 应用为中心的企业应用系 统的结构设计与实现,最后作者结合一个应用实例分析论述了该基于标准 mvc 模型框架的增强技术模式的设计、应用实施的具体过程,并对其运行效果进行了 分析评估,给出了系统的综合评价和以后技术的改进方向。 1.3 论文组织 本文的章节作者安排如下: 第一章:绪论。介绍了本文的研究背景、研究内容、研究现状和组织结构。 第二章:着重分析了 j2ee 企业应用平台技术及其相关内容,j2ee 的体系结 构和开发方法,在本章最后对现代企业级应用系统的设计要求进行了分析。 第三章对软件设计模式进行了分析,介绍了 uml 的组成、mda 设计方法以 南京航空航天大学硕士学位论文 3 及 mvc 模式及其在 web 实现中的应用等内容。 第四章介绍了 j2ee 环境中常用的 mvc 模式, 然后针对华东理工大学的实际 应用需要,提出了传统设计模式的一些问题,并设计了一种 mvc 增强设计技术 模式 epstar_mvc 的模型结构,介绍了它基于 j2ee 平台的一些关键实现技术和 实现流程。 第五章结合华东理工大学信息化项目中的人事子系统项目,介绍了使用这种 增强 mvc 技术模型开发该项目的流程和系统运行、测试效果。 第六章中对该 mvc 增强技术模型和框架进行了总结,并给出了系统的改进 方向,对今后的工作做了展望。 基于 j2ee 平台 的 mvc 增强技术研究及其应用 4 第二章 j2ee 体系结构分析 目前随着网络软件技术和硬件技术的快速发展, 企业级应用的需求也越来越 高,表现为软件系统规模和复杂性的不断增大,以及因为需求的快速变更而导致 的维护周期的缩短,基于 b/s 的三(多)层体系结构已经成为各类企业应用软件 的基本结构形态,软件设计的核心已由传统的编码转向软件体系结构的设计。体 系结构设计主要着眼于系统的全局组织形式, 从更高的层次上把握系统各个组成 部分的内在联系,从大局和整体的角度理解、分析系统的行为和特性,从而有助 于解决开发复杂的大型软件所存在的困难。j2ee 正是一个被广泛应用于企业级 开发的基础架构平台。 2.1 j2ee 平台技术分析 我们知道,开发系统的最佳途径是把系统按照职责分为若干个层次(每个层 次都是具有特定职责的结构层) ,即我们通常所说的多层次体系结构,比如图 2.1 所示的三层体系结构。表示层负责处理和最终用户之间的交互;业务层负责处理 业务流程;整合层负责提供对后台资源的访问,包括数据库和各种外部系统;这 样的划分使得每层的内容都可以独立地进行设计、开发、部署和维护。 图 2.1 三层体系结构 j2ee 是一种利用 java 来简化企业解决方案的开发、部署和管理相关的复杂 问题的体系结构,它的全称是 java 2 platform enterprise edition,是 sun 公司在 1997 年的 java one 大会上宣布的开发分布式企业应用系统的规范和平台5。为 了能够支持不同的业务需求,最终 sun 公司联合了多家公司和组织,把所有与 企业开发相关的标准、api 整合起来,构成了 j2ee 技术平台。 j2ee 从诞生开始,就获得了广泛认可,它具有很多的优点,比如:良好的 可移植性、健壮的安全性、灵活的重用性等。jdbc api 技术可以操作和访问多 种数据库,而且平台还提供了 ejb、java servlet、jsp、xml、ajax 等技术, 目前 j2ee 已经成为企业级应用系统平台和支持多层技术的体系结构。 2.2 j2ee 模型层次 j2ee 是一种多层分布式模型,根据功能的不同,把应用程序逻辑划分成几个 部分,应用的各个部分安装在不同的机器上。图 2.2 所示为四层 j2ee 应用体系: 表示层 业务层 整合层 南京航空航天大学硕士学位论文 5 图 2.2 j2ee 的多层结构和技术 7 它们分别是:运行在客户机上的客户层组件;运行在 j2ee 服务器上的 web 层组件; 运行在j2ee服务器上的业务层组件; 和运行在eis (enterprise information system)数据层上的企业信息系统层软件。 下面我们将对 j2ee 体系结构做进一步研究分析。 2.2.1 客户层 web 应用的客户层是指运行在客户机上的浏览器。 它的功能是显示数据、 输 入或更新数据,与服务器进行交互等。我们使用下面的方法来构建客户层: (1) 纯粹的 html 客户端全部逻辑处理都在中间层上。当用户提交 web 页面的时候,全部的确认工作都是由 j2ee 服务器(应用服务器)去完成; 最后,消息结果返回客户端。 (2) 混合 html/dhtml(dynamic html)/javascript 的客户端运行在 客户端上的 web 页面包含了一部分业务逻辑,例如,进行表单提交检查, 隐藏一些功能显示等。 2.2.2 表示层 表示层生成了 web 页面和 web 页面中的动态内容。动态内容通常从数据库 获得;例如:每个时间段的专业技术职务申报人数情况。表示层的另一个主要任 web 服务器 web 容器 客户机设备 小应用程序 容器 应用程序 客户机容器 j2se 服务 j2ee 服务 html xml 小服务 程序 jsp j2ee 服务 j2se 服务 ejb 服务器 ejb 容器 j2ee 服务 j2se 服务 关系型 数据库 邮件服务器 目录服务 消息队列 java 应用 程序 corba 服务器 eis 客户层 web 层 业务层 客户机 服务器 数据层 j2se 服务 基于 j2ee 平台 的 mvc 增强技术研究及其应用 6 务就是把客户端传来的 web 页面包含的请求进行打包。 表示层一般不处理应用逻辑,其应用代码可以从 web 服务器上下载到本地 的浏览器中执行,或者是从服务器端下载数据包和数据描述包,在客户端的应用 程序中执行。表示层基本上不需要任何管理工作;用户只要通过服务器端的身份 认证,就可以使用互联网协议传输反馈信息并且在客户端显示。表示层通常在 web 服务器(例如:microsoft iis、ibm web sphere)中实现。web 服务器除了 处理站点静态页面的请求之外,通常还要为多个应用程序处理请求。 2.2.3 业务逻辑层 很多应用逻辑都位于业务逻辑层中,这些业务逻辑一般包括4: ? 执行全部必须的计算和动作; ? 工作流管理,如跟踪会话数据; ? 表示层中全部数据访问的管理; 在当前的 web 应用中, 业务逻辑通常使用 java 编写, 使用其中的 java beans (ejb)执行业务操作。独立于语言的公共对象请求代理体系结构(corba, common object request broker architecture)也可以在业务逻辑中构建,并可以 很容易地通过表示层访问。corba 的主要组件是对象请求代理(orb, object request broker) ,它封装了查找对象管理连接和传送数据必须的通讯基础10。 orb 核心是对象请求代理的关键部分,它负责请求的通讯。orb 提供的基本功 能包括把客户端的请求传送到激活的对象实现中去,对象实现接收请求、处理请 求,并返回目标结果。同表示层相似,业务逻辑层通常在应用服务器内部执行。 应用服务器可以自动处理许多事务,例如,事务处理、安全性、持久性、连接池、 通讯和命名服务。采用这种方式,把业务逻辑从资源管理的需求中分离出来,允 许开发人员集中精力构建应用逻辑。 2.2.4 数据层 数据层负责数据管理。数据层可以是一个关系型数据库,也可以包含其他数 据源的数据访问程序。在需要的时候,数据层为业务逻辑层提供请求的数据,在 请求的时候,数据层存储用户数据。 要确保应用程序协调工作,设计人员应该尽量把动作(action)和业务逻辑 同数据层分离开。逻辑处理位于业务逻辑层中。有时候,数据层也会有一些基本 的业务逻辑。例如,一些字段完整性约束、数据库外键约束、触发器或者存储过 程等。 2.2.5 j2ee容器思想 j2ee 是一种基于组件的、平台无关的结构,这样的结构可以方便地把复杂 南京航空航天大学硕士学位论文 7 的业务逻辑组织成可重用的组件(独立的功能软件单元,不同的组件之间可以相 互通信5) ,并且可以用容器的形式为每种组件类型提供各种所需的底层服务, 从而使得 j2ee 应用开发变得非常容易,因为业务逻辑被封装成可复用的组件。 在 j2ee 规范中,定义了以下几种组件: ? 客户组件应用客户和 applet。 ? web 组件java servlet 和 java 服务器页面技术。 ? 业务组件企业 javabeans(ejb)组件。 在 j2ee 框架中,容器就是组件和支持组件的特定平台功能之间的接口,在 进行开发部署时候,组件被安装到它们相应的容器中。容器提供安全性、事务管 理、jndi 查找和远程连接等一系列的服务。 2.3 j2ee 开发方法和过程 一般来说 j2ee 应用由两部分构成:企业 bean 和 web 组件,在开发过程中, 我们可以根据实际需要,尽量重用现成的企业 bean 和 web 组件构建新的应用或 者直接移植。为了构建这些模块,在本文介绍的项目中,我们自行开发了基于 uml2.0(unified modeling language)的可视化的建模工具来辅助我们进行项目 开发工作。图 2.3 所示为 j2ee 平台的建模开发工具: 图 2.3 基于 uml2.0 的建模开发工具 建模,就是构建和文档化应用的设计和结构的可视化过程,模型可以显示组件和 子系统之间的相互依赖关系,该建模工具可以简化构建过程,动态显示对象之间 的高度抽象的相互关系,较好的解决企业级开发的工作分工和层次划分。 在较 大规模的开发中,j2ee 应用需要经历以下的开发过程,参见图 2.4: 基于 j2ee 平台 的 mvc 增强技术研究及其应用 8 web组件 (.war文件) 企业bean (ejb .jar文件) j2ee应用 (.ear文件) j2ee server 组装阶段 部署阶段 图 2.4 j2ee 应用开发阶段 17 (1) web 组件的创建 由 web 设计人员和软件开发人员共同完成,web 设计人员创建 web 组 件,软件开发人员创建 servlet,通过编写和编译 servlet 的源代码、jsp 文件 和 html 文件、指定 web 组件的部署描述符,最终产生可用 web 组件。 (2) 企业 bean 的创建 企业 bean 由软件开发人员编写和编译企业 bean 需要的 java 源代码, 为企业 bean 指定部署描述符。 (3) j2ee 应用组装 由项目支持人员将 ejb.jar 和.war 文件组装成一个 j2ee 企业文档或者 ear 文件,同时进行下列配置:数据库连接池、邮件会话、url 连接、jms 队列和 主题、ejb 应用。 (4) j2ee 应用部署 安装部署人员设置和部署 j2ee 应用、管理 j2ee 应用运行的主机和网络基 础设施、检查运行环境,设置安全属性、设置事务控制和指定数据库连接池。在 设置期间, 部署人员按照应用组件提供者提供的说明指定安全设置和指派事务属 性,并生成目标容器特定的类和接口。 2.4 企业级应用系统体系结构分析 当前,随着互联网技术的高速发展,企业迫切需要能够在 internet 上高效地 构建高质量、高可靠、易部署、易维护的应用系统来提升企业的核心竞争力。对 于我们开发人员来说,如何构建企业级应用系统来帮助企业应对程序设计效率、 可靠性、可用性、安全性、可扩展性、高度集成性等多方面的挑战是一个非常严 峻的课题。一个理想的企业级应用系统平台应该具备下列特点:开发、部署和维 护的有效性;系统运行的健壮性和稳定性;具有故障恢复能力;可以同时支持数 南京航空航天大学硕士学位论文 9 百用户;能够处理海量数据;具有高安全性;数据的高可用性;可以快速开发和 部署新的应用程序;简化组件重用;支持行业标准和通用编程接口;可以适用于 大、中、小各种规模的应用系统8。目前企业应用系统广泛采纳的是基于 web 的多层 b/s 体系结构,参见图 2.5。 客户端浏览器 web服务器(集群) 应用服务器(集群) http 数据库服务器 企业其他服务器 图 2.5 多层 b/s 企业应用系统结构 这种体系结构具有以下优点: (1)多层结构将业务的处理分散到不同的服务器上,在时间点上各个模块 可以并行处理,在空间上有不同位置的服务器处理应用,分散了各个服务器的压 力,使得整个系统具有更大的承载性。 (2)多层结构增强了系统的可扩展性。因为服务器在物理上是分布的,系 统可以自动调节各个服务器上的负载平衡,但是这个对于客户端是透明的,设计 人员可以根据需要进行服务的扩展。 (3)多层结构提高了系统的可重用性和可维护性。因为系统是按照组件的 模式进行组装的,这样在进行维护的时候,往往只需要修改相应的组件内部的代 码,对于企业业务需求的变更适应能力很强。 2.5 本章小结 本章首先对 j2ee 平台的相关技术做了分析研究,分析了它的多层模型结构 及其各自功能特点,介绍了 j2ee 框架系统的容器的思想和 j2ee 平台的企业级 开发方法与流程,最后分析讨论了当前企业级应用系统的体系结构。 基于 j2ee 平台 的 mvc 增强技术研究及其应用 10 第三章 软件设计模式研究及 mvc 模型 随着面向对象技术的成熟和广泛使用,软件复用在一定程度上已经有所解 决,但是与此同时,对软件复用的要求也越来越高。在目前主流的软件设计中, 设计人员不是将所有问题都从头开始, 而是尽量利用现有的或者以前使用过的解 决方案,我们将这些面向对象的软件设计经验叫做设计模式。设计模式可以系统 地命名、解释和评价面向对象系统中重要的和重复出现的设计,使用设计模式, 设计人员可以设计出复用性和灵活性好的系统, 人们可以简单方便地复用成功的 设计和体系结构4。 但是如何合理地创建多层体系结构是个难点, 为了便于维护、 易于扩展,我们需要一个将 web 层进行表现逻辑、业务逻辑、控制逻辑分离的 框架,这就是 mvc 模型框架。 3.1 统一建模语言 uml 3.1.1 uml技术分析 统一建模语言(unified modeling language)是由 grady booch、ivar jacobson 和 james rumbaugh 发起,在 booch 方法、oose 方法和 omt 方法的基础上发 展而成的一个面向对象分析和建模语言。在 1997 年 11 月 17 日被 omg(object management group)接受为国际标准21。它在上述三个方法的基础上引入了一 些新的理论,比如,模板类型、标记值、限制、线程、进程、分布、并发、模式 /合作、活动图、精练、接口、构件以及对象约束语言 ocl(object constraint language)8。 作为一种建模语言,uml 定义包括语义和语法两部分。uml 的语义描述基 于 uml 提供的精确的元模型(meta-model)的定义。元模型是定义和构造 uml 模型的必要手段和描述方法,它使得 uml 所有元素在语法和语义上都可以使用 通用的方法描述, 并且在语义上可以消除不同表达方法造成的不一致情况。 uml 语法定义了 uml 的概念、元素、符号表示法以及用法,为开发者以及开发工具 使用这些图形符号和文本语法进行建模提供了标准和规范21。 uml 提供了五类图进行描述32: 第一类是用例图,用来从用户角度描述系统功能,同时指出各个功能的操作 者。在 uml 中,一个用例图由一系列角色和用例组成。 第二类是静态图, 包括类图、 对象图和包图。 类图描述系统中类的静态结构, 静态关系, 在系统的整个生命周期都有效, 包括类的定义和类之间的关系 (关联、 继承、聚合) 。对象是类的实例,对象图与类图具有相同的标志,但是对象图显 示了类的多个实例。同时,和对象一样,对象图也是有生命周期的。而包图用来 南京航空航天大学硕士学位论文 11 描述系统的分层结构,管理系统规模的复杂性。 第三类是行为图,描述系统的动态模型和组成对象之间的相互关系,包括类 的状态图和活动图。 状态图描述类的对象的所有可能状态以及时间发生时状态的 转移条件。比如,受外界环境影响后,其行为可能会发生改变的类,我们就需要 用行为图来表示这些行为及其相互关系。 活动图描述满足用例要求所要进行的活 动以及活动间的约束关系,用来识别并发活动。 第四类是交互图,描述对象之间的交互关系,包括顺序图和合作图。顺序图 显示对象之间的动态协作关系,合作图虽然也描述对象间的动态协作关系,但是 还显示对象以及它们之间的关系。进一步说,合作图强调对象间的连接关系,顺 序图强调对象间交互动作的时序关系。 第五类是实现图,包括构件图和配置图。构件图描述代码构件的物理结构和 各个构件之间的依赖关系。构件包含类的逻辑和实现方面的有关信息。配置图定 义系统中软、硬件的体系结构,描述实际的计算机以及它们之间的连接关系,显 示连接的类型和构件之间的相互依赖性。 uml 中,用例图、类图、包图、对象图、构件图和配置图用来建立系统的 静态模型,属于静态建模机制;状态图、活动图、顺序图和合作图用来建立系统 的动态模型,属于动态建模机制。 3.1.2 uml组成元素 uml语言强调模型的可视化,对软件系统的静态结构、动态结构、相互的 联系等,都定义了相应的图形符号。将这些图形符号按照一定的方式组合起来, 形成了能够描述系统的uml图11。 在uml中定义了一些在各种图中常用的元素, 例如name(名字)、label(标签)、expression(表达式)、note(注释)等,并给出它们的 表示符号。 用例图(use case diagram) 用例是 uml 的一个重要模型元素,它定义和描述了系统的外部可见行为, 是分析、设计直到组装、测试的重要依据,它是统一开发过程 rup(rational unified process)的驱动因素19。 用例图包括角色、系统边界、用例和角色与用例间的关联,图 3.1 展示了专 业技术职务申报模块的用例图: 在 uml 中角色用稻草人图符来表示, 所有的用例都放置在系统边界内, 表 明它属于一个系统,代表了系统向用户提供的服务或功能。角色则放在系统边界 的外面,表明角色并不属于系统,它代表系统的用户,包含人和其它系统,但是 角色负责直接或者间接驱动相关用例的执行。在华东理工大学人事系统的项目 基于 j2ee 平台 的 mvc 增强技术研究及其应用 12 图 3.1 专业技术职务申报用例图 中,一个用户可能会有几个角色,一个角色可能会有几个用户。比如,一个用户 是教师身份,但是他可能是系统管理员,也可能是人事处领导。某个角色的存在 是因为该角色与系统具有交互行为,同时需要注意,角色是一个类,而不是类的 实例。定义了一个角色,实际上就是定义了一个类,所以我们需要在角色之间引 入类的继承关系,通过定义某个抽象角色来简化角色的定义。 用例描述角色可以感受到的完整的功能,在 uml 中,用例定义为: “由系 统执行的一个动作序列,并能产生可观察的结果值给某个特定的角色” 。25动作 包括与角色间的通讯、执行计算、系统内部的工作等等。用例具有三个特征: ? 用例通常由某个角色来驱动(启动)执行; ? 用例把执

温馨提示

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

评论

0/150

提交评论