已阅读5页,还剩56页未读, 继续免费阅读
(计算机应用技术专业论文)领域工程研究及其在水运编案领域的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 自“软件危机 产生以来,软件工作者就一直在寻找解决方法,软件复用被认为是 提高开发效率、解决软件危机的重要途径,更是实现软件产业工业化的必经之路。领域 工程是软件复用思想实现的主要技术手段。领域工程对一个领域进行分析,识别领域共 性,抽象、隔离、封装领域变化性,获取一组具有足够复用性的领域需求,形成领域模 型,然后以该模型为基础,识别、开发领域构件和体系结构等复用资产,为领域内应用 工程的开发提供了基础。 构件设计是领域工程的关键问题。领域分析方法和基于聚合度聚类方法是目前构件 设计的两类主要方法,它们都具有各自的优点,同时也存在着不足。本文对构件设计技 术进行了深入研究,对特征建模方法进行了改进,针对上述两类方法的不足,提出一种 基于特征的多模式构件设计方法,进而结合面向对象领域建模方法和体系结构搭建的研 究和实践成果,给出一种基于领域工程和构件技术的领域工程方案,来对水运编案领域 实施领域工程,从而获得该领域内的可复用资源。将方案应用于水运编案领域的过程中, 本文首先在对水运编案领域广泛调研的基础上,通过对该领域的深入分析,组织需求, 建立了以特征模型为中心,面向对象模型为辅的领域模型。同时,以领域特征模型为信 息源,重点关注领域变化性,设计领域多模式构件,搭建了领域的体系结构。最后,给 出了领域构件模型,指导领域构件的开发并举例展示。 本文将给出的构件设计方法和领域工程方案应用到工程实例水路运输方案编 制系统、水路保障方案编制系统,分析了基于领域工程和构件技术的领域工程解决方案 的实施过程,并通过实际开发中出现的业务变化情况的处理,验证了该方案具有较好的 实用性。 关键词:软件复用;领域工程;构件识别;水运编案 大连理工大学硕士学位论文格式规范 t h er e s e a r c ho nd o m a i ne n g i n e e r i n ga n da p p l i c a t i o ni ns h i p p i n gp l a n m 吞k i n gd o m a i n a b s t r a c t s i n c et h e ”s o f 陬搬ec r i s i s ”,s o f t w a r ee n g i n e e r sh a v eb e e n 旬啊n gt of i n do mt h es o l u t i o n s o n w 暑鹏r e u s ei sr e g a r d e da sa i l 呻。咖tm e 趿st ob o mi i r l p r 0 v ed e v e l o p i n ge m c i e n c ya i l d a d d r e s st l l es o r w a r ec r i s i s f 1 l r t b e h n o r e ,i tw a sr e c o g n i z e da s 也eo i l l yr o u t eo fr e a l i z i n g s o 鲰硼r ei n d l 塔t r i a l i z a t i o n a sam a i nt e c h n o l o g i c a lm e 趾st or e a l i z es o 行w a r er e u s e ,d o m a i l l e n g m e r i n ga t t a i n sag r 0 1 j po fd o m a i nr e q u n m e n t s t 1 1 a th a v es u f ! f i c i e n tr e u s a b i l 时锄df o m sa d o m a i nm o d e l ,w b i c hi sb a s e do nt 0i d e m i 鸟,d e v e l o pd o m 血c o i n p o n e n t s ,s y s t e ma r c b 丘t e c t u r e 锄do m e rr e u s a b l ea s s e t s 吐l 】r o u 曲a n a l y z i i l g 也ed o l a i n ,i d e n t i f i y i n g 吐l ed o m a j nc o i n m o n i l e s s a n da b s 订a c t i n g ,i s o l a t i n ga sw e l la se n c 印s u l a t i i l gm ed o m a i l lv a r i a b i l i 够 t l l i sm e s i sl l a sc a 玎i e do u ta nm d e p ms t u d yo nt l l ed o m 咖c n g i i l e e r i n gt e c l l i l o l o g ya 1 1 d m e t l l o d so fc o n l p o n e n ti d e n t i f i c a t i o n ,p r o p o s i l l gam e m o df o rc o m p o n e mi d 训f i c a t i o nb a s e d o nt h ep 血c i p l eo fi m p r o v i i l gf e a t u r em o d e l i n gi nd o m a i 【1 s c o m b i n e d 、析也r e s e a r c hf i n d i n g s o nm o d e l i i l gm e t h o d so r i e n t e do b j e c t 龇1 ds y s t e ma r c m t e c t l l r eo fd o m 出,t h i st l l e s i sh 嬲t h e n c o m et oar e s o l v m gs c h e m eo nd o m a i l le n g m e e r i n g ,w i 也d o m a i l le n 西n e e r i n ga n dc o i i l p o n e n t t e c h i l i q u ea st h eb a s i s a n dt h i ss c h e m ei s 印p l i e dt 0s h i p p i n gp l a l lm 舢l gd o m 洳s o t l l a t r e u s a b l er e s o u r c e sc a nb e 删n e d a t 矗r s t ,w i t haw i d er a n g eo fr e s e a r c ho nm a k m gs h i p p i i l g p l a n sa th a n d ,廿1 i st l l e s i sh a se s t a b l i s h e dad o m a i nm o d e l ,w l l i c hc e n t e r so nf e a :t u 舱dm o d e l i n g , 谢也o b ie c to r i e n t e dm o d e la st l l es e c o n d a 叫m o d e l s e c o n d l y ,诵md o m a i l lf e 砷玳dm o d e la s t l l ei i i f o m a t i o ns o u r c e ,g r e a ta t t e n t i o nh a sb e c np a i dt ot 1 1 ev 撕a b i l 竹o fd o m a 妇i i lt l l i st h e s i s , 、) v _ h i c hh a si d e 而f l e dv a r i o u sk i l l d so fc o m p o n e n t si i lt l l ed o m a i n 锄dh a sb 嘶l tt h es y s t e m 对c m t e c t u r eo fd o m a i n a n dt l l e nm em o d e lo fd o m a i nc o m p o l l e n tw a sp r e s e n t e dt og u i d e 吐1 e d e v e l o p m e n to fd o m a i l lc o m p o n e n t s ,、访t 1 1e x 锄p l e s1 i s t e dt 0d e m o n s t r a t e b a s e do n 吐l ec o n c r e t ee x a i 】1 p l eo f 印p l y i i l ge n 西n e e 面唱i nt l l i sd o m a i n - s m p p i n gp l a l l s m a k i i l gs y s t e m ,t h i sm e s i sh a sa n a l y z e dt 1 1 ei i n p l e m e n l a t i o np r o c e s so ns o l u t i o ns c h e m e 、杭钍l i n d o m 血e n g i i l e e 血ga n dc o m p o n e n tt e c h n o l o g y t l l i ss c h e m e h a sb e e np r o v e do fe x c e l l e m a d 印t a l ) i l i 哆t i l 】的u 曲d e 2 l 1 i 1 1 9 谢t hc h a n g i n gs i 饥眦i o l l si i lr e a lp r a c t i c e so fd e v e l o p i i l gd o m a i l l c 0 脚【p o n e n t s 】 时w o r d s : s o f t w a r er e u s e ;d o m a i ne n g i n e e r i n g ;c o m p o n e n ti d e n t i f i c a t i o n js h i p p i n g p l a nm a k i n g i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:篮塑三塑堑窒垒墓焦鲞垒鱼窒堡丛垒垄圈 作者签名:壅玺 日期:二型翌年j 巨月卫日 大连理工大学硕士学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目: 作者签名: 导师签名: 大连理工大学硕士学位论文 1 绪论 1 1 选题背景及研究意义 软件复用概念是由m c i l r o y 在1 9 6 8 年的n a t o 软件工程会议上正式提出的,是指 重复使用“为了复用而设计的软件”的过程,是在软件开发过程中避免重复劳动的解决 方案,使应用程序的开发不再从零开始,能够在现有的工作基础上,充分利用过去应用 系统开发中积累的知识和经验,将开发的重点集中在应用的特有部分【l j 。在软件复用技 术的发展过程当中,涌现出了很多富有成效的研究成果和复用实践。随着面向对象技术 和构件技术的发展,使得它们成为软件开发的主流技术,同时极大地推动了软件复用技 术的发展,使其重新成为研究热点,被视为解决“软件危机 、实现软件产业化的必经 之路。 以下的类比有助于进一步说明软件复用的概念。在软件演化的过程中,重复使用的 行为有可能发生在三个维度上: ( 1 )时间维:使用以前的软件版本作为新版本的基础,加入新功能,适应新需求, 即软件维护【l j 。 ( 2 )平台维:以某平台上的软件为基础,修改其和运行平台相关的部分,使其运 行于新的平台,即软件移植l l j 。 ( 3 )应用维:将某软件( 或其中构件) 应用于其它应用系统中,新系统具有不同 功能和用途,即真正的软件复用u j 。 这三种行为都重复使用了现有的软件,前两种是较低级别的复用,应用维的复用才 是软件复用技术的发展目标。 参照汽车、家电等成熟产业的发展,其基本模式都包含了标准零部件生产和整体产 品组装两大部分。显而易见,零部件设计生产是核心和前提,“流水线 化组装是必须 的手段。实践表明,这种模式是产业规模化的必由之路,要在一个产业里形成规模经济, 必须首先建立其高水平的标准零部件生产工业。传统工业的生产模式给软件行业一个良 好的借鉴,软件产业要发展并形成规模经济,可复用资产设计生产及复用是关键。所以 软件复用的研究十分具有现实意义及价值,而且已经刻不容缓。可复用资产的获取是成 功实施软件复用计划的关键因素,而领域工程就是目前获取可复用资产的最主要技术。 1 2 领域工程技术及研究现状 领域工程研究开始于8 0 年代初,其基于以下基本认识,可复用信息的领域特定性: 可复用性不是信息的一种孤立属性,它依赖于特定的问题和特定的问题解决方法1 3 j 。即 大连理工大学硕士学位论文格式规范 我们说某信息具有可复用性,是指当使用特定的方法解决特定的问题时,它是可复用的。 基于这一基本认识,在识别,获取和表示可复用信息时,应该采用面向特定领域的策略。 问题领域的内聚性和稳定性:关于现实世界问题领域的解决方法的知识是充分内聚和充 分稳定的,这才使得获取和表达这些知识的努力是有意义的【3 1 。这一基本认识是实际观 察的结果。一个问题领域的规约和实现知识的内聚性,使得可以通过一组有限的、相对 较少的可复用信息来把握这些可以解决大量问题的知识。领域的稳定性使得获取和表达 这些知识的代价,可以通过在较长的一段时间内的使用获得补偿。 目前已经存在很多领域工程方法,卡耐基梅隆大学软件工程研究所在1 9 9 0 年提出 了f o d a ( f e a :c i l r e o r i e n t e dd o m a i l l 加l a l y s i s ) 方法,其主要特色是把“特征”的概念引入 到领域工程的研究中,并提出使用特征模型作为组织领域需求的方式。韩国浦项科学与 技术大学在f o d a 方法的基础之上,提出了f o d m ( f e a n l r e o r i e n t e dr e u s em e t l l o d ) 方法, 其将关注点进一步延伸到领域设计和领域实现两个阶段,同时通过一个“子系统进程 模块”的参考体系结构和一组从特征变换到对象的启发式规则知道领域设计活动的实 施。在国内,北京大学软件工程研究所在青鸟工程的开发过程中提出了青鸟领域工程方 法,后来又进一步提出了f o r m ( f e a l i 鹏o r i e n t e dd o m a i l lm o d e l i n g ) 方法,该方法是青鸟 领域工程方法在构件模型下的进一步发展和完善,其重点关注了特征模型与面向构件的 软件开发方法的结合问题。 1 3 本文主要研究内容和组织 本文的研究背景是课题组所承担的水路运输方案编制系统项目。课题组对该领域业 务进行了调研,并研究了现存的该领域应用系统,发现领域内存在着很多共性需求,从 而得出可以对该领域进行领域复用的结论。 为了获得水运编案领域的可复用资源,本文主要研究一种实用的、可操作性强的、 面向特征的领域工程方案。该解决方案涵盖领域工程的各个阶段,同时对各个阶段的活 动、产品以及活动指南给出明确的规定。在该方案中,本文重点研究了特定领域下的领 域建模技术,以及基于领域特征模型的构件识别技术,在经典的f o d a 特征建模技术基 础之上,给出一种面向领域特征模型的变化性管理方法,以及给出一种基于该领域特征 模型的多模式构件识别设计方法。 论文第二章概述了基于构件的领域工程相关概念和基于领域模型的构件识别方法 研究现状,同时介绍了典型的面向特征的领域工程的过程和相关特点。第三章给出了一 种基于特征的多模式构件识别设计方法及其应用例子,进而形成了基于此方法的领域工 大连理工大学硕士学位论文 程方案,这部分是本文的工作重点。第四章重点讨论了运用上述领域工程方案对水运方 案编制领域的领域分析过程,最终得到了该领域的分析模型。第五章包含了领域工程的 后两个阶段:领域设计和领域实现。重点放在领域设计部分,包括了领域构件识别和领 域软件体系结构的搭建两部分内容。领域实现部分的主要内容是领域构件模型的讨论及 开发实例。第六章结合该领域的一个实例水路运输方案编制系统,分析了该应用工 程是如何基于领域工程展开的。最后,在结论中对本文的工作进行了总结,并提出了对 下一步工作的展望。 大连理工大学硕士学位论文格式规范 2 领域工程及构件设计 2 1基本概念 2 1 1 领域及领域工程 领域的概念和“普适”是相对的。在理想情况下,我们希望软件的可复用成分具有 普适性,即可以一劳永逸的实现复用。然而,软件的最终目的是为了解决客观世界中存 在的问题,问题的差异性导致了软件中的可复用成分不可能完全发生在普适层次上。与 普适复用相对比,面向领域的复用旨在实现对特定软件应用集合内的可复用成分的复用 【2 】。由此产生了“领域”的概念:一组具有相似或相近需求的应用系统所覆盖的功能区 域【引。一般而言,领域可以分为两种类型:垂直领域和水平领域。 ( 1 )垂直领域:即行业领域。由于特定行业所针对特提的特殊性,可以把特定行 业内的软件应用所覆盖的功能区域视为一个软件领域【4 】。 ( 2 )水平领域:即若干领域所共有的子领域。不同行业之间存在的相同的软件功 能领域【4 j 。 领域工程是在构造一个特定领域内的系统或者系统地某些部分时,以可重用的形 式,收集、组织并保存过去的经验的活动,以及在构造新系统时,提供一种充分的方法 来重用这些资源,即复用【5 】。 领域工程覆盖了领域内建立可复用软件资源的所有活动,过程中获得的可复用资产 对某特定领域中现存和未来的软件具有很好的适用性。领域工程的本质是连接领域知识 与可复用资产的桥梁,这也是复用的难点所在。 2 1 2 领域工程与应用工程 与领域工程紧密相关的一个概念是应用工程,是指领域内具体软件产品“基于复用 的开发 。应用工程存在两种不同的形态: ( 1 )无复用开发:这种应用工程发生在领域工程之前。足够的无复用的软件开发 活动将为领域工程的实施奠定必要的基础【5 j 。 ( 2 )基于复用的开发:发生在领域工程实施之后。基于领域工程的结果,应用工 程的实施以一种新的形势进行,即通过对领域内可复用资产的复用实现对特定软件应用 的开发1 5 j 。 大连理工大学硕士学位论文 领域工程是应用工程从第一种形态转换到第二种形态的桥梁。领域工程包括三个阶 段: ( 1 )领域分析:通过领域内多个样本系统的分析,识别出领域的共性和变化性需 求,从而形成领域模型【6 】。 ( 2 )领域设计:依据领域模型生产出领域中的软件应用所具有的共性软件体系结 构,即特定领域的软件体系结构( d o m a i n s p e c i f i c e ds o 慨觚h 沁c t u r e ) d s s a 【o j 。 ( 3 )领域实现:以领域模型和d s s a 为基础,识别、开发和组织领域中的构件 和体系结构等可复用资测6 | 。 领域工程是一个反复的、逐渐精化的过程。在实施领域工程的每个阶段,都有可能 返回到以前的步骤,对以前的步骤进行修改和完善,再回到当前步骤。 2 1 3 领域工程与复用成熟度 为了更加明确地指导软件复用实践的开展,许多研究者从不同方面提出了针对软件 复用能力成熟度的评价体系。其中,文献 6 从技术的角度把软件复用的成熟度分成5 个 级别。 ( 1 )产品的独立开发:不存在任何形式的复用,领域内各个软件产品的开发相互 独立【6 j 。 ( 2 )领域无关型基础设施的标准化:软件中的普适性复用成分得到了系统地复 用,但仍然不存在对领域共性的复用怕j 。 ( 3 )软件平台:领域中的共性成分被封装为一个软件平台,领域中的软件产品都 基于此平台进行开发【6 1 。 ( 4 )软件产品的导出:领域中的可复用资产具有较强的可定制性,软件产品的开 发通过手工定制的方式进行【6 j 。 ( 5 )自动化的产品导出:领域中的产品通过对领域可复用资产的自动化定制而生 盘【6 】 jo 通常,软件包含三种构成成分:通用共性成分、领域共性成分和应用特定成分。上 述5 个级别的差异体现在对这三种成分的生产和复用方式上。在第一级别,应用工程活 动承担了对这三种成分的开发;在第二级别,通用共性成分得到了系统地复用,而应用 工程只需要承担对其他两种成分的开发;在第三、四和第五级别,领域共性成分的开发 逐渐转移至领域工程活动中,在对领域共性的复用上则从人工提取,手工定制发展到自 动化定制。 大连理工大学硕士学位论文格式规范 2 1 4 构件设计 构件设计是基于构件领域工程第二步领域设计中的一个重要问题,也是实现软 件复用的关键技术。各类不同粒度构件是软件系统的基本构成单位,只有具备一组具有 可复用价值的领域构件,才能真正的实现领域复用。有效地构件识别技术被认为是成功 实施软件复用的重要因素。 构件设计人员必须遵循一定的原则和目标,对领域模型进行分析,将领域知识与构 件相结合,才能使最终获得的构件具有价值。构件设计可定义为按照特定的设计原则, 从特定的源信息获取特定指标构件的过程【9 】。按照信息源的不同,构件设计可以分为正 向工程和逆向工程两种。正向工程是指从需求模型出发,识别出构件,从而实现构件。 逆向工程是指软件系统已经存在的情况下,通过对系统地源代码进行分析,提取出构件 i l5 。在正向工程中,通过对领域模型的分析可以得到领域构件,反过来,通过这些领域 构件可以得到业务构件模型,两者之间存在严格的映射关系,业务模型是构建模型的语 义表达,构件模型是业务模型的软件体现。 国内外的研究者根据不同的业务模型形态和不同的设计目标和策略,提出了各自的 设计方法,主要有领域分析法和聚类分析法两大类。构件识别是领域工程的一个阶段, 设计人员从领域模型出发,确定领域内的共性和变化性,构造特定领域软件体系,同时 将变化性以可选构件的形式呈现。但是单纯的领域工程方法侧重于领域体系结构的复用 性和目标构件的适应性,却不太重视构件复用成本和内聚度等因素【9 】。而且各式各样的 领域工程设计构件方法太过于依赖设计人员的经验。聚类分析法的研究者从构件的复用 成本出发,计算业务元素之间的相关性,按照高内聚、低耦合的原则对面向对象业务模 型进行划分,从而识别出构件。文献 1 0 】和 1 1 是这种方法的典型代表。其基本思路是: 通过分析业务元素之间的语义依赖程度,将业务模型转化为图的形式( 业务元素为节点, 语义依赖为边) ,通过对图的分析进行构件识别。这类方法得到的构件间具有语义和结 构的松散耦合,保证了构件的复用成本较低。但是,这类方法只是针对特定的面向对象 业务模型的,其中绝大部分方法采用了i m i 模型中的类图,但是,构件绝不仅仅是类 的简单集合。同时,这些方法基本上没有考虑构件的复用度和日后适应变化的能力,开 发出的构件基本上只能在当前的应用工程中应用【9 】。所以,研究者开始关注多目标的构 件设计方法,比如用领域工程方法进行构件复用性和稳定性设计,采用聚合度、耦合度 方法进行复用成本优化,即将这两种类型的方法结合起来。比较典型的有文献【1 3 】和 1 4 】 提出的方法。 大连理工大学硕士学位论文 本文采用了多目标构件设计方法的思想,将领域工程方法和聚合度方法结合起来, 即以面向特征领域分析得到的特征模型为业务模型,采用聚合度思想对特征空间进行聚 类分析,设计构件。在构件复用性和构件复用成本上采取了折中的方法。详细分析请看 第三章。 2 2 面向特征的领域建模 2 2 1 关于特征 特征的概念最早产生于典型服务系统,特指电信服务提供商对用户提供的一系列标 准服务,并用来描述电信领域中特征干扰的现象。领域工程专家d a v i d 首次提出“把特 征作为系统需求规约的组织方式”。他认为,特征是从用户角度对系统地感知,用特征 对系统需求规约进行模块化组织是一种非常自然地手段。这种面向特征的需求规约组织 方式在f o d a 方法中被引入领域工程的研究和实践当中。 特征工程认为,特征是贯穿软件生命周期和跨越问题空间和解空间的最佳基本元 素,并希望特征的引入能够减少用户和软件开发者之间存在的期望差异1 6 j 。从需求规约 的组织结构角度看,特征提供了一种对需求的分割和组织方式,即以特征作为需求空间 内的基本元素,系统具有的特征及其相互关系构成了系统地需求空间;从需求的内涵来 看,一个特征体现了系统具有的各种能力或特点,反映了需求获取的参与者对系统的某 种要求或理解【l3 1 。 2 2 2 特征类型及其关系 f o d a 方法首先将特征引入了领域工程的研究,并对特征模型的组织框架及其建模 过程做了简单的定义和描述,其它的领域工程方法都在其基础之上进行了扩充,修改或 者剪裁。f o d a 方法把特征分为三种类型【6 j : ( 1 )必选特征:是指在领域中每个系统都应该包含的特征,如图所示的传输和马 力两个特征都是必选特征。 ( 2 )可选特征:是指对于领域中的各个应用系统可有可无的特征。例如图中所示 的空调特征。 ( 3 ) 多选一特征:多选一特征可以被认为是某一个一般性特征的具体化。如图, 手动特征和自动特征就是传输特征的具体化。 对于可选特征和多选一特征的选择,将取决于特定应用系统的用户。同时,这 两种特征还存在何时绑定的问题,f o d a 方法提供了三种类型的绑定时间:编译时绑定、 大连理工大学硕士学位论文格式规范 装载时绑定和运行时绑定。从特征内涵来看,特征还可以具体的分为以下几种类型:功 能性特征、非功能性特征、操作特征【6 】。 f o d a 方法中的特征模型主要包含了两种类型的特征关系:组成关系和组合规则。 其中,组成关系描述了特征在粒度上的包含关系,具体包含了如下两种关系1 6 j : ( 1 )分解关系:即把一个特征精化为一组作为其构成成分的特征。 ( 2 )特殊化关系:即把一个特征精化为一个包含更多细节的特征。 组合规则描述了特征之间的语义约束关系,更严格而言,组合规则是特征之间的不 同绑定状态之间的依赖关系,而且,这些组合规则为下一步的特征剪裁工作的一致性和 完整性提供了验证标准。常见的组合规则如下所示【3 】: ( 1 ) 二元约束关系: ,p g 甜抛( 口,6 ) = ( 口6 f 咒坊咿幻跆= 6 0 “船d ) = ( 6 6 f 砌咿六刃留= 6 d “,耐) 已c z “如( 口,6 ) = ,2 d f ( ( 口6 f ,砌咿r c z 纪= 6 d “,z d ) 口,耐( 6 6 f 玎硪,喀百f 口纪= 6 d “,耐) ) , ,咒”n f 口,一,它口“f ,g s ( 口,6 ) = ( ,g z f f ,p ( 口,6 ) ) 口,刃( 厂e g 甜护p ( 6 ,口) ) ( 2 ) 组约束关系: 口刀一g r d 妒( s ) = v 口,6 sm 甜砒刃一阳g 甜打留( 口,6 ) ) ,挖“f 蹦一矿d 印( s ) = v 口,6 sl 鳃c z “如( 口,6 ) ) 在时间维上,组合约束还分为静态和动态两种,动态约束是静态约束在系统运行时刻的 体现。实现动态约束是领域实现阶段的重要工作。 2 2 3 领域特征模型的结构 f o d a 使用特征模型作为领域需求模型的基本思想是:使用特征的概念来描述问题 空间的基本实体,使用特征及特征之间的关系来刻画问题空间。所以f o d a 方法的特征 模型主要包含了以下信息: ( 1 )通过组成关系形成的特征层次分解图。即特征之间的组成关系,具体包括了 分解关系和特殊化关系两种。 ( 2 )每个特征的具体描述,例如名称、描述、可选性、绑定时间、绑定状态。 ( 3 )特征之间存在的组合规则,包括静态规则和动态规则。静态约束关系为特征 剪裁提供了验证标准,而动态约束则是静态约束在系统运行时刻的体现。 可以认为特征模型分别用三个视图描述了问题空间,即特征组成关系视图、特征约 束关系视图和特征动态交互视图【引。建模过程大致分为三个阶段:上下文分析、领域建 模和架构建模。上下文分析目的是根据所针对的领域,划定一个领域范围。对所关注的 领域及与该领域交互的外部领域进行分析,确定它们之间的关联,分析领域的输入和输 大连理工大学硕士学位论文 出,从而确定领域内的不变因素和可变因素。上下文分析的目的是用结构图,领域数据 等确定领域范围。定义好领域的边界后,分三步进行领域建模,包括特征分析、信息分 析和操作分析,从而对领域中涉及的系统进行分析和抽象,识别系统之间的共性和差异, 并得到相应的领域特征模型。架构建模属于应用领域的高层设计,通过以上的领域分析 过程,确定领域中一致的处理过程和应用方法,定义出领域模型中的元素到过程的映射 【6 】。特征模型是否正确的描述了领域中特征及其之间的关系,必须有领域专家通过对已 经存在的应用系统进行验证才能得到说明。 在现有的领域工程方法中,大都采用了面向特征的领域需求组织方式。它们都把特 征作为建立领域模型的基本元素。以特征模型为核心,多种相关模型( 如用例模型,需 求对象模型等) 共同构成领域模型。 2 2 。4 变化性控制 当在整个领域而不是在单个系统地范围内考虑问题时,会发现一些特性是领域内所 有系统共有的,表现为领域共性;另一些特性是部分系统特有的,表现为领域变化性。 在领域工程中,识别、描述和实现变化性是关键性工作,对应用工程的实施具有指导性 意义和直接作用。在特征模型中,领域变化性具体表现为可选特征及其关系。领域变化 性充分的体现了领域内各类用户需求的同时,也为领域建模及其之后的领域设计、领域 实现带来一定困难。所以,领域分析、领域设计和领域实现阶段的变化性控制成为领域 工程的一个重点问题【引。 下面分别从变化性识别、变化性处理角度介绍当前的变化性控制主要策略。首先讨 论变化性识别: ( 1 )在领域分析阶段,建立领域用例模型的时候,需要对可变性需求的用例进行 筛选分析,将其中共同部分组成共同用例,对于可变部分,以扩展点的形式补充到用例 模型中。 ( 2 )在领域设计阶段,从问题空间到解空间,由于设计和实现技术的选择,会引 入一些与设计和实现技术相关的新的变化性,如运行环境等。需要描述设计当中的一些 决策点、问题与解答,如变化性绑定时间等。 变化性识别是基础,为变化性设计提供了前提。而变化性设计则主要是设计思想和 编程技术的应用。 ( 1 )领域设计阶段可以使用:聚合代理,继承,重载,宏模板,条件编译,构 件特化等。 大连理工大学硕士学位论文格式规范 ( 2 ) 领域实现阶段可以使用:聚合代理,继承,重载,宏模板,条件编译,a o p , 动态链接库等。 在目前常用的方法中,较少在领域分析阶段对变化性进行处理,而比较注重在设计 阶段,特别是实现阶段利用编程技术实现变化性处理。然而,在领域分析阶段就对变化 性进行处理,使其影响域尽量推前,能够减小领域设计的复杂性。 2 3 领域工程关键问题 领域工程的最终目标是为一组具有相似或相近需求的软件产品的开发提供易于复 用的可复用软件资产。因此,有效地为这组软件产品的共性和变化性需求建模就成为实 现这一目标的基本前提。 对共性和变化性需求的建模需要满足如下要求:对于后继的领域设计活动,建模的 结果必须能够提供充分的信息以支持对d s s a 的设计;对于将来的应用工程活动,建模 的结果必须能够提供方便的定制机制以支持对领域需求的便捷复用。 所以,如何识别处理需求中存在的共性和变化性? 如何分析处理需求之间存在的各 种依赖关系? 如何在领域设计阶段设计领域构件,封装变化性,如何在领域实现阶段编 程实现变化性等成为领域工程的关键问题。在第三章中,本文将就构件识别问题进行深 入研究,给出一种构件设计方法,并将其应用到领域工程中,为水运编案领域提供一种 领域工程解决方案。 大连理工大学硕士学位论文 3 构件设计方法研究及应用 3 1 概述 本文在对领域工程的深入分析和对多种领域工程方法理解的基础之上,针对特征建 模、领域设计阶段构件识别设计方法、领域实现阶段可变性编程实现等几方面的研究和 实践成果,给出了一种基于特征的多模式构件设计方法,同时,本文将该方法应用到领 域工程,给出了一个具体的基于构件领域工程方案,并在3 3 小节中具体介绍其步骤。 该方案是课题组在开发“水路运输方案编制系统 课题背景下提出来的。在开发“水路 运输方案编制系统”和“水路运输保障方案编制系统 过程中,逐渐统一了该方案的思 想,为后期该领域内的领域复用提供了可复用资源。 3 2 基于领域特征模型的构件设计方法 构件设计方法目前的相关研究成果可以归为两类:领域分析方法和基于聚合度耦 合度的方法。领域分析从特定领域一组相似的需求出发进行领域分析,确定通用性与可 变性,构造特定领域体系结构,寻求可复用的业务语义并构造构件,追求构件复用度的 提高,但忽视了复用成本和效率等因素【9 1 。代表性的方法有卡内基梅隆大学软件工程研 究所提出的面向特征的领域分析( f o d a ) 等。基于聚合度耦合度的方法从考虑复用成本 出发计算业务元素间全局相关性,按高聚合一低耦合原则对业务模型进行划分,并将子 模型封装为构件,代表性的方法有c r w d 矩阵法和聚类分析法。这类方法得到的构件 松散耦合,保证了较低的复用成本,但由于只是针对特定的业务模型进行划分,基本上 没有考虑构件的复用性【1 4 d 6 1 。针对上述问题,北京大学梅宏教授团队在文献 1 8 中提出 了一种基于领域特征模型的构件设计方法,但该方法过分依赖于软件设计者的经验,哈 尔滨工业大学王忠杰教授的综述文章提出了采用领域工程方法进行构件复用性和稳定 性设计、采用聚合度一耦合度方法进行面向复用成本优化的新思想,并在文献 1 4 系统 地提出了基于该思想的模型和方法。 领域构件识别的关键在于两点:设计方法本身以及其所采用的领域模型。本文从这 两个角度入手,对传统的面向特征模型进行了改进,并且对构件的模式进行了研究,给 出了基于特征的多模式领域构件设计方法。 3 2 1 特征模型基本概念 在2 2 小节基础上,本小节集中介绍文献 9 提出的特征模型的相关概念,包括了特 征空间、特征值等,并且引入了几种具体特征依赖关系的概念p j 。 大连理工大学硕士学位论文格式规范 ( 1 )特征空间:由一组特定领域相关的特征及其之间的依赖关系构成的语义空 间,称为特征空间。表示为( f ,d ) ,是特征集合,d 是特征间依赖关系集合【9 1 。 ( 2 )特征树:特征空间q 通常表示为特征树的形式,树中有且仅有一个根节点 表示q 的根特征,树中直接相连的父子节点分别表示父特征和子特征。c m d ( 厂) , p 钟p 脚( 厂) ,册c p s 幻,( 厂) 和d 妇c p 门如珊( 厂) 分别表示特征厂的子特征、父特征、祖先特征 和后代特征的集合。特征树中叶子节点称为原子特征,非叶子节点称为复合特征。父子 特征是一种聚合关系,描述特征之间的“整体部分”关系【9 】。 ( 3 )特征值:特征值是特征的实例,表示特征在不同环境下可能的取值,反映了 特征自身的变化性。砌z ( 厂) 为厂所有特征值的集合,称为厂的值域。特征与特征值是一 种“型值 关系,描述特征与特征项之间的“一般特殊”关系。图3 1 给出了一个特 征空间的实例例。 语义依赖:f l ,f 2 ,f 3 之间存在时序依赖 取值依赖:f 1 2 取值依赖于f 1 1 图3 1 特征空间示例图【9 】 f i g 3 1f e a t u r es p a c ef i g u r e ( 4 ) 最小子特征集合:设砌埘( 厂) 是特征厂的子特征集合,对于任意v 属于 w z ( 厂) ,存在f 如f 肠( 厂) ,= 石灰z ) ,对于w f ,至少存在一个特征值 v 谢( ,) ,使得v 可以由v 唯一确定。则称f 是特征值厂的最小子特征集合【9 1 。 大连理工大学硕士学位论文 ( 5 )完整性依赖:特征厂与特征集合f 之间存在完整性依赖关系,当且仅当 f 如砌( 厂) ,并且对于v 1 ,谢( 厂) ,j f f ,f 是1 ,的最小特征集合。完整性依赖实 际上描述了子特征相对于父特征的可选性约束,即传统的特征模型中特征之间的组成规 则,但是传统特征建模方法并没有给出确定的形式化定义。该关系还可以细分为四种类 型:必选特征依赖、可选特征依赖、多选一特征依赖、复选特征依赖桫j 。 ( 6 )特征语义依赖:特征语义依赖是指特征之间存在的语义关联关系。例如业务 特征之间的时序依赖,业务活动特征之间的条件约束等。本文使用谓词s ( 尸) 表示特征 集合,包含的特征之间要满足s 约束。语义关系是特征之间的“型型 依赖。特征语 义依赖是传统特征模型中特征之间组合规则的扩展【9 】。 ( 7 )特征值依赖:设m 和是特征集合f 的子集,假如v ,z j 的取值,总是 取决于m 的子集x 中特征取值,则称特征集合特征值依赖于特征集合m 【9 】。 3 2 2 领域特征模型改进 。 领域分析在对领域中若干典型系统的需求进行分析的基础上,考虑预期的需求变 化、局势发展及客观限制等因素,确定合适的领域范围,识别领域中的共性和变化性, 获取一组具有足够复用性的领域需求,并对其进行抽象,形成领域模型1 1 0 1 。与传统的软 件工程需求规约模型不同,领域模型是针对一个特定领域的需求规约模型。它除了具有 一般需求规约模型的作用以外,还有以下两个重要作用: ( 1 )为领域内新系统的开发提供可复用的软件需求规约:新系统的开发者通过对 领域模型进行适当的剪裁和扩展,形成适合该系统的需求规约。为了适应对领域需求的 复用要求,领域模型不仅要记录领域内系统具有的共性功能和质量属性,还要记录这些 属性可能具有的变化性性。其组织结构还必须具有良好的可剪裁性和可扩展性【3 】。 ( 2 )指导领域设计阶段和实现阶段可复用软件资产的生产:为了提高领域体系结 构、领域构件等软件资产的可复用性,一个重要的原则就是保持共性和变化性的分离。 领域模型必须提供相应的机制来支持对变化性需求的隔离、封装和抽象。同时,领域模 型对领域需求的良好组织应该能够在一定程度上减小需求和设计之间存在的鸿沟【3 】。 面向特征的需求规约组织方式首先由f o d a 方法引入到领域工程的研究和实践当 中。它使用特征及其之间的关系,即特征模型,作为领域模型的核心部分。现有的比较 知名的领域工程方法都采用了面向特征的需求组织方式,它们以特征模型为中心,由多 种相关模型( 例如面向对象分析模型) 共同构成领域模型。f e a t u r s e b 引入了变化点和 变量的概念,表达一组同一维度的变化特征。同时,它还是用o r ,x o r 表示一组同一维 度变化特征的多选一和多选多的剪裁特点。f o 砌订方法为了保持领域特征模型的间接性 大连理工大学硕士学位论文格式规范 仅使用了一种类型的绑定时间。在国内,北京大学软件工程研究所提出了f o d m 方法, 并从基本组织、变化性表现方式和限制机制、变化性绑定时间等若干方面对特征模型的 组织框架和剪裁机制进行了统一、抽象的描述。这些方法基本上都丰富了特征模型的变 化性表现机制,例如都引入了新的可变特征之间的关系,使得特征模型能够更加全面、 具体的描述领域的变化性。这样,随着领域功能的增加,领域特征模型往往就变得越来 越复杂,特征之间的关系越来越多,特别是表现变化性的可选特征之间的约束关系,错 综复杂。特征之间的约束关系是领域构件识别的关键因素和特征剪裁工作的一个检验标 准,复杂的特征模型使得构件识别的难度加大,同时,在开发领域内新系统时的特征剪 裁和扩展工作变得很复杂,不利于应用工程的展开。因此,在不降低特征模型的描述能 力前提之下,从简化特征间关系,利于构件识别和特征剪裁的展开,以及增强需求和设 计之间的映射的角度出发,本文扩展了f o d a 的建模元素,给出了“独立功能单元”的 概念及识别方法,它以特征为基本元素,可以同时在问题空间和解空间管理变化性。其 概念为:一组通过特征约束相关联的特征集合,该集合中的特征为领域提供相同的服务, 是领域提供该服务的最小特征集合。同时,原本特征之间的约束关系也相应的映射到独 立功能单元内部或者之间。在特征模型中,独立功能单元的识别方法如下: ( 1 )特征模型中没有子特征的可选特征被识别为一个独立功能单元。 ( 2 )特征模型中,当一个子特征空间的特征集合只包含了根特征及其子特征,则 该子特征空间被识别为一个独立功能单元。 因此,模型中的部分变化性( 例如可选特征之间的约束关系) 就被封装到独立功能 单元中。对特征模型进一步确定其独立功能单元带来如下好处:降低了特征模型的复杂 度,为后续构件识别工作打下基础、简化剪裁操作。 3 2 3 基于特征的多模式构件设计方法 本文在改进了领域特征建模基础之上,给出一种基于特征的多模式构件识别方法, 并给出了具体应用实例,证明了其有效性和可操作性。 一个构件定义了特定业务领域的一个特征子空间。本文用如下表达式表示构件特征 模型c ( c 耐,夕d d r ,f ,d ) ;其中,c 耐是构件的唯一标识,矿d d f 是该构件特征子空间的根 特征,是该特征子空间的特征集合,d 是该特征集合中特征之间的依赖关系集合。 在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业刑事合规整改服务合同
- 水环境治理设备防冻维保师岗位招聘考试试卷及答案
- 数字音乐制作人考试试卷及答案
- 深海载人潜水器运维工程师考试试卷及答案
- 公共楼顶防漏方案范本
- 甘肃医保服务协议书
- 俄罗斯 中国 合作协议书
- 自动驾驶服务协议书模板
- 笔记本共享传输协议书
- 环境监测数据安全协议
- 高校非学历教育质量评估标准
- 艾梅乙反歧视培训
- 水厂污泥排放管理办法
- 2025年湖南省长沙市初中学业水平考试中考(会考)生物试卷(真题+答案)
- 证券销售客户管理办法
- 公司小药箱物品管理制度
- 语文●全国Ⅰ卷丨2024年普通高等学校招生全国统一考试语文试卷及答案
- 兵棋测试题及答案
- 主体工程报价单-模板定稿
- 医院机房制度管理制度
- 电厂电力监控系统网络安全防护管理制度
评论
0/150
提交评论