(计算机软件与理论专业论文)基于本体的领域需求建模过程研究.pdf_第1页
(计算机软件与理论专业论文)基于本体的领域需求建模过程研究.pdf_第2页
(计算机软件与理论专业论文)基于本体的领域需求建模过程研究.pdf_第3页
(计算机软件与理论专业论文)基于本体的领域需求建模过程研究.pdf_第4页
(计算机软件与理论专业论文)基于本体的领域需求建模过程研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机软件与理论专业论文)基于本体的领域需求建模过程研究.pdf.pdf 免费下载

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

文档简介

论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果论文中 除了特别加以标注和致谢的地方外,不包含其他人或其它机构已经发表或撰写 ! 过的研究成果其他同志对本研究的启发和所做的贡献均已在论文中作了明确 的声明并表示了谢意 作者签名: 论文使角授权声明 日期: 本人完全了解复旦大学有关保留、使用学位论文的规定即:学校有权保 留送交论文的复印件。允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容。可以采用影印、缩印或其它复翩手段保存论文保密的论文在解密后 遵守此规定 作者签名:导师签名: 轳舡喊剑 基于本体的领域需求建模过程研究 摘要 软件复用的研究和实践表明,特定领域的软件复用活动相对容易取得成功。领 域工程是软件复用的关键,即可复用软件资产( 包括体系结构和构件等) 的生产阶段。 主要包括领域分析、领域设计和领域实现这三个活动。领域分析是对特定的领域进 行需求工程的活动。 领域分析中最早提出面向特征的领域分析的方法是f o d a ( 面向特征的领域分析 方法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 ) ,并且由f o d a 方法逐渐演化成基于产 品线( p r o d u c tl i n e ) 的软件复用方法。较早的面向对象的领域工程方法是e d l c 方法。 惠普实验室将f o d a 方法与r s e b 方法( r e u s e - d r i v e ns o f t w a r ee n g i n e e r i n g b u s i n e s s ) 结合提出的f e a t u r s e b 方法。韩国釜山国家大学在研究了f o d a 、f o 删、 f e a t u r s e b 等方法后,总结了这些方法的之后,提出了一种产品线核心基于可变性 和不变性的领域需求分析方法。 本文在分析了比较成熟领域分析方法之后,总结了现有方法的7 点不足:( 1 ) 对于可变性和不变性的确定比较机械;( 2 ) 区分领域内的建模角色不明确;( 3 ) 没有 采用专家分析法和自动分析法相结合:( 4 ) 模型演化和应用性不强;( 5 ) 难以进行领 域模型检验;( 6 ) 缺少领域词典;( 7 ) 缺少特有的工具支持。 我们针对以上的不足提出结合本体和特征趋动的领域分析过程o b d a ( o n t o l o g y b a s e ds o f t w a r ed o m a i na n a l y s i s ) 。建模过程有6 个步骤:领域建模准备工作、建 立领域业务动作分解关系、识别领域业务动作刻面、识别领域泛化关系、建立领域 依赖关系和模型检验。 o b d a 的主要特点在:( 1 ) o b d a 将建模角色分成三类:领域专家、领域软件工程 师和领域建模师。并且在领域分析建模的六个阶段按照三类角色分配任务。( 2 ) o b d a 采用本体描述模型,结合我们提出的基于本体的领域工程,使得基于本体的领域模 型能够在领域工程中得到无缝重用。( 3 ) o b d 矗应用本体的自动推理功能完成领域模 型的检验和模型转换,从而能够适应大型领域建模的要求。 我们开发了c a s e 工具o n t o f e a t u r e ,该工具能够完成图形化o b d a 建模并且在 建模后依靠本体推理完成领域模型的自动验证。在本文中,我们结合o b d a 和开发的 工具对考试阅卷领域进行了建模。 基于本体的领域需求建模过程研究 a b s t r a c t r e s e a r c ha n dp r a c t i c eo ns o f t w a r er e u s ei n d i c a t et h a ts p e c i f i e dd o m a i n s o f t w a r er e u s ea c t i v i t yc a nb es u c c e s s f u le a s i l y d o m a i ne n g i n e e r i n gi st h e k e yp o i n to fs o f t w a r er e k t s ea n da l s oi sr e u s es o f t w a r ea s s e t sp r o d u c i n gs t a g e d o m a i ne n g i n e e r i n gc o n t a i n sd o m a i na n a l y s i s ,d o m a i nd e s i g na n dd o m a i n i m p l e m e n t d o m a i na n a l y s i si sr e q u i r e m e n te n g i n e e r i n gf o rs p e c i a ld o m a i na n d c o v e r sa l1p r o c e s so fd o m a i nr e q u i r e m e n te n g i n e e r i n gi n c l u d i n ga c q u i r i n g , a n a l y z i n g ,s p e c i a l i z i n g ,v a l i d a t i n ga n de v a l u a t i n g t h eo l d e s tf e a t u r ef a c e dd o m a i na n a l y s i sm e t h o di sf o d a ,f e a t u r e - o r i e n t e d d o m a i na n a l y s i s 。w h i c he v o l v e di n t op r o d u c tl i n eb a s e ds o f t w a r er e u s em e t h o d k o r e ap o h a n gs c i e n c ea n dt e c h n o l o g yu n i v e r s i t yp r o p o s e df e a t u r e o r i e n t e d r e u s em e t h o db a s e do nf o d r h pl a bc o m b i n e d f o d aa n dr s e b ,r e u s e d r i v e n s o f t w a r ee n g i n e e r i n gb u s i n e s s ,a n dp u tf o r t a r df e a t u r s e bm e t h o d t h i sp a p e ra n a l y z e st h e s em a t u r ed o m a i na n a l y s i sm e t h o d s ,a n dc o n c l u d e s7 s h o r t a g e s ( 1 ) m e c h a n i c a lv a r i a n ta n dc o l o n s ( 2 ) l a c k i n g o f m o d e l i n g r o l e s ( 3 ) n oc o m b i n i n ge x p e r t sw i t ha u t o m a t i o n ( 4 ) w e a ka p p l i c a t i o no fm o d e l ( 5 ) d i f f i c u l tv a li d a t i n gc o m p l e xm o d e l s ( 6 ) l a c k i n go fd o m a i nl e x i c o n ( 7 ) l e s s s p e c i a ls u p p o r tf r o mc a s et o o l s b a s e do nt h ea n a l y s i s ,w ep u tf o r w a r dap r o c e s sn a m e do b d a ,o n t o l o g yb a s e d s o f t w a r ed o m a i na n a l y s i s t h ep r o c e s sd i v i d e st h em o d e li n gt a s ki n t o6s t e p s : d o m a i nm o d e li n gp r e p a r i n g ,c r e a t i n gb u s i n e s sa c t i o nm o d e li n g ,i d e n t i f y i n g d o m a i nb u s i n e s sf a c e t ,i d e n t i f y i n gd o m a i ng e n e r a t i n gr e l a t i o n s ,c r e a t i n g d o m a i nd e p e n d e n c e sa n dd o m a i nm o d e lv a lid a ti n g m a i ns p e c i a l t i e so fo b d aa sf o l l o w :( 1 ) m o d e l i n gt e a mi no b d ac o n t a i n st h r e e r o l e s :d o m a i ns p e c i a l i s t d o m a i ns o f t w a r ee n g i n e e ra n dd o m a i nm o d e l e r ( 2 ) w ec o m b i n eo n t o l o g yw i t hd o m a i na n a l y s i sa n dc r e a t i n go u rm o d e l sd e s c r i b e d , 基于本体的领域需求建模过程研究 b yo w l o n t o l o g yb a s e dd o m a i nm o d e lc a nb eu s e di nd o m a i n a r c h i t e c t u r e d e s i g n i n gw i t h o u tl o s s ( 3 ) w eu s eo n t o l o g yt oa u t o m a t i c a l l yv a l i d a t i n g m o d e l sw i t ht h ev a l i d a t i n gr e g u l a t i o n st h a tw ed e s i g n w eh a v ed e v e l o p e dc a s et o o l sn a m e do n t o f e a t u r e ,w h i c hc a ns u p p o r to b d a m o d e l i n gg r a p h i c a l l ya n dc o m p l e t et h eo n t o l o g yb a s e dm o d e lv a l i d a t i n g 6 基于本体的领域需求建模过程研究 第一章引论 软件复用的研究和实践表明,特定领域的软件复用活动相对容易取得成功 1 。 领域工程是软件复用的关键,即可复用软件资产( 包括体系结构和构件等) 的生产阶 段,主要包括领域分析i t 、领域设计和领域实现这三个活动。领域分析是对特定的 领域进行需求工程的活动。它覆盖了对领域需求的获取、分析,规约和检验验证的 整个过程 z 。 现有的一些领域需求分析方法如f o d a 3 、r s e b 4 、f e a t u r s e b 5 等基本都是 以特征作为需求空间内的一阶实体,通过对特征的分析建立领域模型本文提出一 种基于本体的领域需求建模过程。基于本体的领域分析将业务动作和动作刻面作为 领域模型的一阶实体,通过业务动作在相关动作刻面上不同的取值,以及取值的变 化性反应领域的变化性。 本文第二部分介绍领域分析的相关方法和本体的发展;第三部分介绍基于本体 领域特征模型:第四部分介绍o b d a 建模过程;第五部分使用一个评分领域的项目介 绍o b d a 建模过程的应用;第六部分进行了总结和展望。 1 1 软件复用和构件技术 近几年来,面对日益复杂的软件系统,人们开始认识到,要真正实现软件的工 业化生产方式,达到软件产业发展所需要的软件生产率和质量,软件复用是一条现 实可行的途径。 软件复用可以避免重复劳动,其出发点是应用系统的开发不再采用一切。从零 开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知 识和经验 6 。基于构件的复用是产品复用的主要形式,同时构件技术也是成功的软 件复用的关键 6 。软件复用相关研究目前主要关注于商用第三方构件( c o t s : c o m m e r c i a lo f f t h e - s h e l f ) 以及特定领域的复用式开发。软件复用的研究和实践表 明,特定领域的软件复用活动相对容易取得成功 1 儿6 软件复用可分为产品复用和过程复用两种途径。产品复用,即复用已有的软件 构件,通过构件集成( 组装) 得到新系统,是目前现实可行的主流途径。构件是指应 用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价 值的构件 7 儿8 7 基于本体的领域需求建模过程研究 随着对软件复用理解的深入,构件的概念已不再局限于源代码级构件,而是延 伸到系统和软件的需求规约、构架、文档、测试等对开发活动的有用的信息 9 。高 抽象层次构件的复用更为重要和更有价值,它所带来的收益将明显大于低抽象层次 构件的复用。代码构件的复用仅仅是软件复用的初级阶段。 软件构件技术是支持软件复用的核心技术。主要研究内容包括:构件获取、构件 模型、构件描述语言、构件的分类与检索、构件的复合组装、标准化等方面。基于 构件的复用中,构件的获取、管理和组装是三个重要的环节,而其中构件的获取是 最基本的前提。 1 2 领域工程 领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域 9 。这是 由于特定领域本身的相对内聚性和稳定性所决定的。内聚性保证了领域有足够的共 性:而稳定性保证了领域工程的投资可以获得足够的回报领域工程技术是实施成 功复用计划的关键技术之一。只有拥有了足够的可复用资源,才有可能基于这些可 复用资源进行新的应用系统的开发。 图卜1 领域工程和应用工程的生命周期 领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过 程,它覆盖了建立可复用软件构件的所有活动 1 0 。如图卜l 所示在领域工程整个 生命周期中各个过程和产品,以及领域工程和传统的系统工程( 应用工程) 之间的关 s 基于本体的领域需求建模过程研究 系和接口 1 1 。领域工程包含领域分析( d o m a i n a n a l y s i s ) 、领域设计( d o m a i nd e s i g n ) 和领域实现( d o m a i ni m p l e m e n t a t i o n ) 三个重要的阶段。领域分析对一个领域中的若 干系统进行分析,识别这些应用的共同特征和可变特征,对这些特征进行抽象,形 成领域分析模型。领域设计依据领域分析模型产生出领域中一类应用系统共同具有 的构架,即特定领域的软件体系结构( d o m a i ns p e c i f i cs o f t w a r ea r c h i t e c t u r e , 缩写为d s s a ) 领域实现则以领域分析模型和d s s a 为基础,识别、开发和组织领域 中的构件和体系结构等可复用资源。领域工程和系统工程存在内在的联系。系统工 程是一系列集成化的工程标准,指导大型系统的设计、开发和运行 1 2 。领域工程 有相同特征或者功能的系统集合即领域,进行分析和研究,提出领域内普适的系统 模型和体系结构模型。当开发同一领域中的新应用时,可以根据领域分析模型,确 定新应用的需求规约,根据特定领域的软件体系结构形成新应用的设计,并以此为 基础选择可复用构件进行组装,从而形成新系统。 1 3 领域分析 领域分析是对特定的领域进行需求工程的活动。它覆盖了对领域需求的获取、 分析、规约和检验验证的整个过程 2 】。领域分析通过捕获领域内系统拥有的共性 和特性提升领域内软件开发、升级和维护的效率,支持系统级和大规模的软件重用。 如图i - 2 所示,领域工程通过特殊化指导应用工程产生应用系统,而应用系统通过 领域演化形成领域遗产系统能够,领域遗产系统又指导领域模型、领域体系结构和 领域资产( 构件) 的演化 1 1 。 图1 2 领域工程和软件重用之间的关系 需求是对一个系统具有的能力、行为、属性、以及它必须遵守的约束条件的陈 9 基于本体的领域需求建模过程研究 述。电子电器工程师学会( 缩写为i e e e ) 对需求的定义是 1 3 】: ( 1 ) 用户解决问题或达到目标所需的条件或能力。 ( 2 ) 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条 件或能力。 ( 3 ) 一种反映上面( 1 ) 或( 2 ) 所描述的条件或权能的文档说明。 通俗的讲,“需求”就是用户的需要,它包括用户要解决的问题、达到的目标、 以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式 一般为文档形式。 领域分析产生的需求以领域分析模型的形式出现,而不仅仅是一份自然语言的 文档说明。领域分析的主要目的是识别和分析领域需求中的可复用成分。因此,由 领域分析得到的需求模型应该能够识别出领域中共有的需求,以及这些需求可能具 有的变化性领域分析模型具有如下两个重要性质 2 : ( i ) 它记录了领域中的系统可能具有的功能性属性和品质( 非功能性) 属性。 ( 2 ) 它的组织结构能够反映出领域可能具有的共有的和可变的能力和行为。 领域分析通过对同一领域中的若干应用系统进行分析,建立特定领域的分析模 型。领域分析模型是对领域中软件问题空间的描述,即对领域需求的描述。该阶段 包括的主要活动有:确定领域边界,明确分析的对象;识别信息源;考察领域中样 本系统的需求,确定那些需求是领域中共有的,那些需求是可选的;依据已获取的 领域需求,建立特征模型及相关模型:识别领域需求之间的依赖,互斥等关系。 1 4 本体相关概念 o n t o l o g y 的概念最初起源于哲学领域,可以追溯到公元前古希腊哲学家亚里士 多德( 3 8 4 - 3 2 2b c ,) 它在哲学中的定义为“对世界上客观存在物的系统地描述, 即存在论”,是客观存在的一个系统的解释或说明,关心的是客观现实的抽象本质 1 3 。 在人工智能界,最早给出o n t o l o g y 定义的是n e c h e s 等人,他们将o n t o l o g y 定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成 的规定这些词汇外延的规则的定义” 1 3 。在信息系统、知识系统等领域犀著名并 被引用得最为广泛的定义是由g r u b e r 提出的。“本体是概念化的明确的规范说明” 1 4 1 5 本体语言 1 6 【1 7 因此它应该满足以下要求:( 1 ) 良好定义的语法( a 基于本体的领域需求建模过程研究 , e 1 1 - d e f i n e ds y n t a x ) ;( 2 ) 良好定义的语义( aw e l l d e f i n e ds e m a n t i c s ) ;( 3 ) 有 效的推理支持( e f f i c i e n tr e a s o n i n gs u p p o r t ) :( 4 ) 充分的表达能力( s u f f i c i e n t e x p r e s s i v ep o w e r ) ;( 5 ) 表达的方便性( c o n v e n i e n c eo fe x p r e s s i o n ) 。 本体描述语言有很多,其中比较有影响力的有:r d f i t 8 、o i l 1 9 、d a 札 2 0 、 o w l 1 7 等。o w l 全称w e bo n t o l o g yl a n g u a g e ,是w 3 c 推荐的语义互联网中本体描 述语言的标准。它是从欧美一些研究机构的一种结合性的描述语言d a m l + o i l 发展起 来的,其中d a m l 来自美国的提案d a m l - o n t ,o i l 来自欧洲的一种本体描述语言( 二 者在上文都有介绍) 。在w 3 c 提出的本体语言栈中,o i r l 处于最上层,见图1 4 。 图1 - 4 本体语言层次结构 o w l 语法包括两大基本元素:类( c l a s s ) 和属性( p r o p e r t y ) 。类以及属性之间 的关系使用三元组进行描述:( 定义域、关系、值域) 。其中定义域和值域既可以是 类也可以是属性而关系则只能是属性。 本体本身良好的表述能力。用基于本体的领域特征通过三元组的描述,能够化 繁为简,将模型间复杂交错的关系网,转化成一个三元组的集合,每一个三元组用 最直观和最简明的方式表述领域内的一条关系。从而在领域用户和领域工程师之间 基于本体的领域需求建模过程研究 共享领域模型。 本体具有推理能力,通过定义本体推理规则,本体能够根据现有的三元组,推 理出新的三元组。利用本体推理能力,领域建模师只需要设定领域的推理规则,就 能够利用已有的系统完成复杂的模型检查。 1 5 特征概念 特征及特征交互的概念最初应用于电信领域,后来人们发现特征理论完全适用 于其它软件开发领域,从而开创了特征工程的研究领域。“特征”有各种定义。一些 重要的定义如下:特征是可识别的一组相互关联的系统功能,这组功能有利于从用户 角度来刻画系统 2 1 。特征是软件系统所具有的、对用户是可见的、显著的或者与 众不同的方面,特质或特性 3 特征是系统外部要求系统提供的服务,该服务可能 要求一系列输入以产生想要的结果 2 2 特征是系统提供的,用来实现一个或多个 风险承担者需要的服务 2 3 。我们定义的特征是需求空间内的一阶实体,体现了系 统具有的某种能力或特点e l i 。 问题空间即领域分析中的需求空间,解空间代表了用户和开发者对系统的不同 视点。如何在二者之间进行映射是软件开发的一个主要问题。将特征作为两个空间 的结合点很早就被研究者所使用,比较经典的特征趋动的领域分析方法是f o d a 。在 f o d a 之后,又有许多基于特征的领域分析方法。实践证明,采用特征描述需求空间 是比较有效的。在第二章中,我们会比较具体的分析一些领域特征,其中包括比较 经典的特征趋动的领域分析方法:f o d a 和f e a t u r s e b 。并且比较它们的优点和不足。 1 6 本文的组织结构 全文共分成六章。第一章引论,在这一章中,我们介绍了软件复用、构件技术、 领域工程、本体、特征的相关概念等背景知识。 第二章领域分析相关方法比较。对现有的领域分析建模方法进行了分析和探 讨,总结了这些方法的机制和优缺点,并且简要介绍了本文所要提出方法的目的, 并且将本文的建模过程与现有的成熟过程方法进行了比较。 第三章基于本体的领域特征模型。在这一章中,我们介绍了一种基于本体的领 域工程方法的概念、模型和相关的软件支持并且介绍本文所提出的基于本体的领 域特征建模过程在整个基于本体的领域工程过程中所处的位置和作用 基于本体的领域需求建模过程研究 第四章o b d a 建模过程。在第四章中,我们介绍基于本体的领域需求分析过程。 这个过程分成六个步骤:( 1 ) 领域建模准备工作;( 2 ) 识别捕获业务动作;( 3 ) 识别业 务动作刻面;( 4 ) 识别模型泛化关系;( 5 ) 识别捕获依赖关系;( 6 ) 验证模型。 第五章阅卷领域案例研究。在这一章中,我们应用o b d a 建模过程到阅卷领域, 按照o b d a 的步骤,分步讲解了如何建立了阅卷领域基于本体的特征模型。如何结合 支持工具完成建模工作,展示了通过建模支持工具完成的建模工作和建模成果。 第六章总结与展望。在最后一章中,我们总结了o b d a 建模过程,以及这个过 程在基于本体的领域工程中的位置。分析了这个基于本体的领域过程的创新点,现 有的不足以及将来的发展方向。 基于本体的领域需求建模过程研究 第二章领域分析相关方法比较 领域工程的研究开始于8 0 年代初期。在此之前,d a v i dl p a r n a s 提出了。程 序家族”( p r o g r a mf a m i l y ) 的概念 2 4 ,这个概念与。领域”是类似的,后来也有 人在“家族”概念的基础上,进行领域工程方法的研究。j a m e s 皿n e i g h b o r s 提出 了“领域分析”的概念,来代表“识别特定问题域中的一类相似系统的对象和操作 的行为” 2 5 ,他还比较了系统分析与领域分析的不同,并提出了。领域分析员” 的概念代表实施领域分析的人员 2 6 。在这以后,出现了很多领域工程的研究成果, 提出了一些领域工程方法,其中比较有代表性的研究和实践工作包括:卡耐基梅隆 大学的软件工程研究所提出的面向特征的领域分析方法( f e a t u r e - o r i e n t e dd o m a i n a n a l y s i s ,缩写为f o d a 方法) 3 ,乔治梅森大学提出的演化的领域生命周期模型 ( e v o l u t i o n a r yd o m a i nl i f ec y c l em o d e l ,缩写为e d l c 模型) 方法 2 7 ,惠普实验 室将f o d a 方法与r s e b 方法( r e u s e d r i v e ns o f t w a r ee n g i n e e r i n gb u s i n e s s ) 结合 提出的f e a t u r s e b 方法 5 ,韩国釜山国家大学在研究了f o d a 、f e a t u r s e b 等方法后, 总结了这些方法的之后,提出了一种产品线核心基于可变性和不变性的镊域需求分 析方法 2 8 。 2 1f o d a 方法 早期的领域工程研究方法大都是属于结构化范型的这主要是因为大量的遗产 系统基本是采用结构化方法,因此研究并应用结构化的领域工程方法就成为一个自 然的选择。这其中,f o d a 是一种具有代表性的结构化领域分析方法。 f o d a 方法中的领域分析主要包含两个阶段 3 :上下文分析( c o n t e x t a n a l y s i s ) 、领域建模( d o m a i nm o d e l i n g ) 。在上下文分析阶段,领域分析员与用户 和领域专家交互,以确定领域的边界和分析的范围。这个阶段的结果称为上下文模 型( c o n t e x tm o d e l ) ,它定义领域的上下文,其中表示了领域中软件的主要的输入和 输出,识别了与其它软件的接口。在领域建模阶段,领域分析员使用信息源和上下 文分析的其它产品,产生领域分析模型。领域分析模型由以下几个部分组成:( 1 ) 特征模型( f e a t u r em o d e l ) 。它表示了领域中一组系统的标准特征以及这些特征之间 的关系。( 2 ) 信息模型( i n f o r m a t i o nm o d e l ) 信息模型用领域中的数据实体及其相 基于本体的领域需求建模过程研究 互之间的关系表示领域知识。( 3 ) 功能模型( f u n c t i o n a lm o d e l ) 。功能模型中包括功 能的规约和行为的规约。功能的规约采用数据流图来描述领域中应用的结构。行为 的规约采用状态变迁图,来描述应用的行为 现阶段较成熟的面向对象的领域工程方法包括f o r m 、f e a t u r s e b 、d r e a m 等。这 些方法在一定程度上都受到了f o d a 方法的影响虽然f o d a 是一种结构化的领域分 析方法,但是f o d a 的最大贡献在于把特征及特征模型的概念引入到领域分析模型 中。特征的概念最早产生于电信服务系统中,特指电信服务提供商对用户提供的一 系列标准服务,并用来描述电信领域中特征干扰的现象。 在f o d a 方法中,特征和特征模型被作为领域需求的一种重要表现方式。随着领 域分析技术的不断发展( 从结构化范型到面向对象范型) ,特征和特征模型作为一种 捕获领域需求的手段被广泛接受。在f e a t u r s e b 和d r e a m 中,特征模型在领域分析 模型中都占据了极为重要的地位。 2 2e d l c 方法 随着面向对象方法的日益成熟和普及,越来越多的领域工程方法( 如早期e d l c 方法、f e a t u r s e b 方法、基于产品线d r e a m 的软件复用方法) 开始考虑面向对象范型。 乔治梅森大学提出的演化的领域生命周期模型( e v o l u t i o n a r yd o m a i nl i f e c y c l em o d e l ,缩写为e d l c 模型) 是一种较早的面向对象的领域工程方法。其主要活 动过程如图1 - 3 所示 2 7 : 基于本体的领域需求建模过程研究 图1 - 3e d l c 模型 e d l c 模型的领域模型使用多个视图来表现领域的不同方面。其中主要的五个视 图是:聚集层次( a g g r e g a t i o nh i e r a r c h y ) 、对象通讯图( o b j e c tc o m m u n i c a t i o n d i a g r a m ) 、一般特殊层次( g e n e r a l i z a t i o n s p e c i a l i z a t i o nh i e r a r c h y ) 、状态变 迁图( s t a t et r a n s i t i o nd i a g r a m ) 和特征对象依赖( f e a t u r e o b j e c td e p e n d e n c y ) 。 聚集层次是指将相关的对象聚集为复杂的对象,或将复杂对象分解为一组简单的对 象。对象通讯图主要描述以消息传递的形式存在的对象间的动态关系一般特殊层 次主要表示对象可能具有的变型。状态变迁图为依赖于状态的对象建立行为规约。 在特征对象依赖视图中,每个特征被关联到支持它所需要的可选的对象或对象的变 型。e d l c 领域建模的活动主要包括:定义应用领域需求并进行分类;确定应用领域 中的对象:开发聚集层次;定义对象间的接口;为对象建立规约;确定领域中的变 形:定义特征对象依赖。 2 3f e a t u r s e b 方法 f e a t u r s e b 方法把特征建模引入到r s e b 方法的过程中。r s e b 是一个用例驱动的 系统化的复用过程【5 。r s e b 建立在j a c o b s o n 的面向对象的软件工程( 0 0s o f t w a r e 基于本体的领域需求建模过程研究 e n g i n e e r i n g ) 和面向对象的商业工程( o ob u s i n e s se n g i n e e r i n g ) 的基础上,主要用 于根据一组可复用构件建立一系列相关软件系统的过程中。用例模型在r s e b 建立体 系结构、子系统和可复用对象的过程中处于中心地位。但在r s e b 中没有明显的领域 工程的痕迹,传统领域工程中的各个步骤被分散到构架和构件的开发过程中。 f e a t u r s e b 方法在r s e b 方法的基础上显式增添了领域分析的过程井引入了特征模 型。f e a t u r s e b 的领域分析模型由特征模型和用例模型构成。这两者承担了不同的 用途。用例模型描述了“w h a to ft h ed o m a i n ”:是对领域中系统行为的完整描述。 特征模型描述了“w h i c ho ft h ed o m a i n ”:是对一个系统具有的能力的描述。 2 4d r e a m 方法 韩国釜山国家大学在研究了f o d a 、f o r m 、f e a t u r s e b 等方法后,总结了这些方 法的之后,提出了一种产品线核心基于可变性和不变性的领域需求分析方法,并且 开发了一个支持工具d r e a m ,能够管理领域分析中的可变性需求和不变性需求的描 述和分析 2 8 我们称这种方法为d r e a m 方法。 d r e a m 方法主要步骤包括:识别领域术语、识别领域内原始需求、精化领域原 始需求( 描述领域内约束关系) 、建立领域用例模型。这个方法与其他现存成熟方法 之间的差异体现在: ( 1 ) d r e a m 方法引入了原始需求( p r i m i t i v er e q u i r e m e n t ) 的概念。原始需求和 领域需求不一致,原始需求是未进行可变性不变性分析的需求,可以简单通过穷尽 法获得。然后通过对领域原始需求的精化获得领域可变性需求和不变性需求。可变 性和不变性并不是某一个需求的属性,在领域发展过程中,有一些需求是会从不变 性需求变化成可变性需求,有一些需求会从可变性需求变化成不变性需求。 ( 2 ) d r e a m 方法引入了基数分析法,将原始需求和领域内现有的系统组成二维 的表格,分别分析原始需求是否在各个系统中存在,然后通过计算需求出现的次数, 确定原始需求的可变性和不变性。 ( 3 ) d r e a m 方法从识别领域术语建立领域词典出发,能够有效避免领域内不同 参与者对相同的领域概念产生的误解。 d r e a l i 方法的不足在于:( 1 ) 现有的d r e a m 方法只能支持领域需求的识别,建立 的领域模型不能用图形化的方式进行描述,还没有很有效的专用方法能够完成领域 模型建立以后的领域体系结构工作。( 2 ) d r e a m 方法没有有效区分领域建模过程中 1 7 基于本体的领域需求建模过程研究 的参与者,使得d r e a m 方法在建模过程中指导性不强,建模人员不能有效地组织成 为高效的建模团队。 2 5 本文的研究工作与其他领域分析方法比较 2 5 1 对于现有领域分析优缺点综合分析 在对上述成熟领域需求分析方法的归纳和总结后,我们认为这些方法主要存在 以下一些问题: ( 1 ) 对于可变性和不变性的确定比较机械。不是动态看待需求的可变性和不变 性。在d r e a g 方法中,原始需求的引入,能够比较好的解决这个问题通过基数法 分析,能够动态确定需求是可变性或者是不变性。 ( 2 ) 区分领域内的建模角色不明确。在f o d a 方法中将建模的角色分成领域分析 员和领域专家,其他的方法都没有明确区分这个角色。我们认为领域分析需要3 个 方面的知识:领域业务知识、领域现有系统知识、领域模型知识。所以正确地区分 这3 中角色能够更加好的描述建模的过程。 ( 3 ) 没有采用专家分析法和自动分析法结合。在上述的方法中,主要采用专家 法确定领域可变性,很少有自动分析法和分析算法。我们认为在大型领域建模过程 中,各种关系和错综复杂,且随着领域内特征数量的增加,领域模型的复杂程度成 几何增长。所以适当的引入自动分析法和专家法结合的领域分析能够有效提高领域 分析的效率。 ( 4 ) 模型演化和应用性不强。在领域工程中,领域分析和特征建模是为了领域 体系结构分析并且最终生成特定系统体系结构服务的所以领域分析和特征建模的 结果应该能够被方便的应用到体系结构设计中在现有的实际方法中,特征建模的 结果要么很难应用到体系结构设计,要么需要再借助现有其他方法,例如删l 法才 能完成体系结构设计。我们认为领域工程应该是一个整体,领域体系结构应该能够 无缝读取领域特征模型,在工程师的协助下,完成大多数的体系结构分析工作。 ( 5 ) 难以进行领域模型检验。以上的方法有些没有提及领域模型的检验,例如 d r e a m 方法:有些则使用专家分析的方法检验领域模型,例如f o d a 方法。我们认为 在大型领域建模过程中,仅仅通过人力进行领域模型检验是很困难的,需要提出一 种能够在领域模型师配置下,自动完成领域检验的领域分析过程。 ( 6 ) 缺少领域词典因为领域需求分析过程中有多种角色参与,领域模型也有 基于本体的领域需求建模过程研究 比较多的使用者。这些人员对领域需求的理解不尽一致,建立领域词典统一领域内 的术语,能够有效减少领域因为对相同概念的不同理解造成的误会。 ( 7 ) 缺少特有的工具支持。现有成熟的方法很多都是基于专家分析的方法,在 建模过程中很少能够进行自动识别的算法。所以能够全方位支持某种建模分析,并 且提供效率提高的c a s e 工具很少。我们认为在大规模的领域建模中,系统自动分析 和验证将会很有效的提高建模效率和准确率。 2 5 2 本文的研究工作 根据以上的分析,本文提出了种基于本体的领域特征建模过程o b d a ( o n t o l o g yb a s e dd o m a i na n a l y s i s ) 方法。o b d a 方法将本体引入到领域建模过程 中,并且用本体的三元组描述领域特征模型。从而能够解决模型应用性和难以检验 的问题。因为在基于本体的领域工程中,领域特征模型和领域体系结构模型用统一 的本体描述方法进行描述,所以用本体进行描述的领域特征模型能够无缝地应用到 体系结构建模中去。 由于本体具有良好和严格地推理能力,所以领域建模师简单地制定一些本体语 言描述的领域约束和验证规则,采用系统自动本体推理的方式进行领域模型自动验 证工作,不仅能够提高验证的效率,还能提高验证的准确性。另外根据不同的情况, 领域建模师通过修改验证规则,从而适应验证规则的发展。 在o b d a 中,我们吸取了现有成熟方法的优点,综合应用到我们的方法中。并且 首先提出了区分三种建模角色的建模过程。三种建模角色包括:领域业务专家、领 域软件工程师和领域建模师。o b d a 在每一个建模步骤中,都按照3 种角色的职责进 行分析使得我们的方法具有更加强的实用性和指导性。能够精确的区分领域建模 参与者的情况下,结合我们提出的多种领域分析的方法,包括领域业务专家主导的 领域专家分析法,领域软件工程师主导的领域特征基数分析法,领域建模师主导的 自动识别和生成关系法。在有些建模步骤中,可以应用多种方法进行建模,每种方 法都有各自的长处和短处,对于不同的情况,采用专家法和自动识别法相结合,能 够取得比较理想的效率与准确率的平衡。 在我们的方法中,我们同时引入了领域词典的概念。在我们的领域词典中,领 域的名词按照名词在领域中的功能进行区分。领域词典的作用贯穿整个建模过程, 每一个建模过程是对领域模型的丰富,同时也是对领域词典的丰富。 在我们提出基于本体的领域工程中,我们相继开发了一系列的软件支持基于本 体的领域工程,并且获得了软件专利。其中有一个名为o n t o f e a t u r e 的软件能够支 1 9 基于本体的领域需求建模过程研究 持基于本体的领域分析。o n t o f e a t u r e 能够帮助领域建模师用可视化的方法建立基 于本体的领域模型,并且完成o b d a 中一些自动识别算法,自动完成领域验证工作。 o n t o f e a t u r e 的输出是一个用本体语言描述的领域模型,这个模型能够被另一个领 域工程软件o n t o a r c h 无缝读取,o n t o a r c h 是我们开发的,能够支持领域体系结构 建模的工具。 表2 - 1 是我们的方法o b d a 和现有成熟方法之间的比较: 等;l h m 区分可变点和不变点y e sy e sy e sy e sy e s 采用基数法确定可变 n o n o n oy e s y e s 性 区分建模角色 y e sn o n on o y e s 专家分析和自动识别 n on o n oy e sy e s 可变点结合 建立领域词典 n o n o n o y e s y e s n on o n o n o y e s 建模结果直接应用与 体系结构 支持领域模型自动验 n on o n o n o y e s 证 是否有专用c a s e 工 具支持 n on o n o y e sy e s工具支持 2 0 基于本体的领域需求建模过程研究 第三章基于本体的领域特征模型 3 1 基于本体的领域工程概述 我们将本体引入到领域工程中,提出了一套完整的基于本体的特征趋动领域工 程框架按照领域工程的定义,我们的框架分成三个部分:基于本体的领域分析建 模,基于本体的领域设计、应用工程。图3 一l 绘出了基于本体的特征趋动的领域工 程示意图 2 9 。 图3 - t 基于本体的特征趋动领域工程示意图 基于本体的领域分析和建模部分是在领域分析的基础上,将颁域知识按照基于 本体的领域模型描述方式进行建模。这个部分通过领域软件工程师、领域专家和领 域建模师的工作。从领域的业务需求中提取基于本体的领域特征模型。这个阶段的 输出物是采用本体描述的领域特征模型,描述了领域的业务需求。 基于本体的领域设计部分是在领域特征模型的基础上,将领域特征模型转化成 基于本体的领域体系结构。这个部分的输入物是基于本体的领域特征模型,输出物 是基于本体的领域体系结构。 应用工程部分是在领域体系结构的基础上,对体系结构进行裁减,结合领域的 基于本体的领

温馨提示

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

评论

0/150

提交评论