(计算机应用技术专业论文)面向领域工程的安全生产监管软件的研究与应用.pdf_第1页
(计算机应用技术专业论文)面向领域工程的安全生产监管软件的研究与应用.pdf_第2页
(计算机应用技术专业论文)面向领域工程的安全生产监管软件的研究与应用.pdf_第3页
(计算机应用技术专业论文)面向领域工程的安全生产监管软件的研究与应用.pdf_第4页
(计算机应用技术专业论文)面向领域工程的安全生产监管软件的研究与应用.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)面向领域工程的安全生产监管软件的研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 随着计算机技术发展和应用的不断深入,软件规模及复杂性的不断提 高,对软件的各方面的要求的不断提高,如何不断提高软件产品的质量和软 件开发的效率成为当前迫切需要解决的问题。借鉴其它传统工业的发展经 验,软件复用作为解决软件危机的有效途径,越来越得到广泛的重视。为进 一步提高软件重用率,本文将集中考虑一个特定的领域安全生产监管软 件领域。安全生产监督管理软件中一方面存在普遍的相似性,另一方面可变 性也是该领域的一个重要特点。如何有效的刻画领域共性和变化性,提取高 可重用的领域构件,成为领域工程的研究热点。 本文采用面向特征的领域分析方法对该领域进行分析,用特征来描述领 域的可变性和不变性。针对安全生产监管软件领域特征模型研究展开,分析 了安全生产监管软件领域中若干样本系统,阐明了安全生产监管软件领域中 ;勺共性和变化性,建立了该领域的特征模型和四层体系结构的软件架构,将 u m l 建模技术和e j b 构件技术分别应用到该领域设计和实现过程中,给出了 基于叮b 技术的部分领域构件的实现,最后通过领域软件中的一个典型实例 江西安全生产监督信息管理系统,说明领域构件的重构、组装、部署过 程,如何实现领域内的软件复用。 安全生产监管软件领域工程的实施为以后的领域软件复用奠定了基础, 将大l 晤度减少软件开发的重复工作,对其它领域基于构件的软件开发具有一 定的借鉴意义。 关键词:安全生产监管,领域工程,面向特征领域分析方法,构件 a b s t r a c t w i t ht h e r a p i de x t e n s i o no fc o m p u t e ra p p l i c a t i o nd o m a i na n dc o n t i n u o u s i n c r e a s eo fs o f t w a r ec o s ta n dc o m p l e x i t y , t h er e q u i r e m e n t si nv a r i o u sa s p e c t so f t h es o f t w a r eh a v eb e e ni m p r o v i n g h o wt oc o n t i n u a l l yi m p r o v et h eq u a l i t yo f s o f t w a r ep r o d u c t sa n dt h es o f t w a r ep r o d u e t i v i t yh a sb e c o m ea nu r g e n tt oa d d r e s s i s s b e l e a r nf r o mt h ee x l ) c r :i e n c eo f o t h e rt r a d i t i o n a li n d u s t r i e s ,s o f t w a r er e u s ea s a l le f f e c t i v ew a yt os o l y es o f t w a r ec r i s i sh a sb e e nm o r eb r o a da t t e n t i o n t o f u r t h e re n h a n c et h er a t eo fs o f t w a r er e u s e t h i sp a p l e l w i l lf o c u so nas p e c i f i c d o m a i no fa d m i n i s t r a t i o no fw b r ks a f e t ys o f t w a r e t h e r ei sau r d v e r s a i s i m i l a r i t yi nt h ed o m a i n h o w e v e r , v a r i a b i l i t yi nt h i sd o m a i ni sa l s oa ni m p o r t a n t f e a t u r e h o wt oe f f e e t i v e l yd e p i c tt h ev a r i a b i l i t ya n di n v a r i a n c ea n dh o wt o e x u a c tt h ed o m a i nc o m p o n e n tb e c o m e sah o ta r e ao f d o m a i ne n g i n e e r i n g m sa r t i c l ea n a l y s i st h ed o m a i no fa d m i n i s t r a t i o no fw b r ks a f e t y 谢t h f e a t u r e 0 r i e n t e dd o m a h aa n a l y s i sm e t h o d f e a t u r ei su s e dt od e s c r i b et h e c h a r a c t e r i s t i c s :o ft h ev a r i a b i l i t ya n di n v a r i a n c eo ft h ed o m a i n b a s e do nf e a t u r e m o d e lo fa d m i n i s l r a f i o no fw b r ks a f e t y , a n a l y s i st h ec h a r a c t e ro fs a m p l e s s y s t e r no fd o m a i l le x p l a i n e dt h ei n v a r i a b i l i t ya n dv a i l a b i l i t yo ft h ed o m a i n , e s t a b l i s h e df e a t u r em o d e lo fa d m i n i s t r a t i o no fw o r ks a f e t ya n ds o f ts t r u c t u r e w i t hf o u rt i e s u m lm o d e l i n gt e c h n o l o g y , a n de mc o m p o n e n tt e c h n o l o g yw a s a p p l i e dt ot h ep r o c e s so fd e s i g na n di m p l e m e n t a t i o no ft h ed o m a i n a tl a s t ,a t y p i c a ls a m p l eo fd o t n a l nw a sg i v e nt os h o wt h ep r o c e s so fc o m p o n e n t a s s e m b l ya n dd e p l o y m e n t ,a n dh o w t oa c h i e v et h ep u r p o s eo f s o f t w a r er e u s e t h ea p p l y i n go fd o m a i ne n g i n e e r i n gm a k e sf o u n d a t i o no fs e t r a r er e u s e b a s e do nc o m p o n e n ti na d m i n i s t r a t i o no fw o r ks a f e t yd o m a i n t h ec o m p o n e n t g a l la v o i dm u c hd u p l i c a t e dw o r ka n da l s op r o v i d e sar e f e r e n c ef o rs o f t w a r er c u s e b a s e do nc o m p o n e n ti no l e rd o m a i n s k e y w o r d s :a d m i n i s t r a t i o no fw o r ks a f e t y , d o m a i n e n g i n e e r i n g , f e a t u r e o r i e n t e dd o m a i na n a l y s i s ,c o m p o n e n t 图表清单 图2 - 1e j b 体系结构8 图3 1 领域工程构成图1 6 图3 2 系统功能性特征的静态关系1 9 图3 3 特征建模过程2 0 图3 - 4 面向特定领域的软件开发模型2 2 图4 1 领域构件提取原理图领域分析2 3 图4 2 安全生产监管软件领域场景图2 4 图4 3 领域服务特征模型2 5 图4 - 4 领域用例模型2 5 图4 5 企业申报服务特征模型2 6 图4 6 企业信息管理服务特征模型2 7 图4 7 应急救援管理服务特征模型2 8 图4 8 企业地理信息管理服务特征模型2 9 图4 9 安全生产知识管理服务特征模型一j 3 0 图4 1 0 安全生产监管软件领域框架结构3 2 图4 一u 企业信息管理用例3 5 图4 一1 2 企业审批活动图3 4 图4 - 1 3 企业信息管理类图7 3 5 图4 一1 4 框架、插槽与钩子的关系二3 6 图4 - 1 5 门面模式一4 0 图4 一1 6 访问对象模式4 l 图4 1 7 江西省安全生产监督管理系统框架结构4 3 图4 1 8 江西省安全生产监督管理系统构件图4 4 图4 1 9w e b 控制台界面4 6 图4 - 2 0 系统主界面4 7 图4 2 1 企业信息管理窗口4 7 图4 2 2 企业地理信息管理窗口一一4 8 表4 - 1 领域词汇表3 1 表4 2 地图操作的页面标签3 7 表4 3 企业基本信息属性表3 8 表4 4 库房实体属性表3 9 表4 5 审批组件操作表3 9 表4 6 查询统计组件操作表4 0 表5 一lb j s j a r x l l l 文件内容4 5 v 硕士学位独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取 得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中 不包含其他人己经发表或撰写过的研究成果,也不包含为获得或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名 签字日期汕夕年石月z ,日 学位论文版权使用授权书 本学位论文作者完全了解江西师范大学研究生院有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阗和倍阅。本人授权江西师范大学研究生院可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 签字日期珈而年6 黪 擀呐翩抖耪 面向颁域工程的安全生产监管软件的研究与应用 1 1 研究背景 第1 章绪论 随着计算机的广泛应用和企业信息化进程的快速发展,人们已经在各个 领域开发了大量的系统等软件,对某一特定领域的软件可能存在相似甚至相 同的功能,在同一领域内重复大量相似甚至同样的工作。在安全生产监督管 理软件这方面,随着我国的安全生产监督管理的力度不断加大,各省市安全 生产监督管理局纷纷建立安全生产监督管理系统辅助办公,由于各地区的安 全生产监督管理工作具有很多相似性,从而监管软件也具有很大的共性,每 一个监管软件都从零开始进行开发,存在很大的重复性工作。同时传统的面 向应用的软件开发模式不能迅速相应和适应市场及用户的需求变化。如何减 少重复性工作,提高软件复用率。更好的适应市场和用户的变化性,成为当 前迫切需要解决的问题。 近年来,随着人们对软件复用的认识加深,出现了一些具有影响力的领 域工程方法,为面向领域的软件开发提供了切实可行的途径。本文以部分省 市安全生产监督管理系统样本系统作为分析背景,建立安全生产监督管理领 域特征模型、领域构件。借助领域构件,建立了一个典型的安全生产监督管 理系统江西安全生产监督管理系统。 1 2 软件复用 软件复用的基本思想就是放弃那种原始的、一切从头开始的软件开发方 式,而是利用复用,由公共的可复用构件来组装新的系统。软件危机的出现 使得人们重新审视软件结构和生产方式,将更多的精力研究如何通过软件复 用,消除包括软件分析、设计、实现、测试等开发过程中的重复劳动,提高 软件生产效率,避免由于重新开发可能引入的错误,从而可以不断提高软件 产品的质量不断提高软件产品的质量和软件开发的效率。借鉴其它传统工 业的发展经验,软件复用技术是解决软件危机的有效方法。 1 9 6 8 年,软件复用的思想首次出现在m e l l r o y “大量生产的软件构件” 论文中首次提出,其目的在于探索利用。为了复用目的而设计的软件成分” 第1 页 面向领域工程的安全生产监管软件的研究与应用 生产软件的过程。在此之前,子程序的概念也体现了复用的思想。但其 出发点是为了节省当时有限的内存资源,而不是为了让程序设计人员从重复 烦琐的工作中解脱出来。 8 0 年代中期,人们认识到复用是优秀的软件设计的关键因素之一,并且 软件复用己在子程序库、报告生成器、编译器的编译器等方面取得进展,还 认识到在软件复用实施中管理因素非常重要。当时工业界复用软件的主要手 段是复用整个软件。 8 0 年代后期,软件复用领域取得一些实用成果,软件复用进人初步实用 期f 2 i 。各厂商开发了许多支持复用的软件系统。从实现角度看,9 0 年代以 前,软件复用主要以采用非面向对象技术来实现,复用的效果则主要软件生 产率和软件质量为标准来加以衡量。与此同时,软件复用的理论研究方向也 发生了根本性的变化,人们不仅研究技术问题,也开始研究非技术问题。人 们在8 0 年代后期已认识到管理问题是提高复用效率、发挥复用潜力的关键, 管理问题比技术问题更为复杂 9 0 年代初期,软件复用的实践有三个趋势,一是在软件界将软件复用的 实践惯例化、用户化,不仅要考虑技术的因素,更要考虑管理的因素;二是 将复用技术集成到软件开发过程中,并且研究软件过程形式化的问题;三是 领域分析标准化,开发支持领域分析的方法和工具,。 1 3 领域分析方法 随着领域工程的不断发展,出现了很多领域分析方法,本文列出以下三 种具有代表性的领域分析方法; ( 1 ) 、o r g a n i z a t i o nd o i n d e l i n g ( o 嗍) 浯1 : o d m 方法是s t a r s 项目的一个工作产品,由m a r ks i m o s 正式提出。是进行 领域分析和建模工作的较为通用的一种方法。该方法包括一套结构化的工作 产品、一个可裁剪的过程模型、一套建模技术和指导方针。o d m 方法强调以 领域内不同利益相关群体为核心,通过有效地团队合作进行领域分析与设计 工作。0 d m 方法既支持描述性的建模方法,也支持说明性的建模方法。利用 描述性建模说明领域术语、检验己存在系统、了解需求、发现关于采样标本 的共性与差异,利用说明性建模描述有关功能性的决策以及这些决策的变化 范围。 第2 页 面向领域工程的安全生产监管软件的研究与应用 ( 2 ) 、f e a t u r eo r i e n t e d d o m a i nm o d e l i n g ( f o d a ) : f o d a 方法是由s e i 开发的一种领域分析方法,该方法强调对领域内应用系 统的共性或个性特征进行标识。这些特征是领域用户或领域专家对领域的各 个侧面或特性的认识。通过这些特征引导领域产品的生产和定义。f o d a 方法 能够充分体现用户所希望满足的应用需求功能和体系结构,支持功能和体系 结构层次的复用,同时领域内特殊的应用将作为领域产品的细化进行开发。 ( 3 ) 、d s s ad o m a i na n a l y s i sc 7 】: 目前,有许多研究机构在不同领域从事d s s a ( d o m a i ns p e c i f i cs o f t w a r e a r c h i t e c t u r e ) 领域分析方法的研究和实践工作,已经形成了一些基于d s s a 的领域分析方法。一般来说,d s s a 领域分析方法可以分为三个阶段:一是建 立领域开发环境,通过领域分析构造各种形式的领域模型和一个基于构件的 体系结构;二是建立特定领域应用环境,在领域开发环境基础上利用领域体 系结构通过体系结构定义语言定义一个包含模块之间交互信息的d s s a 。开发 满足d s s a 的基于构件的原型系统:三是建立应用实施环境,利用原型系统及 d s s a 开发应用系统。 1 4 本文的组织结构 本文主要研究面向领域工程的安全生产监管软件的应用,文章的组织结 构如下: 一 。 第一章绪论。从安全生产监管软件的背景出发,引入了软件复用和领域 工程的思想。并阐述了论文将要研究的主要内容。 第二章阐述了软构件技术相关技术。介绍了构件定义、要素、模型以及 构件库等概念,对e j b 技术进行了详细的讨论,为实施领域实现提供切实可 行的途径 第三章详细阐述了领域工程和领域工程的实施过程、面向特征领域分析 方法等相关技术。 第四章按照领域工程的实麓步骤,分别从领域分析、领域设计、领域实 现的角度进行阐述。采用面向特征的领域分析方法,分析安全生产监管软件 领域上下文,给出了企业申报特征模型、企业信息管理特征模型、应急救援 管理特征模型、企业地理信息管理特征模型、安全生产知识特征模型。对领 第3 页 面向领域工程的安全生产盟管软件的研究与应用 域可变性进行了讨论,提出四层体系结构的领域框架。对企业信息管理构件 的实现进行了阐述。给出了领域内的一个典型实例江西安全生产监督管 理系统。介绍它的产生背景,最后从系统框架结构、构件组装等方面介绍了 基于构件的江西安全生产监督管理系统,给出了系统的总体框架,并对各个 模块进行了简单的阐述,最后简单地介绍了j b o s s 应用服务器以及如何组装 构件并部署到应用服务器。 第五章中对研究的内容进行了总结,并对以后的工作进行了展望。 1 5 本人的主要工作 本文首先论述了软件复用的基本理论和思想以及软件技术的关键问题, 随后介绍了领域工程方法及基于构件的领域分析方法,采用面向特征的领域 分析方法和面向特征的领域建模技术,建立安全生产领域的领域上下文分析 模型、领域模型,利用e j b 构件技术实现领域构件,最后采用构件技术实现 了领域内的一个实例二- 江西安全生产监督管理信息系统。本人在论文中的 主要工作体现在以下方面: ( 1 ) 、从众多的安全生产监管系统样本的分析讨论中,确立了安全生产监管 软件领域,随后围绕该领域展开分析。 ( 2 ) 、将构件技术与领域工程方法相结合,并采用了面向特征的领域工程方 法和u m l 建模技术解决方案,对该领域进行分析和建模。并针对领域的可变 性进行了讨论,提出了问题的解决方案。 ( 33 、按照领域工程的实施步骤( 领域分析、领域设计、领域实现) ,给出 了安全生产监管软件领域的实施过程。 ( 4 ) 、采用e j b 构件技术对部分领域构件进行了实现,对基于领域构件的江 西安全生产监督管理信息系统进行了阐述 第4 页 面向领域工程的安全生产监管软件的研究与应用 2 1 构件的定义 第2 章构件技术 构件技术是支持软件复用的核心技术,是近几年来迅速发展并受到高度 重视的一个学科分支。目前,对于什么是软构件尚未有统一标准的定义。从 广义上来讲,软构件可以是需求分析、设计、代码、测试用例、文档或软件 开发过程中的其它产品,而从狭义上来讲,软构件又称构件、元件,是指可 方便地插入到语言、工具、操作系统、网络软件系统中的一种独立可重用的 二进制形式的代码和数据。 软件构件并不是近几年才提出的概念,对软件构件的认识经历了几个不 同的阶段。2 0 世纪6 0 年代末至8 0 年代初,软件构件主要指可复用的程序代码 片断,一般称为代码件,这一时期软件生产考虑的主要阿题是如何充分地利 用己有的源程序代码、子程序库和类库来提高软件开发的效率。2 0 世纪9 0 年代,软件构件被认为包括分析件、设计件、代码件、测试件等概念。2 0 世纪9 0 年代后,构件的内涵开始得到加强,聚合性、独立性和复用性得到进 一步提高,此时的构件软件的定义得到了完善。目前构件有如下定义l b 】: 一个非平凡朐、几乎独立的、可替换的系统组成部分,它在定义完善的 体系结构环境中实现某一清晰的功能。他们认为,一个构件必须遵照和 实现一组接口。- - p h i l i p p ek r u t c h e n 。 一 运行时软件构件是一个可动态绑定的、含一个或多个程序的软件包,它 作为一个独立单位,通过运行时可辨别的文档化接口加以管理和存取。 一g a r t n e rg r o u p 。 一个商业构件是一个“自治”的商业概念或商业过程的软件实现。它由 能将该业务概念表示、实现并部署成一个大的商业系统。- - w o j t e k k o z a c z y n s k i 。 现在采用较多的是由面向构件程序设计工作组s z y p e r s k i 等人给出的定 义,在1 9 9 6 年的面向对象程序设计欧洲会议上,他们将软构件定义为“软件 构件是一种组装单元,它具有规范的接口归约和显式的语境依赖。软件构件 可以被独立地部署并由第三方任意地组装【9 】。” 从s z y p e r s k i 等人的定义中,我们可以看出构件具有接口归约、显式的 第5 页 面向领域工程的安全生产监管软件的研究与应用 语境、第三方组装三个主要方面。构件通过接口相互连接,接口归约扮演着 双重角色,既是提供者的实现依据,又是消费者使用接口的依据。显示的语 境就是要求使构件工作正常,必须说明其对部署环境的具体要求,这些要求 包括构件模型和定义构件部署、安装和激活规则的构件平台。构件必须是可 被第三方独立部署、独立交付的基本单元 2 2 构件的要素 构件必须具有五个基本要素i i q : 规格说明。它建立在接口概念之上,构件要求有一个关于它所提供的服 务的抽象描述,以及作为服务的客户方和提供方的契约。构件规格说明通常 不仅仅是简单地定义一系列可用的操作,它还描述了在特殊情况下对构件所 期望的行为,约束构件允许的状态,并且指导客户方与构件进行相应的交互。 在某些情况下这些描述可能使用了某种形式化符号,但大多数情况下它们都 是非形式化定义的。 , 一个或多个实现。构件必须被一个或多个实现所支持。这些实现必须符 合规格说明。然而,规格说明允许构件在内部操作上很大的自由度。在这种 情况下,实现者可用选择任何一种被认为是合适的实现方法。惟一的限制是 要满足在规格说明中定义的行为。在很多情况下,这个灵活性还包括对于编 程语言的选择实际上,这个行为可能仅仅是某个现存的系统或成品应用程 序,它们被包装起来,以使它们的行为符合在构件标准中定义的规格说明。 受约束的构件标准。软件构件存在于一个定义好的环境中,或称为构件 模型。构件模型是一套支持软件的服务,加上为了使构件利用这些服务而必 须遵守的一套规则。已有的构件模型包括m i c r o s o f t 的c o m + 、s u n 的j a v a b e a n s 和e n t e r p r i s ej a v ab e a n s ,以及o m g 的c o r b a 构件标准。这些构件 模型中的每一种都解决了诸如一个构件怎样使其它构件可用获得它的服务、 构件怎样被命名以及怎样在运行时发现新构件和它们的服务这样的问题。此 外,那些企业级系统的构件模型还提供额外的功能,这些功能包括像事务管 理、永久化和安全性等的标准方法。 包装方法。构件可以按不同的方式分组来提供一套可以替换的服务。这 个分组就称为包。一般地,当从第三方获取构件的时候交易的就是这些包。 它们代表了必须安装在系统中的功能单元。为了使这个包可以使用,在构件 模型中要有某种对包的注册机制。例如在m i c r o s o f t 环境中,这是通过一种 第6 页 面向顿域工程的安全生产监管软件的研究与应用 特殊已安装构件的目录来实现的,这个目录称为注册表。 部署方法。一旦成品构件安装在一个运行环境中,它们就将被部署。这 是通过创建构件的可执行实例并且允许与它发生交互来实现的。请注意,一 个构件可以部署很多实例。每一个实例都是独立的并且在它自己的进程中执 行。例如,在同一台计算机上可能会有一个构件的多个独立的实例在运行, 它们在处理不同种类的用户请求。 2 3 e j b 构件模型 s u n 对e n t e r p r i s ej a v ab e a n 的定义是:e j b 是用于开发和部署多层结 构的、分布式的、面向对象的j a v a 应用系统的跨平台的构件体系结构。使 用e j b 结构编写的应用程序具有可扩展性、交互性以及多用户安全特性,这 些应用只需写一次,就可以发布到支持e j b 规范的服务器平台上。它具有以 下三大优点l 】:, 它是被业界认可的。很多大型i t 供应商都支持e j b 技术规范,它的广泛 使用,使得我们可以获得基于不同i t 供应商开发的软件组件,只要不同 供应商的产品符合e j b 就是规范,就是可以互操作。 移植性容易实现。e j n 规范是公开发布的,并且每个人都能得到它。因 为e j b 是一种标准,所以您不必依赖于某一个单一的、孤立的供应商的 体系结构。 一 快速应用系统开发。因为您从应用服务器小可以获得中间件,所以应用 系统的构建会快很多,同时也会使应用系统开发变得相对简单 2 3 1e j b 组件框架 e j b 组件模型主要包括客户端( c l i e n t ) 、服务器( s e r v e r ) 、容器 ( c o n t a i n e r ) 、企业b e a n 实现类、h o m e 接口和r e m o t e 接口。图2 1 是组件 模型的体系结构【“j 。 第7 页 面向镘域工程的安全生产监管软件的研究与应用 图2 1 啪体系结构 e b 客户端:使用j n d i 查找本地接口引用。并且通过本地e j b 接口与远 程e j b 接口充分利用所有的基于e j b 的功能。 本地接口:定义了可以由同一个e j b 容器中其它b e a n 所使用的b e a n 业 务方法,即b e a n 向运行在同一个j v m 中的其它b e a n 所提供的业务方法。它 允许b e a n 实现交互,而无需分布式对象协议的开销,从而提高其性能。 本地h o m e 接口:定义了可以由同一个e j b 容器中的其它b e a n 所使用的 “。生命周期方法,l i p i d 建、删除、查找b e a n 的生命周期方法。 远程接口:为f , j b 提供特定的业务客户接口方法。相应的s t u b 负责处 理远程接口请求并且为客户安排对远程接口的响应。 远程h o m e 接口:定义了可以由e j b 容器之外的应用所访问的b e a n 的生 命周期方法。 b e a n 实现:由开发者所实现的e j b 应用组件,用来提供特定业务方法的 激发、创建、删除、查找、激活、钝化、数据存储与加载逻辑。 e j b 容器:b j b 容器对e j b 应用程序是完全透明的,但在支持b e a n 操作 方面起着关键性的作用。e j b 的任务是提供企业级应用程序的业务逻辑组 件,它被部署在e j b 容器( c o n t a i n e r ) 中,而由容器提供相关的系统级服务。 诸如:组件池和寿命周期管理、客户端会话管理、数据库连接池、事务管理、 验证与访问控制和持久性。通过在部署描述项中声明b e a n 需要的持久性支 第s 页 面向壤域工程的安全生产监管软件的研究与应鹰 持,可以让容器管理e j b 的持久性。 2 3 2e j b 组件类型 e 3 b 技术规范将e j b 分为三类“7 ;会话b e a n ( s e s s i o nb e a n ) 、实体 b e a n ( e n t i t yb e a n ) 和消息驱动b e a n ( m e s s a g e d r i v e nb e a n ) 。 会话b e a n ( s e s s i o nb e a n ) ,会话b e a n 模拟商务过程对象。它们就像动 词一样它们执行动作。这些动作包括进行加法运算、访问数据库、调用一 个l e g a c y 数据系统或其它企业级b e a n 。会话b e a n 根据是否支持应用程序 会话中客户的会话状态,又分为无状态会话b e a n ( s t a t e l e s ss e s s i o nb e a n ) 和有状态会话b e a n ( s t a t e f u ls e s s i o nb e a n ) 。无状态会话b e a n 包括类似 于过程的业务方法,它们只对在被调用时传递给它们的参数进行操作,而不 维护方法调用的业务状态:而有状态会话b e a n 封装业务逻辑和特定于某个 客户机的状态,它们维护方法调用的业务状态。状态保留在内存中,但并不 持久。 实体b e a n ,实体模拟商务数据。它们就像名词一样,因为它们代表数 据对象,即代表数据库信息的数据对象。会话b e a n 通过利用实体b e a n 来达 到业务目标。持久性是实体b e a n 的一个基本属性。e j b 规范有两种形式的 实体持久性b e a n 管理的持久性( b m p ) 和容器管理的持久性( c m p ) 。对于 代表关系数据库中的数据的实体b e a n ,b e a n 对持久性的管理意味着对数据 库访问的调用是直接通过j d b c 和s q l 语言实现的,这种方法很直接,但降 低了可移植性。容器对持久性的管理意味着b e a n 不受数据库调用的影响, 持久性由容器来实现,这种方法允许b e a n 的可移植性较高,不过对容器的 要求也较高。 消息驱动b e a n ,消息驱动b e a n 与会话b e a n 类似,因为它们也代表动 作。两者的不同之处在于您只能通过给那些b e a n 发送消息来调用它们,它 没有业务方法。为了将e 3 b 应用程序与面向消息的企业应用程序进行集成, e j b 2 0 将消息驱动b e a n 引入,可以对来自j a v am e s s a g es e r v i c e ( j 峪, j a v a 消息服务) 提供者的异步消息处理提供支持。e j b 2 1 扩展了消息驱动 b e a n 的定义,扶而可以支持任何与j z 既连接器体系结构1 5 兼容的消息系 统,而不仅仅是j a v a 消息服务。 第9 页 面向领域工程的安全生产监管软件的研究与应用 2 3 3e j b 角色 通过从需要执行的任务方面来考虑开发过程,e j b 架构简化了复杂的业 务应用程序的开发过程。该构架把e j b 应用程序开发、基础结构服务、应 用程序和集成,以及部署和管理问题。 按功能对这些任务进行分组,确定为6 个主要功能区域,每个区域负责 应用程序开发和部署过程的一个不同部分。为进一步简化问题,可以把每个 功能区域看作一个角色。6 个角色如下f 1 4 1 ; b e a n 开发者; 应用程序组装者; 部署者; 系统管理员; e j b 容器提供商; e j b 服务器提供商; : 一个角色可以由一个人担任。在某些情况下,一个人也可以承担多个角 色。例如,e j b 容器提供商和e j b 服务器提供商通常是同一个开发商。同 时一个程序员可以同时承担企业b e a n 开发者和应用程序组装者这两个角 色。 j 1 、b e a n 开发者 =, b e a n 开发者是编写和生产企业b e a n 的程序员,b e a n 开发者可以:为一 个生产企业b e a n 组件或者与企业b e a n 组成的应用程序的i s v ( 独立软件开 发商) 工作;在一个公司的企业环境中工作;是一个应用程序集成者。 e j b 提供者是个应用领域的专家。负责开发实现业务任务和逻辑实体的 可重用的e j b 。不必是系统级的程序专家,也不必考虑程序的事务并发性、 安全性、分布性等问题,这些问题都是由容器来处理或者提供这些服务 2 、应用程序组装者 应用程序组装者把企业b e a n 合并起来,成为一个更大的、可部署的应 用程序单元。某种应用上讲,应用程序组装这组合应用程序,标识一个应用 程序所需的部件,并规定它们怎样组合在一起以便应用程序能够成功地运 行 应用程序通常由许多组件组成;一个应用程序往往需要多个企业b e a n 来实现它的业务逻辑。除了企业b e a n 组件,应用程序往往还要求其它非企 业b e a n 部件。应用程序组装这必须识别出这些部件,将它们与企业b e a n 组 第1 0 页 面向领域工程的安全生产监管软件的研究与应用 合成应用程序。 与b e a n 开发者一样,应用程序组装者也是应用领域的专家。然而,应 用程序组装者必须熟悉企业b e a a 提供的功能,也就是e j b 的远程接口和主 接口,但是并不需要熟悉企业b e a n 的实现 3 、部署者 部署者的工作是在一个包含特定的e j b 服务器和容器的特定运营环境 中部署企业b e a n 。部署者接受b e a n 开发者或者应用程序组装者产生的一个 或者多个e j b - j 盯文件的企业b e a n 。然后,熟悉特定的e j b 容器和运行环境 的部署者,针对目标运营环境自定义这些b e a a 。最后,部署者在企业网上 的一个或者多个e j b 容器中,部署这些自定义的企业b e a n 或包含企业b e a n 的完整的组装好的应用程序。 在部署过程中,部署者必须解决b e a n 开发这声明的所有外部依赖,还 必须遵守应用程序组装者定义的应用程序组装指令。此外,部署者还要建立 应用程序的安全环境,把应用程序部署者定义好的暗渠角色映射到部署企业 b e a n 的运营环境存在的用户组和账户中。 4 、系统管理员 系统管理员配置、管理企业计算和网络基础结构,包括e j b 服务器和容 器。系统管理员还要负责企业的安全信息的各种映射。在大型组织中,系统 管理员可以承担多种安全角色。系统管理员还要关心所部署的应用程序,监 督已经部署的企业b e a n 应用程序在运行时保持良好的状态,并在应用程序 出现异常是采取相应的行动。 e j b 架构没有定义系统管理和监督的需求。系统管理员通常运用运行时 监视及e j b 服务器提供商提供的企业管理工具完成这些任务。 5 、e j b 容器提供商 e j b 容器提供商提供:企业b e a a 部署所需的部署工具:已部署的企业 b e a n 实例的运行时支持。 从企业b e a n 的角度看,容器是目标运营环境的一部分。容器运行库为 已部署的企业b e a n 提供了事务和安全挂历、客户网络分配、连接和线程等 资源的可伸缩管理,以及便于管理的服务器平台通常所需的其它服务。 容器提供商实现e j b 容器满足e j b 规范设定的功能需求。容器提供商 还可以实现e j b 容器。e j b 规范没有表明服务器和容器间的接口,也没有 规定提供商如何设计所需的功能。因此,容器提供商可以根据需要用e j b 容器和服务器实现所需的功能 第1 i 页 面向领域工程的安全生产监管软件的研究与应用 6 、e j b 服务器提供商 e j b 服务器提供商是分布式事务管理、分布式对象和其它更低级的系统 服务领域的专家。 f _ j b 架构假定e j b 服务器提供商和e 疆容器提供角色是同一个提供商, 因此没有定义e j b 服务器提供商的任何接口需求。f a b 规范描述了e j b 容 器和e j b 服务器之间的差别,说明了可以在一个先前存在的事务除了系统 基础上开发f a b 容器,而这个先前存在的事务处理系统就是所谓的e j b 服 务器。 2 4 构件库 软件构件库是一种组织、收集、访问与管理若干构件的手段,它由构件 库数据和构件库系统组成。构件库数据包括构件本身及其描述性信息和组织 性信息。这些信息总称为构件目录,其中描述性信息称为构件描述组织性 信息称为库信息模型。构件库系统由构件库框架和构件库工具组成。构件库 包含了大量信息,包括构件、构件描述信息、构件库数据模型和描述数据模 型的模型。构件库可以在d b m s 上实现其目录,在个形式化的配置管理系 统中保存构件。构件库技术的发展过程中。出现过多种不同形式的构件库, 主要包括i l s 。 、 ( 1 ) 子程序库和类库 高级程序语言编译器的开发商提供给用户的开发工具中一般都带有若 干子程序库,例如c 语言的库函数。类库是面向对象程序设计语言中不可缺 少的组成部分,例如微软的m f c ,s u n 的j a v a 类库等。一些面向某个领域的 通用子程序库也发挥了很大的作用,例如,数学程序库就是非常成功的子程 序库。它们是最早出现的构件库形式。 ( 2 ) 领域专用构件库 领域专用构件库用于存储和管理某一特定领域构件的构件库。例如商业 领域构件库、军事领域构件库等。 ( 3 ) 软件资产库 8 0 年代末9 0 年代初研究人员认为软件开发过程分析、设计、编码、测 试阶段一切有重用价值的软件成分都可以称为构件,构件也被称为软件资 产。软件资产库用于存储这些广义范围的软件构件软件资产库是十余年来 第1 2 页 面向领域工程的安全生产监管软件的研究与应用 构件库领域的研究重点,学界和业界对此做了大量的研究和实践工作,取得 了相当的成果。 ( 4 ) 具有完备构件检索系统的构件库 检索构件和获得构件是构件库的重要功能,构件检索系统是支持可重用 软件构件分类和检索的自动化工具。软件搜索引擎是近年来c 删s e i 的 s e a c o r d 等人研究和开发的一种构件检索系统,能够在i n t e r n e t 上自动查 找和搜集j a v a b e a n s ,a c t i v e x ,c o r b a ,e j b 构件,获得构件的u r i ,等相关信 息,并为之建立索引。 第1 3 页 面向顿域工程的安全生产盘譬软件的研究与应用 3 1 领域 第3 章领域工程 “领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能 区域“。领域指具有相似或相近软件需求的应用系统,这就是说领域是计算 机中的概念,有别于我们现实生活中的“领域”概念。我们可以通过三种判 断准则之一刻画领域7 l : 公共的专门技术,这种判断准则标识领域专门技术的区域,并试图通过 开发跨当前专门应用系统范围的软件满足其要求。这种判断准则关注的是生 产人员,可以作为领域专家的自然判断准则。 公共的设计,这种判断准则标识嵌入在某些通用软件资产中的问题解决 模式,并试图通过开发可以针对具体需要具体化的通用资产满足其要求。这 种判断准则关注的是产品,可以作为程序设计专家的自然判断准则。这种判 断准则下的领域与解决方案产品有关。 公共的市场,这种判断准则标识软件市场分块,并试图通过覆盖市场需 求范围的软件资产具体化开发满足其要求。这种判断准则关注的是消费人 员,可以作为( 市场开发) 经理的自然判断准则。这种判断准则下的领域与 业务逻辑和目标有关。 通过分析国内部分安全生产信息管理系统样本,从公共的技术、公共的 设计、公共的市场的角度考虑,这一类安全生产监管系统具有相似的用户、 技术、设计,根据这它们的共性,本文将这一组具有相似或相近软件需求的 应用系统所覆盖的功能区域定义为安全生产监管软件领域。当然,此领域内 的系统既有领域的共性的同时,也存在自身的特殊性。 3 2 领域工程 领域工程( d o m a i ne n g i n e e r i n g ) 是为识别和创建可重用构件而进行的活 动。领域工程成功的关键在于,必须将用为构造软件应用的构件的相似和不 同识别出来。领域工程对一领域中的系统进行分析,识别这此应用的共同特 征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模 第1 4 页 面向领域工程的安全生产监管软件的研究与应用 型,依据领域模型产生出领域中应用共同具有的体系结构,并以此为基础, 识别、开发和组织可复用构件,这样,当开发同一领域中的新应用时,可以 根据领域模型,确定新应用的需求规约,根据特定领域的软件构架形成新应 用的设计,并以此为基础选择可复用构件进行组装,从而形成新的系统l l l l 。 领域工程包括三个主要的阶段,包括领域分析、领域设计、领域实现,每一 个阶段解决一个问题。领域工程构成图如图3 1 所示,各阶段的主要活动 及结果如下: ( 1 ) 领域分析,这个阶段的主要目标是获得领域模型( d o m a i nm o d e

温馨提示

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

评论

0/150

提交评论