资料介绍
软件的可复用性是人们评价一个软件系统的重要指标。软件复用是提高软件生产效率与质量的一种有效途径,它可以通过软件中的可复用构件(reusable component)来实现,即通过集成已有的构件来创建新系统。以领域分析为基础的特定领域复用(Domain-Specific Reuse)是提高软件复用水平的重要途经之一。将目标集中在一个特定应用领域中实现软件复用,从构件的开发到构件的存储与管理都比较容易。本文对结合面向对象、FODA方法和构件化思想的领域分析方法进行了初步探索,提出了构件化的领域分析方法,从而为在软件开发的前期阶段实现构件化开发,更加有效地实现软件复用提供了指导。
1 相关理论
1.1 软件复用
软件复用是指重复使用“为了复用目的而设计的软件”的过程。软件复用是在软件开发中避免重复劳动的解决方案,其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、设计方案、源代码、测试计划及测试案例等,从而将开发的重点集中于应用的特有构成成分。
与软件复用相关的两个基本开发活动是面向复用的开发和基于复用的开发,前者是生产可复用构件的过程,后者是利用现有的可复用构件生产新系统的过程。它们分别对应领域工程和应用工程,处理好它们之间的关系,才能实现真正成功的软件复用。
1.2 领域工程
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用的软件构件的所有活动。其中“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。
领域工程是创建可复用构件的过程,其核心思想是:应用模式领域化,问题抽象通用化,软件元素重用化,开发过程工程化。实施领域工程的过程可以分为以下三个主要的阶段:
(1)领域分析:目标是获得领域模型。
(2)领域设计:目标是获得DSSA(特定领域软件体系结构)。
(3)领域实现:主要任务是依据领域模型和DSSA开发、组织可重用构件。
需要特别指出的是,领域工程的三个基本阶段所描述的过程是一个反复的、逐渐求精的过程。在实施领域工程的每个阶段中,都可能返回到以前的步骤,对以前得到的结果进行修改和完善,再回到当前步骤,在新的基础上实施本阶段的过程。
1.3 面向特定领域的软件开发
与领域工程相对的是开发单个应用系统的软件工程的过程,称为应用工程。
在应用工程中,软件开发人员的任务是针对一组特定的需求产生一组特定的设计和实现。与此相对,在领域工程中,领域工程人员的基本任务是对一个领域中的所有系统进行抽象。领域工程的各个阶段主要是对应用工程中相应阶段产品的抽象,领域工程又对本领域中新系统的开发提供支持。在CBSE思想的指导下,基于构件的应用工程实际上是构件的组装过程。构件(Component)是指应用系统中可以明确辨识的构成成分。而可复用构件是指具有相对独立的功能和可复用价值的构件。随着对软件复用理解的深入,构件的概念已不再局限于源代码构件,而是延伸到需求、系统和软件的需求规约、系统和软件的构架、文档、测试案例和数据以及其他对开发活动有用的信息。这些可复用软件构件通过领域工程获得,作为应用工程开发的基本元素。
在开发实际的应用系统时,将领域工程与应用工程相结合,可以快速、有效地开发出用户满意的系统。两者相结合的软件开发模型如图1所示。
通过以上讨论可以看到,在面向领域的软件开发过程中,领域模型的建立是软件开发的基础。当开发同一领域的新系统时,可根据领域分析确定新应用的需求规约,以此来指导贯穿于整个开发的设计与组装。因此领域分析的成功与否,对今后的开发具有举足轻重的作用。领域分析的成功复用,可以从更抽象的层次实现软件复用。
1.4 领域分析
所谓领域分析(DA)就是在系统分析之前,分析、研究有关应用领域特性的活动。它是发现和记录某个领域各系统的共性和差异的过程,是系统化、形式化、有效复用的关键。通过领域分析,相似系统的公共特性将被提取,适用于该领域所有公共的、基本的对象、操作也将被标志出来,并且可通过定义模型描述它们之间的关系。领域分析的目标就是获得领域模型。领域模型(Domain Model)是领域中各系统的共同需求的描述。它描述了领域内系统需求上的共性。
1.4.1 FODA方法与特征模型
FODA对领域分析过程进行了完整的描述,特征概念是FODA方法的核心。所谓特征是指系统中的属性和特点,按特征在领域中的可选性及特征间的相互关系可分为三类:
(1)强制性特征:必须被选择的特征。
(2)可选特征:从0到n个可供选择的特征。
(3)可替换特征:至少有一个被选择的特征。
按特征的内容也可分为三类:
(1)功能相关:系统所作的事情。
(2)环境相关:系统是如何被使用的,变化点的原因。
(3)表示相关:系统信息是如何被用户所观察的或者是如何被相关应用所获得的。
特征模型通过使用抽象和细化的机制对领域中不同应用的所有特征进行了分类,从而提供了关于领域体系结构和可复用构件的高层视图。特征模型可作为应用开发者的地图,当应用开发者面对庞杂的Use Case模型或者其他模型时,特征模型提供了关于哪些是可选的、哪些是可合并的信息。
1 相关理论
1.1 软件复用
软件复用是指重复使用“为了复用目的而设计的软件”的过程。软件复用是在软件开发中避免重复劳动的解决方案,其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、设计方案、源代码、测试计划及测试案例等,从而将开发的重点集中于应用的特有构成成分。
与软件复用相关的两个基本开发活动是面向复用的开发和基于复用的开发,前者是生产可复用构件的过程,后者是利用现有的可复用构件生产新系统的过程。它们分别对应领域工程和应用工程,处理好它们之间的关系,才能实现真正成功的软件复用。
1.2 领域工程
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用的软件构件的所有活动。其中“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。
领域工程是创建可复用构件的过程,其核心思想是:应用模式领域化,问题抽象通用化,软件元素重用化,开发过程工程化。实施领域工程的过程可以分为以下三个主要的阶段:
(1)领域分析:目标是获得领域模型。
(2)领域设计:目标是获得DSSA(特定领域软件体系结构)。
(3)领域实现:主要任务是依据领域模型和DSSA开发、组织可重用构件。
需要特别指出的是,领域工程的三个基本阶段所描述的过程是一个反复的、逐渐求精的过程。在实施领域工程的每个阶段中,都可能返回到以前的步骤,对以前得到的结果进行修改和完善,再回到当前步骤,在新的基础上实施本阶段的过程。
1.3 面向特定领域的软件开发
与领域工程相对的是开发单个应用系统的软件工程的过程,称为应用工程。
在应用工程中,软件开发人员的任务是针对一组特定的需求产生一组特定的设计和实现。与此相对,在领域工程中,领域工程人员的基本任务是对一个领域中的所有系统进行抽象。领域工程的各个阶段主要是对应用工程中相应阶段产品的抽象,领域工程又对本领域中新系统的开发提供支持。在CBSE思想的指导下,基于构件的应用工程实际上是构件的组装过程。构件(Component)是指应用系统中可以明确辨识的构成成分。而可复用构件是指具有相对独立的功能和可复用价值的构件。随着对软件复用理解的深入,构件的概念已不再局限于源代码构件,而是延伸到需求、系统和软件的需求规约、系统和软件的构架、文档、测试案例和数据以及其他对开发活动有用的信息。这些可复用软件构件通过领域工程获得,作为应用工程开发的基本元素。
在开发实际的应用系统时,将领域工程与应用工程相结合,可以快速、有效地开发出用户满意的系统。两者相结合的软件开发模型如图1所示。
通过以上讨论可以看到,在面向领域的软件开发过程中,领域模型的建立是软件开发的基础。当开发同一领域的新系统时,可根据领域分析确定新应用的需求规约,以此来指导贯穿于整个开发的设计与组装。因此领域分析的成功与否,对今后的开发具有举足轻重的作用。领域分析的成功复用,可以从更抽象的层次实现软件复用。
1.4 领域分析
所谓领域分析(DA)就是在系统分析之前,分析、研究有关应用领域特性的活动。它是发现和记录某个领域各系统的共性和差异的过程,是系统化、形式化、有效复用的关键。通过领域分析,相似系统的公共特性将被提取,适用于该领域所有公共的、基本的对象、操作也将被标志出来,并且可通过定义模型描述它们之间的关系。领域分析的目标就是获得领域模型。领域模型(Domain Model)是领域中各系统的共同需求的描述。它描述了领域内系统需求上的共性。
1.4.1 FODA方法与特征模型
FODA对领域分析过程进行了完整的描述,特征概念是FODA方法的核心。所谓特征是指系统中的属性和特点,按特征在领域中的可选性及特征间的相互关系可分为三类:
(1)强制性特征:必须被选择的特征。
(2)可选特征:从0到n个可供选择的特征。
(3)可替换特征:至少有一个被选择的特征。
按特征的内容也可分为三类:
(1)功能相关:系统所作的事情。
(2)环境相关:系统是如何被使用的,变化点的原因。
(3)表示相关:系统信息是如何被用户所观察的或者是如何被相关应用所获得的。
特征模型通过使用抽象和细化的机制对领域中不同应用的所有特征进行了分类,从而提供了关于领域体系结构和可复用构件的高层视图。特征模型可作为应用开发者的地图,当应用开发者面对庞杂的Use Case模型或者其他模型时,特征模型提供了关于哪些是可选的、哪些是可合并的信息。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 设计模式_可复用面向对象软件的基础.pdf 0次下载
- 基于面向对象概念格的卸掉集判定定理 3次下载
- 面向过程和面向对象有什么区别
- 面向对象的程序设计总结与过程化程序设计有什么区别? 0次下载
- 实例分析基于构件技术的系统软件架构 0次下载
- 构件技术的通用自动测试系统软件设计 0次下载
- RFID领域软件构件化开发技术研究 22次下载
- 基于面向对象的软件测试技术研究
- 面向对象软件自动生成在检测系统中的应用
- 基于对象Petri网的研究导弹作战效能评估的方法
- 面向对象的可编程控制器程序设计方法
- 面向对象软件度量C&K方法的研究与改进
- Java面向对象程序设计教程 0次下载
- 面向对象的参数化CAD二次开发方法研究
- 面向UUT问题域的测试需求分析方法研究
- Objects:为对象类提供对象技术 316次阅读
- Python中的类和对象详解 942次阅读
- 循环队列C语言面向对象实现 489次阅读
- C语言是怎么面向对象编程 1484次阅读
- 面向对象开发的SOLID五大基本原则 693次阅读
- 面向对象方法实现IIC驱动封装以及AT24CXX存储器的封装 1347次阅读
- 基于构件化软件开发的IEEE802.15.4标准的设计与实现 2122次阅读
- 使用JavaScript创建对象的方法和案例 2831次阅读
- UML软件分析与建模技术在嵌入式指纹门禁系统中的应用研究 1791次阅读
- RFID领域软件构件化开发技术你知道吗 773次阅读
- 南京紫光基于对象存储系统的随机读写对象的方法 3200次阅读
- 这可能是Python面向对象编程的最佳实践 2606次阅读
- 史上最全Python面向对象编程的资料合集 3066次阅读
- 基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计 780次阅读
- 面向对象设计之定义领域服务 1016次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多