(计算机应用技术专业论文)基于ema方法的软件平台体系结构的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于ema方法的软件平台体系结构的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于ema方法的软件平台体系结构的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于ema方法的软件平台体系结构的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于ema方法的软件平台体系结构的研究与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)基于ema方法的软件平台体系结构的研究与实现.pdf.pdf 免费下载

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

文档简介

南京航空航天入学硕- b t q 市论文 摘要 随着软件开发方法的不断发展,特别在管理软件领域,对软件7 t ) e m - 法本身的 抽象和再理解程度在逐步提高。软件集成度和模型化的发展使软件产业丌始了新一轮 的社会分工分配组合。开辟软件丌发新方向的方法就是企业模型自动化方法。 以此为契机,企业模型自动化研究小组开展了对软件平台的设计和实现工作。 本文就是在现有的工作基i f l lt - ,充分理解软件的基本构成因素,从多种软件丌发方法 的构成分析入手,得出企业模型自动化方法的核心思想,并多方面进行了论证和浇明。 本文所讨论的企业模型自动化的软件平台分可执行平台和高层建模平台。首先 介绍软件平台的体系结构的设计思路并给出体系结构。以此为设计指导,小组实现了 可执行平台的部分功能。本文着重介绍了作者设计的w e b 服务模块和软件平台的组 织架构组件:服务引擎。对两部分的设计思想、实现类结构、数据设计和执行过程进 行了说明。 平台的上层是企业模型描述和解释平台,限于时间和能力,只部分实现了一些 工具。但本文设计了本平台上层建模的机制,在分析了企业建模方法和一些常见的建 模方法后,给出过程型企业建模方法和目标型企业建模方法。对不同的方法的设计也 给出了详细的论述和说明。 关键字:企业建模、企业模型自动化、模型驱动架构、智能体、平台架构 基于e m a 方法的软件平台体系结构研究与实现 a bs t r a c t w i mt h en e w d e v e l o p m e n t o fs o f t w a r ed e v e l o p i n gm e t h o d w ek n o wm o r ea b o u th o w t od e v e l o ps o f t w a r e t h ej o b sr e l a t e dt os o f t w a r ed e v e l o p m e n ta r er e d e f i n i n gw h e nw ef i n d s o f t w a r e sf u t u r ei sm o d e l d r i v e n w h a t b r i n g sa b o u tt h a ti se m a m e t h o d o u rt e a m sm a i n g o a li st os t u d ya n d c r e a t ea l le m a p l a t f o r m w es t a r to u rw o r kw i t h f i n d i n gt h em a i ne l e m e n t so fs o f t w a r e t h ea u t h o rg o tt h ee m a m e t h o d sc o r ei d e ab y a n a l y z i n g t h e s ee l e m e n t s r e l a t i o n s t h ep l a t f o r mh a st w ol a y e r s o n ei sa i le x e c u t a b l e l a y e lt h e o t h e ri s e n t e r p r i s e m o d e l i n gl a y e la f t e rd i s c u s s e dt h ea r c h i t e c t u r ed e s i g no fp l a t f o r m ,o u rt e a mr e a l i z ep a r t o ft h ed e s i g n e dw o r k t h i sp a p e rm a i n l yi n t r o d u c e sa u t h o r sw o r ko ns e r v i c ee n g i n ea n d w e b c o m p o n e n t sd e v e l o p m e n t t h e s ec o m p o n e n t s f u n c t i o ns t r u c t u r e s ,c l a s sm a p ,p a t t e r n s , p r o c e s so f e x e c u t i o n a r ea l lc o n c e r n e d l i m i tt ot i m ea n da b i l i t y , w eo n l y g i v et h ed e s i g n o f e n t e r p r i s em o d e l i n gl a y e r se x c e p t f o rs o m et o o l s b u ta u t h o rg i v et w ot y p eo fm o d e l i n gm e t h o d :p r o c e s sm o d e l i n ga n dg o a l m o d e l i n g s o m ed e t a i l sa i ea l s od i s c u s s e da b o u t t h e m k e yw o r d s :e m ,e m a ,m d a ,a g e n t ,p l a t f o r m a r c h i t e c t u r e 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进 行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外, 本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所 涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标 明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允许论文被查阅 和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文。 ( 保密的学位论文在解密后适用本承诺书) 作者签名:量叁 日期: 型芏:i 基于e m a 方法的软件平台体系结构研究与实现 e m a c i m s w f m c e r p o f b i z m d a o m g p i m p s m e j b r m o d p m v c j s p x m l s o a p r m i i d e f j d t u i u r l o 瓜 p a c v 注释表 e n t e r p r i s em o d e l a u t o m a t i c c o m p u t e rl m e g r a t e dm a n u f a c t u r i n gs y s t e m s w o r k f l o w m a n a g e m e n t c o a l i t i o n e n t e r p r i s er e s o u r c ep l a n n i n g o p e n f o rb u s i n e s sp l a t f o r m m o d e ld r i v e na r c h i t e c t u r e o b j e c tm a n a g e m e n tg r o u p p l a t f o r mi n d e p e n d e n tm o d e l p l a t f o r ms p e c i f i cm o d e l e n t e r p r i s ej a v ab e a n r e f e r e n c em o d e lf o ro p e nd i s t r i b u t e dp r o c e s s i n g m o d e l v i e w - c o n t r o l l e r j a v as e r v e r p a g e s e x t e n s i b l em a r k u p l a n g u a g e s i m p l eo b j e c t a c c e s sp r o t o c o l r o m o t em e t h o di n v o k e i c a md e f i n i t i o nm e t h o d j a v a d e v e l o p m e n tt o o l i n g u s e ti n t e r f a c e u n i f o t i nr e s o u r c el o c a t o r o b j e c t r e l a t i o n p r e s e n t a t i o n a b s t r a c t i o n c o n t r o l 企业模型自动化 计算机集成制造系统 工作流管理联盟 企业资源整合计划 开放商务平台 模型驱动架构 对象管理组织 平台独立模型 平台相关模型 企业j a v a 组件 丌放分布处理参考模型 模型一视图一控制器 j a v a 动态网页语言 扩展标记语言 简单对象访问协议 j a v a 远程方法调用 美国空军结构化分析法 j a v a 开发工具包 用户接口 统一资源定位 对象关系数据映射 表示一抽象一控制 南京航空航天人学硕十学何论文 第一章绪论 软件发展有两个方面的趋势: ( 1 ) 对现实抽象层次的提升,软件对现实世界的表达能力增强,软 件的表达能力越来越和人类的思维接近。 ( 2 ) 软件的核心理念被不断萃取出来。“数据+ 过程执行力+ 模型” 是应用型软件在现有计算机体系结构基础上的最基本的创建方式。 这两个趋势涵盖了应用软件的范畴,也表达了程序设计的基础原则。 企业模型自动化是软件发展到今天,在软件体系结构构件化,表达能 力高级化,构建方式模型化的趋势下,对目前的领域内软件进行集成 表达的一种方法论。这种方法论的基于上述两个论断。因而,采用企 业模型自动化方法论所做出的软件设计必然能在更广的范围,更深的 层次适应实际应用的需求。 1 1 企业模型自动化发展历程及现状 企业模型自动化方法作为方法论提出是近些年的事情。但其理论思 想的萌芽是从计算机进入应用领域,尤其是信息管理领域的时候丌始 出现的。 设计软件时会遇到一个哲学性的问题,现实世界和软件世界怎样沟 通? 针对这个问题,软件设计者提出了多种方法,每种思想也与时俱 进。在计算机刚进入应用时代时,软件设计是基于机器模型。由于程 序的能力有限,无法提供给开发者可以脱离机器物理环境的程序表达 方式。设计者为了能利用计算机能力,就必须将逻辑思维重新映射成 机器可以理解的表达方式,比如:可以将一次存款理解为某种特定c pl 基础上的一种加法运算。这是人对机器的妥协。这个时代的现实世界 对于计算机来说是个不可理解的世界。 技术的发展给人们的新的选择。新技术的基于逻辑的表达能力屏蔽 了各种各样的机器型号,提供了符合数学规范的逻辑表达语言。这时 设计者的工作就是:将具体应用映射为一系列具有特定规范的逻辑表 达式。让机器去代替人翻译这些表达式,从而实现了物理层面的封装。 为上层应用到计算机提供了种新的接口:逻辑接口。但现实世界呢? 基丁e m a 方法的软什平台体系结构研究与实现 如果从这些表达式上想看到现实世界是什么样子,可以看到的是对现 实世界的多层次多角度到数学逻辑语言上的相当晦涩难懂的描述。 计算机表达能力在经历了平台提升的技术跨越后,进入了集成化的 发展时期。这个时期产生了一种重要的观念,就是计算机应用设计中 的某些因素可以集成,从而构成聚合体。这个思想使计算机的表达能 力不仅仅限于表达式,更重要的是可以提供某些具有特定聚合体,这 些聚合体在设计者的眼中就变成了现实世界思维的载体。根据聚合体 可以对系统进行模块的切割和逻辑关系的归纳,这种方法可使没计者 能思考更多的东西,从而设计出更大的系统。对应于现实世界,软件 世界这时已有了一些类似的概念存在。但这些概念还没有被整理出来, 只能称之为现实世界鞠影子。 现在有很多人思考这个问题。大家都认同一点,那就是:当软件世 界的边界越来越广,也就是越来越靠近现实世界时,应用软件的能力 就越强。对软件世界进行现实世界类比建模的需求带来了软件设计的 一场革命:对现实世界进行软件世界的抽象,软件模型化! 在语言上,人们提出了和现实世界对应的语言,基于面向对象方法 的语言。“1 。这种语言的抽象能力提供给了一条可以直接把概念映射计 算机代码的道路。在体系结构上,提出了模型驱动体系结构。虽然这 种体系结构实现很复杂,但其能力足以把面向对象的设计后变成实际 可以执行的系统。在应用系统中,也已经大量使用模板,模型等抽象 概念。借以虚拟的组织模型,流程模型来进行系统规划直到开发。 企业模型自动化( e m a ) 就是基于这种发展潮流产生的一种对现实世 界的软件模型化方法。其基本思想是以模型对现实世界的信息管理工 作中的可归纳因素进行概念化,从而得到现实世界的模型化表达。但 并不像m d a 方法论那样直接将此模型应用到软件的研发中,将模型直 接转化为代码来形成可使用的软件系统。而是,通过对软件本身进行 分析和归纳,来创建出较强适应性和可塑性的模型自动化支持机制的 应用系统搭建环境,以此来完成软件的丌发。 企业模型自动化方法也是涉及范围相当广泛的软件架构设计方法, 其自身包罗了很多现有的软件开发模式,虽然e m a 方法的名称为人所 知的时间并不长。但它所包涵的思想的研究和所采用的技术在很早就 开始了。 在企业模型自动化的模型思想方面的探索有对企业模型、虚拟企业 南京航空航天大学硕士学位论文 建模等方法的研究。企业模型不仅是对现实企业的逻辑描述,也是领 域内企业信息系统设计的基础。依据企业模型可以进行企业信启、系统 的设计、整合以及改进。国内从9 0 年代开始,在c i m s 系统研究的背 景下开展了企业模型的研究。近l 0 年来,在管理、决策以及辅助制造 等多种软件中,企业模型得到了广泛应用。目的在该领域主要进行的 是企业模型的定义方法,动态重建和执行机制方面的研究1 。 在过程执行力的方面的主要探索可以被称之为工作流系统的研究。 i b m 等公司在2 0 多年前就开始了对应用系统的过程能力的抽象和模型 执行机制建立等方面的特性研究。现在的工作流系统创建方法已经成 为一种相当成熟的应用系统模式。国际工作流管理联盟组织w f m c 已经 为工作流系统提出了相当多的规范。 软件构建所涉及的模型问题也为人们所重视。先驱者不仅意识到了 模型的重要性,更从软件设计的各个方面进行模型的提取、分析和总 结。一些被归纳为软件规范,一些被归纳为设计模式1 ,还有一些涉 及数据的比归纳为数据建模方法。众多的软件设计模型给基于企业模 型自动化的方法的系统创建提供了基础 1 2 企业模型自动化的必要性 自上个世纪4 0 年代,软件从此走上了高速发展之路。不过,在全球 保持高速发展的背后,软件产业却也有驮色的一面。软件项目的成功 率非常低。如果说“成功意味着成本、进度、质量、特性集和创造利 润等方面均达到了客户期望”的话,那么只有l0 的软件项目取得了成 功。 不仅如此,在新的市场环境下,用户对软件需求的个性化更加强烈, 有两个表现:空间和时间上的个性化。“空问上的个性化”是指不同用 户对软件系统的需求是不一样的。例如,不同行业对e r p 系统的需求 是不一样的;同一行业的不同用户对e r p 的需求也不一样。“时间上的 个性化”是指同一用户在发展的不同阶段对软件系统的需求是不一样 的。例如,一个企业在实施管理软件系统之后一年,市场环境变了, 企业规模变了,其管理模式、组织机构、业务流程都要随之改变。管 理模式等的变化必然要求企业管理软件也必须随之变化。无法满足这 种“个性化”的需求,也使软件的满意度非常低。 上述情况心“是传统的应用软件丌发模式、目前软件产业基本矛盾的 1 基于e m a 方法的软什平台体系结构研究与实现 必然反映。现阶段软件产业的基本矛盾是不断增长、同益复杂的社会 需求与落后的软件生产力之间的矛盾。在该矛盾的作用下,现阶段软 件产业表现出来的主要矛盾是“用户需求的个性化与软件产品的通用 性之间的矛盾”。 处于这样的基本矛盾之中,又没有非常好的技术与方法末解决这个 矛盾,自然使传统的软件生存“染上”了不解之症。而通用化则是软 件产业化的根本发展途径。为了使涉足信息管理的软件业真币得到发 展的道路。现在最需要的是:新的软件构建方法论,及在此理论指导 下的可以有效解决通用和个性之争的软件平台。 企业模型自动化以其对软件构建思想的深度抽象、对现实业务的高 级建模方法和模型睁自动化执行机制为基本特点,提供了“提高软件 生产力的银弹”,也将繁杂的软件世界又一次的拉向了现实世界。 1 3 研究基本内容 本文研究的主体是企业模型自动化平台的体系结构的设计。同时也 业务基础件平台的构建方法方面阐述了企业模型自动化平台的存在的 必然性和必要性。论文的主内容为: 1 基本理论的研究:从现实世界和软件世界的两种抽象来对企业模 型自动化的理论给出设计的基础论证。从软件层级的业务基础件层面 对企业模型自动化的必要性给出详细的论述。 2 可执行平台研究:分析企业模型自动化平台的设计方法。给出该 平台的体系结构设计,和研究小组成员合作进行可执行平台的具体模 块进行设计和实现。着重阐述了自己实现的w e b 模块和服务引擎的实 现方法。 3 企业建模研究:为了实现更适应企业现状的建模方式,提供了过 程型企业和目标型企业的两种建模方式。在对建模理论的详细了解后, 对两种企业建模方法进行详细论述并给出了概要设计。 4 综合论述:从总体上对所做的工作进行了总结,讨论了e m a 平台 的特点和其对我们的软件开发带来的影响。 论文的新颖之处在于: 企业建模自动化理论是一个比较新的概念,其相关的实现技术还是 很成熟的。针对这个概念的理论阐述不多,本文的理论分析由本人独 立分析和叙述。从一个比较深的层次给出了这种软件设计方法的几个 4 南京航空航天大学硕十学位论文 方面的详细阐述。在企业建模理论方面开创了不规则企业建模方法的 论述,采用a g en t 和商务对象体系使平台具有了很多新的特性。 研究工作任务划分: 作者及相关人员以e m a 研究小组为单位展开理论研究和软件研发。 分工作流引擎( 可执行能力中心) 、实体引擎( 数据映射) 、系统架构 设计及工作流性能度量几个模块,每个模块由一个人负责,作者的工 作内容是系统架构设计。 作者的主要工作内容: 设计e m a 软件平台的体系结构。选择0 f b iz 作为基础开发平台,丌 发了基于0 f b iz 可执行平台模块中的服务层,提出了高层建模方法, 给出了过程和目标建模方法的设计。并实现了部分建模工具。带领小 组利用底层可执行平台为北京总装某部自动生成了软件过程管理系 统。该软件得到部门领导和广大用户的很高评价,已经投入运行。 1 4 课题采用的关键技术 本研究工作所进行的平台开发涉及技术和相关标准比较多,也参考 了很多开源项目,并从中吸取了相当多的宝贵经验和编程技巧,在此 特别感谢开源项目:0 f b iz 。下面列出本研究所涉及的技术和平台: 1 程序语言:j a , v a ,j s p ,x m l ,x p d l 2 开发环境:j e t ty3 ,j d k l 4 ,m y s q l ,e c l ip se 3 开源项目:0 f b i z ,j a w e ,a p a c h e 4 运行环境:w i n x p ,c p u1 7 gm e m or y2 5 6 m ,j d k l 4 2 ,c m a i l s e r v e r 基于e m a 方法的软件平台体系结构研究与实现 2 1 软件层级发展 第二章e m a 方法研究 为解决软件产业的基本矛盾,人们进行的努力概括起来有两个方向, 一是软件工程、软件项目管理:一是软件技术革新。从诞生到现在, 软件产业涌现了大量的技术革新。每一次的技术革新都向解决软件产 业的基本矛盾迈进了一步。在所有的技术革新中,软件平台化是最有 意义的,最有生命力的“。 “软件平台”并非一个新鲜的词语,它早为人们所知道,并在软件 开发中应用已久。例如,操作系统、数据库、中间件等都是人们早就 熟悉的软件平台。但一软件平台”的定义是什么,它应包含哪些基本 要素,它的作用又是什么? “软件平台化”的本质是将复杂的软件系统分层,是分层理论在研 发软件系统中的具体应用,并由此找到软件开发中标准化与个性化之 间的恰当的契合点。一个软件系统,尤其是企业应用软件系统,往往 是一个复杂系统。对于这样的复杂系统的分析与实现,分层理论认为, 降低其复杂性与提高效率的最好办法是将系统分层实现。软件平台化 的思路芷源于此。 软件平台是用来构建与支撑应用软件的独立软件系统。它是开发与 运行应用软件的基础,也是软件得以实现与应用的必要条件。软件平 台有两个基本要素,即支撑环境和开发体系,其中支撑环境是指应用 软件系统开发与运行的基本条件,开发体系是指丌发与维护管理应用 软件的工具与方法。按此定义,可以发现,操作系统,如w i n d o w s 、un ix 等;数据库,如0 r a c l e 、s q ls e r v e r 等;中间件,如ib m 的w eb s p h e r e 、 b e a 的w e b l o g i c 等都是软件平台。 软件平台不仅多,而且还是分层次的。在软件平台的每个层次中, 又包含有很多具体的软件平台。例如,操作系统平台包括w i n d o w s 、ur l ix 及嵌入式操作系统平台等;软件基础架构平台包括数据库、中间件、 w e bse r v ice 等,而数据库平台又有s y b a s e 、d b 2 等软件平台,中日j 件 有w e b s p h e r e 、w e b l o g i c 等。 复杂软件丌发模式有,一是基于硬件平台直接丌发;二是在操作系 统平台上进行丌发;三是基于数据库平台丌发;四是基于中i n 什平台 丌发。在这四种模式中,由于后者的开发平台均比附一种要高,因此 南京航空航大大学硕士学f 论文 后者的开发模式难度更小,开发周期也更短。这说明,不同软件平台 层次的诞生,有助于提高软件生产力。 虽然四种开发模式在很大程度上提高了软件研发效率,但它们依然 有着明显的不足:开发难度依然较大,开发周期依然较长。上这四种 模式都是从技术层面进行的改进,和应用软件密切相关的业务比较远, 因此,它们无法解决因业务的复杂性而带来的管理软件的复杂性。这 些缺点导致管理软件的应用与发展存在很大的问题,主要表现在两方 面,一是管理软件不能很好地满足用户的业务需求,不能适应用户业 务的快速变化;二是管理软件的开发效率低,实施周期长,成本压力 大。这是目前管理软件应用失败率高居不下的主要原因。 在每个层次,软佳平台都为其上一个层次屏蔽了自身及以下层次的 技术细节,每个层次都对提高软件生产力具有重要的作用。当然,软 件平台的分层是不断发展的,为了更好的把软件世界拉向现实世界, 就必须提供和业务层面相关的软件层级。因此,软件平台的新的层 级一一业务基础件平台1 诞生了。 业务基础件是层级分化中最新出现的、也是发展最有潜力的一层。 它构筑于基础件之上,面向广义的业务系统比如企业管理、余融、电 子政务等等,为业务的构筑提供基础架构。业务基础件可以应用于多 种业务环境,目前,业务基础件已经在企业管理领域得到了初步的应 用,并得到了非常好的效果。 对比两种体系( 图2 1 ) ,可以看出业务基础件平台为软件构建提供 了高级抽象基础模块,使具体灵活性得到保证。 应用软件 一 么 2l 。 软件基础架构平台 彳r 操作系统平台 彳下 硬r i :平台 应州软件 丁丁 l 业务基础件平台 彳r , 软件基础架构平台 可丁 l操作系统平台 彳丁 l便什平台 基丁e m a 方法的软什平台体系结构研究与实现 幽2 1传统复杂麻用软件层级与现在复杂麻州软件层级比较 2 2 业务基础件平台技术分析 2 2 1 平台技术组成 业务基础件平台是以业务导向和驱动的、可快速构建应用软件的平 台。该平台包括集成应用平台、开发体系两个部分。从技术角度分析, 业务基础件为复杂应用软件系统的开发提供了一个基本框架,并有与 之相应、方便易用的开发与维护管理工具。这个框架给出一些复杂应 用的基础组件和实现方法,并预置了很多供参考的软件模快。在业务 基础件平台之上开发一管理软件可以降低复杂性,省去很多基础性的研 发工作,从而大大缩短研发周期,提高研发效率。具体来说,恢平台 的开发体系能满足复杂应用软件系统开发的如下要求“: ( 1 ) 速度要求。通过业务基础件平台提供的基本框架,以及预置好 的模块,能很快地研制出用户所需要的复杂应用软件系统。 ( 2 ) 灵活性要求。通过业务基础件台提供的开发与管理工具,能很 方便地满足用户个性化的需求,以及用户在发展过程中各种各样变化 的需求。 ( 3 ) 集成性要求。平台为复杂应用提供了集成框架,不仅为集成同 一平台上的各种不同软件提供了规则,还为集成其他应用软件系统提 供了集成接口。 除了软件平台的基本特性外,业务基础件平台还具有以下独有的特 性: ( 1 ) 面向业务。操作系统平台、软件基础架构平台等都是面向软件 开发人员,它使用起来技术门槛是比较高的。业务基础件平台是面向 业务人员的,它使用的更多是“业务语言”,一种业务人员就能理解的 语言。正是这个特性消除了复杂应用软件系统一直存在的两张皮现象 ( 缺少复合型的专业人才,懂技术的不懂管理,懂管理的不懂技术) 。 ( 2 ) 技术无关。技术无关性不是指基础件平台和技术没关系,而是 指该平台屏蔽了操作系统、软件基础架平台的技术细节,开发人员在 利用平台丌发复杂应用软件系统时,关注的焦点在于业务逻辑、管理 模式,而不用关心采用何种技术柬实现。这种技术无关性其实是跨平 台,通过业务基础件平台开发的软件能够顺利地在各种异构环境下运 南京航空航天大学硕士学位论文 行。 这些要求可勾勒出业务基础件平台的功能覆盖范围。基于多种方法 论都能从不同角度实现该平台。然而,对于代表软件层级的平台丌发 来说,影响平台生命力的,是设计实现它的方法论是否经够先进和实 用。 经历多年软件开发实践,开发模式并没有明显改变。丌发系统的途 径只有两条:从现实世界到软件世界或者从软件世界到现实世界。无 论那条道路,只要走到目的地的时候,软件系统就算成功了。 从现实世界到软件世界的方法是将现实世界的概念分解为计算机领 域概念的方法。软件由程序员设计,而不是用户。这形成了传统的根 据用户要求,由程序员将要求转换为计算机领域的设计的习惯。从这 个角度开创了结构化软件设计方法。为了更方便的应用该方法,更进 一步的将程序设计中的函数集成为模块,模块集成为构件。形成了构 件化软件设计方法,在平台化潮流下,构件化软件设计法进一步进化 为具有多层结构的中间件软件设计方法( 软件设计方法主要对象为复 杂信息系统,构件方法取其狭义的软件分块封装的设计方法,不包括 面向对象的构件方法) 。 从软件世界到现实世界的方法是将计算机领域概念集成为现实世界 可以理解的概念的方法。该方法论的代表:模型驱动构架m d a 方法。 该方法思想为:软件的开发就是模型的建立,倡导完整的完美的从软 件世界到现实世界的软件自动化转换生成策略。 通过了解了这两个软件设计的基本方向,研究基于它们所发展出来 的设计方法,从而真正了解e m a 方法的真f 意义和价值。 2 2 2m d a 软件架构方法 模型驱动构架( m d a ) 是由o m g 定义的软件开发框架。在m d a 中,软件 开发过程是由对软件系统的建模行为所驱动的。 m d a 构架的系统开发生命周期和传统软件的看起来没有太大的不 同。也同样经历了软件开发的几个阶段。主要不同在于丌发阶段创建 的工件( 工作中间产品) 的性质。工件是形式化模型,可以被计算机理 解。m d a 的模型有3 类: ( 1 ) 平台独立模型。 m d a 定义的第一类模型足具有高抽象层次、独立于实现技术的。这 基于e m a 方法的软件平台体系结构研究与实现 类模型叫做平台独立模型p i m 。p i m 描述支撑某些业务的软件系统。p i m 中,对系统的建模视角是“系统如何才能最好的支撑业务”。 ( 2 ) 平台相关模型 下一步,p i m 被变换为一个或多个平台相关模型p s m 。p s m 是为某种 特定实现技术量身定做的,在p s m 中使用这种实现技术来描述系统。 例如,e j bp s m 是用e j b 结构表述的系统模型。它通常会包含e j b 特有 的术语。关系数据库p s m 则包含“表”、“列”,等术语。p s m 只对了解 相应平台的开发者有意义。 ( 3 ) 代码 开发的最后一步是把每个p s m 变换成代码。因为p s m 同相应的技术 密切相关,所以这一变换相对较为直接。 p i m 、p s m 表现了系统规约的不同抽象层次。能够把高层次的p i m 变 换成低层次的p s m ,这提升了开发者工作的抽象层次,从而让开发者可 以“少流汗、多办事”,以较少的努力创建复杂的系统。 m d a 过 程 幽22m d a 软1 ,| = 开发生命周期j - jm d a 开发的3 个步骤 总结描述m d a 的思想是:软件模型化,将模型一步步的由高级模型 南京航空肮大人学硕士学位论文 变换到低级模型,最终得到完整可用的软件系统。其和传统软件的不 同点是:m d a 中用变换工具来自动完成传统上手工完成的从模型到模氆 的变换,或者从模型到代码的变换。从p s m 到代码的变换并不是令人 激动的创举,但m d a 的创新之处是把p i m 到p s m 的变换也自动化了( 参 考图2 2 ) 。 m d a 给软件开发带来的好处有: ( 1 ) 生产效率提升。因不必关注目标平台细节,开发者的焦点转移 到了p i m 的开发后,将摆脱很多技术细节的困扰。同时,丌发者可以 更关注p i m ,系统就会更好的吻合用户的需求。 ( 2 ) 可移植性。可移植性是通过把开发焦点转移到p i m 而获得的。 p i m 是跨平台的。同二个p i m 可以被自动变换成多个不同平台上的p s m 。 只要能够使用的自动变换工具足够多,可移植性将得到充分保证。 m d a 是软件发展多年产生的方法论,但其本身并没有相应丰富的实 践支持,这种方法本身也有不足之处: ( 1 ) 精确性导致复杂性。如果一个p i m 的业务模型可以解释业务的 多样性和表达出诸多约束。那么,这个p i m 的形式化描述语言要有相 当好的表达能力。这种表达能够为p s m 所理解,能自动转换成代码。 因这种语言可以完全精确定义现实应用,它的实现就相当难。 ( 2 ) 完整性导致不可用性。如果按照m d a 的架构进行软件丌发,开 发小组必须具备所有需要的转换工具和形式化语言。起码在5 年内, 这样的平台还不存在。而一旦缺乏任意一个转换工具,都使m d a 的自 动化变换功能成为空谈。 ( 3 ) 考虑软件的集成和转化为主,不注重对软件内涵的分析概括。 导致m d a 平台的复杂性还有一个因素,m d a 方法的思维方法是分而治之。 这种思考方法的问题在于,拿到问题首先进行的是分解,再进行整体 上的抽象和分析。在开发单个软件的p s m 平台的时候没有发现任何不 舒妥。但软件技术相关的p s m 发展十分迅速,这种趋势将使为了解决 对应问题的p s m 平台大量的发展出来。大量的p s m 组合成的软件,肯 定在复杂性和效率上有所损失。 ( 4 ) 完美的理论需要发展。m d a 是软件发展的重要趋势,m d a 将降 低人们思维的难度,提高计算机处理问题的抽象度,有希望给软件构 架实践带来新生。但现在相关技术和理论并未成熟。在软件实践中, 可以借鉴,但不能照搬。 基t - e m a 方法的软件平台体系结构研究与实现 2 2 3 构件软件架构方法 传统软件开发是把现实世界概念其转换为软件世界的概念的过程。 在过程中,软件世界的概念也得到发展并不断的聚合成更高级的概念。 对这些概念有了认识,加以运用就可以创造出来更具生产力的软件生 成方式。 当软件的规模囿于个人能力的范围时,受自然人所能同时处理问题 的广度限制,软件生产力的低下。人处理问题的能力不会快速增长, 但是如果多个人能够同时处理同一个问题,那么问题的规模就可以扩 大。为达到这个目标,将软件划分成块并用一定的逻辑涵义将这些块 标志起来。这看似简单的划分就是结构化模块式软件开发。本世纪6 0 年代,结构化的模块式软件开发思想统治软件方法论领域。人们习惯 把软件分而治之的分割成模块( 一些定义良好的方法包或功能集合) , 对每个模块给以相应的规范描述。不仅可以了解软件的某个代码集合 的实现目标和相关约束,还方便了人从更宏观的思维角度来思考软件 的构建和组织方法。在开发上也方便了程序员的丌发和管理。这种丌 发方法成为创建大规模软件的基础。 随着不断深入研究软件复用方法,以模块问更加抽象的关系来重新 定义模块,从而得到了以独立性,聚合性和重用性为基本特征的构件 的概念”。基于构件的软件开发不仅可以提供模块化开发的好处,同 时,构件也提供了二进制兼容,可方便地插入到语言、工具、操作系 统、网络中的特点。构件_ 丌发使软件的丌发变成了产业链的协作。提 升了软件的质量,加快了开发速度。 随着软件要更加适应异构环境的需求发展,能不能直接在构件这个 层次提供想要的特性? 使用分层思维,将程序开发的业务相关构件集 合成一个平台,使软件开发基于这个开放式,透明性强,调用接口规 范的平台。那就可以只关心业务逻辑和用户接口。这就是中间件的思 想,有了这样的一个构件化的功能平台,搭建规模更大,功能更强的 应用就成为可能。 从传统软件开发方法的发展过程中,可以看到这是分而治之思想和 归纳法的胜利。将现实世界概念分解成计算机领域概念,再将大量的 概念集成为模块,对模块的了解的深入,对其抽象度的提升,使软什 生产力的大幅提高。但归根到底,都可以将这些丌发方法归结为:构 件软件架构方法。 i , 南京航空航天人学硕士学位论文 构件越高级,其包涵的静态特性和动态特性越多。以这种思路发展 下去,一个构件可以做以前一个甚至多个软件做的工作。但具有独立 性的构件,只提供功能,并不暴露内部机制。 相当多的构件已经被创建出来,但除了全新的构件外,大量的对以 前所使用的构件的升级版的构建被大量创建出来。应用越多,就会有 更多的构件,更多的旧构件的升级版。能拒绝这种浪费资源的旧构件 升级工作嘛? 不行! 因为,构件内部特性对外部不可见。 那又是什么原因造成了构件泛滥状况? 还是分而治之的思路。构件 往往是对软件要实现的业务的模块分割。为避免模块间的耦合,一次 次的提升构件的封装力度,使构件间没有直接关系。于是,即使业务 改动的相当少,仍然需要对构件升级。比如,用户的一个报表需要修 改,那甚至牵涉到了基础数据构件的更动。这种改动会波及到众多的 构件上。 面向应用的构件是和业务相关的。内部必然包涵业务信息。若业务 有所改动,构件是无法避免这种改动的。简言之,构件强大成为对业 务描述的一个子软件的时候,已经质变为软件( 自主相应性能力) 。所 熟知的中间件平台中的构件可以有生存期控制能力,可以有事件机制 等应用程序可以有的功能。如果把平台软件比成操作系统,那么构件 自身何尝不是软件? 2 3 再论e u a 的基础理念 业务基础件平台的实现和方法论无关。上述的构件软件方法或m d a 方法都可以用来实现该平台。从解决通用性和个性化方面上,构件软 件架构方法在进行业务实现时,具有相当程度的开发层次上的构件通 用性。但业务相关构件本身的内聚性不能保证所产生应用的通用性。 而平台在做系列化同领域软件开发时,会造成大批的类似构件版本出 现,从而造成管理复杂和资源浪费问题。 m 3 a 方法以建模的方式保证了软件的通用性和底层的一致性,并降 低了软件的实施复杂度。但m d a 的形式化描述语言和转换工具并不成 熟。其过分精确和完美的表达方式会给使用上带来相当大的复杂度。 但构件软件架构的实用性较强,m d a 方法的设计性好,自动化能力 强的优点是不能忽视的。能不能以走向现实世界的建模方法为方向, 给出种具有两者优点的高层业务建模为导向的平台设计方法论? 这 基于e m a 方法的软什平台体系结构研究与实现 就是企业模型自动化。 软件设计必须符合计算机实现的一些约束条件。这些约束条件出是 设计实现计算机软件系统的指导方针。首要约束条件是:软件基本因 素是什么? 作者认为下面三因素具有一定的代表性: ( 1 ) 数据。软件替人工作,那么它要知道工作对象及相关信息,这 种工作对象信息被称为数据,和传统的数据概念略有不同。 ( 2 ) 模型。软件要知道工作方法、业务逻辑、目标和要求等框架性 的东西,这些软件时间的概念表达出来就是模型。 ( 3 ) 过程执行力。软件要有根据已知的资源和处理要求,去产生结 果的能力。这种能力,称之为过程执行的能力。过程的定义是:将程 序需考虑的静态因秦以时间轴为中心进行转换直到生成结果的系列活 动。 三个因素概况了软件静态和动态特征,结构化和非结构化特征。根 据三因素可以分析和推演出软件开发的方法论。m d a 方法可以理解为以 过程执行力和模型为基础来进行的软件开发。在m d a 软件的丌发中, p i m 平台和具体的业务联系是对业务的模型化表达。业务模型是进行特 定应用开发时才会根据具体的需求确定的,并不是m d a 必须的部件。 在某个具体业务模型确立的时候,这个业务模型就具备了提供给软件 系统将该模型解释成它需要进行的工作任务的所有静态信息。业务模 型和运行时信息代表了三个因素中的数据因素。m d a 最关键的概念是 “模型”,这个概念对应三因素中的模型因素。“过程执行力”在m d a 中是通过p s m 的转换时,由p s m 平台自动将p i m 中的动作或流程需求 转变成具体的函数或对象调用时提供的,是m d a 必备能力。m d a 方法具 备三因素中模型过程执行力。在业务模型确立后,可根据业务模型自 动生成软件。 构件软件架构方法是以数据和过程执行力为基础的软件丌发方法 论。除了运行时的数据不是构件在创建的时候所具有的外,构件的运 行中用的业务逻辑和静态数据通常存在于构件内部。高级构件或者对 象具有相当于程序的动态特性。就程序的基本三因素而言,构件是数 据和过程执行力的集合。而模型因素所代表的软件抽象架构在构件层 无法表达,所以不能自动生成软件。 软件的开发方法是对软件基础三因素的组合,不同的丌发方法实际 一i - 是三因素的不同组合方式。但e m a 方法i ! j i i ? 从概念上,e m a 的模型化 南京航空航天火学硕十学位论文 方法和m d a 的方法类似,对三因素的结合方式也是由过程执行力和模 型的组合。但在过程执行力的表达上,e m a 方法更加纯粹,它提供模型 自动化机制,从实现上明确出来过程执行力因素,使系统的实现也更 具通用性。下面详细讨论e m a 概念。 2 4e m a 的两个抽象 从开篇第一个趋势,可以看到软件的发展是使软件世界不断靠近现 实世界的过程。这个过程就是对现实世界建模,通过构造更高级的软 件模型,来简化人们的开发工作。e m a 以建模为基础,它的一种抽象是: 对现实世界进行抽象。 从第二个趋势分析,e m a 和m d a 的理论都和软件三因素理沦吻合的 很好。但它们最大的不同点在于:m d a 是种特别强调建模和转换的方法 论,它认为软件开发就是建模。而模型i 旬的转化工作就成了m d a 方法 的重点问题。在这个问题的处理上,m d a 主要通过设计多种的转换工具 来自动的完成转换工作。然而,m d a 方法忽略了一点,一定要把业务理 念直接转换为代码么? 只要能让业务能运行起来就达到软件开发的目 的。采用模型转换的最根本目的是使模型能自动化运行。如果能够创 建出模型自动化机制来提供可执行力,就没有必要把p i m 一直转换到 代码,也就避免了开发大量的p s m ,避免了转换工具本身形成汪洋大海。 e m a 就要提供这样的模型自动化机制,此机制必然是对软件自身的抽 象,于是e m a 的第二种抽象就是:对软件世界的抽象。 e m a 的两个抽象,使软件的开发以“分离业务功能分析设计的制品 与实现技术之间紧耦合关系”为目的,创建企业建模工具束表达业务 逻辑,创建具有模型自动机制表达模型解释和自动执行能力的底层平 台。并以此两个领域的结合来形成扩展性强,方便易用的软件。 2 5 小结 本章探讨了业务基础件平台产生原因和所涉及的软件构建方法论。 根据提出的软件三因素进行了方法分析,可以从较深层次理解e m a 方 法论。下面将介绍根据e m a 软件方法所必须的可执行平台的设计和实 现。 基于e m a 方法的软件平台体系结构研究与实现 第三章e m a 可执行平台设计与实现 3 1 平台设计策略 体系结构是系统的规格况明,它要展示出软件建立时需要的特征。 系统描述必须包括各种属性以及实现软件结果设计描述的规格说明。 但将这些属性映射到软件结构并不简单,在它们之间有着许多断层。 建立体系结构就是建立这些断层的中间模型。 企业模型自动化平台的体系结构涉及面比较广。体系结构的设计必 须考虑相当多的问题,这些问题对应于要考虑平台构建的角度。从不 同的角度可以得出对,系统的各种特性要求。这些要求代表了企业模型 自动化平台应该有的特性,它们也就是软件平设计的策略。 软件平台架构方法上,采用软件体系结构框架1 :开放式分布处理 参考模型r m 一0 d p 来进行系统的角度分解和策略制定。r m 一0 d p 的主要 目标是为分布处理和信息系统的体系结构提供分析方法,并支持企业 应用集成。r m o d p 通过五个角度支持这些目标,每个角度都有相应的 描述和需要考虑的问题。r 【一0 d p 把一个应用的特性与其实现相分离, 使应用的设计无需过早地限制为某个特定的中间平台。五个角度分别 针对一个系统的各特定部分。r m o d p 的五个角度是:企业、信息、计 算、工程和技术。从五个角度分别讨论e m a 平台的设计策略。 ( 1 ) 企业角度 企业角度的焦点集中在系统的目标、范围和方针上,它提供了一种 捕获系统需求的方法。对软件开发平台来说,这个角度要求

温馨提示

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

评论

0/150

提交评论