软件工程第十章精.ppt
《软件工程第十章精.ppt》由会员分享,可在线阅读,更多相关《软件工程第十章精.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程第十章软件工程第十章第1页,本讲稿共34页软件复用的基本概念软件复用的基本概念引言:做事习惯性地沿用已有的经验和方法.简单的说,软件复用就是将已有的软件成分用于构造新的软件系统软件共享:在一个系统中多次使用一个相同的软件成分软件移植:对一个软件进行修改,使它能运行于新的软、硬件平台第2页,本讲稿共34页软件复用的定义软件复用的定义 在构造新的软件系统的过程中,对已存在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。在的软件人工制品的使用技术。制造软件构件的技术制造软件构件的技术:独立于单个软件:独立于单个软件系统开发的,可服务于整个应用领域的系统开发的,可服务于整个应用领域
2、的构件生产技术构件生产技术使用软件构件的技术使用软件构件的技术:在软件系统开:在软件系统开发中使用已有软件构件的技术,也称发中使用已有软件构件的技术,也称为为“基于构件的软件开发基于构件的软件开发”第3页,本讲稿共34页软件复用和软件开发的关系:软件复用和软件开发的关系:开发伴随着复用,开发为了复用。开发伴随着复用,开发为了复用。CBSE的一种过程模型的一种过程模型制造软件构件的制造软件构件的技术技术领域工领域工程程基于构件的软件基于构件的软件工程工程CBSE使用软件构件的使用软件构件的技术技术基于构基于构件的开发件的开发第4页,本讲稿共34页CBSE的一种过程模型的一种过程模型第5页,本讲稿
3、共34页软件复用的重要性软件复用的重要性 软件复用的目的是能更快、更好、成本更软件复用的目的是能更快、更好、成本更低地生产软件制品。低地生产软件制品。一般地说,在软件开发中采用复用构件可一般地说,在软件开发中采用复用构件可以比从头开发这个软件更加容易。以比从头开发这个软件更加容易。第6页,本讲稿共34页企业需要解决的问题企业需要解决的问题充分认识软件复用的重要性,尽快建立支充分认识软件复用的重要性,尽快建立支持软件复用的基础设施(例如构件库、制持软件复用的基础设施(例如构件库、制造可复用构件的辅助开发工具)造可复用构件的辅助开发工具)建立相应的培训计划,在企业内部形成建立相应的培训计划,在企业
4、内部形成一个使用复用技术的环境一个使用复用技术的环境采用更先进的,可以促进软件复用的软采用更先进的,可以促进软件复用的软件开发方法。如面向对象的开发方法件开发方法。如面向对象的开发方法采用相应的激励措施。例如改变传统的工采用相应的激励措施。例如改变传统的工作量计算方法作量计算方法代码行代码行第7页,本讲稿共34页软件复用的粒度软件复用的粒度 四类四类源源代代码码复复用用:对对对对构构构构件件件件库库库库中中中中用用用用高高高高级级级级语语语语言言言言编编编编写写写写的的的的源源源源代代代代码码码码构构构构件的复用。件的复用。件的复用。件的复用。优优点点:构构件件具具有有较较高高的的可可靠靠性性
5、,使使用用者者只只需需设设置置参数而无需介入构件内部,降低复用的难度参数而无需介入构件内部,降低复用的难度缺缺点点:构构件件的的通通用用性性、抽抽象象性性成成为为在在具具体体使使用用时时必须面对的问题必须面对的问题软件体系结构复用:软件体系结构复用:对已有的软件体系结构的复用。对已有的软件体系结构的复用。对已有的软件体系结构的复用。对已有的软件体系结构的复用。优优点点:可可复复用用较较大大粒粒度度的的软软件件制制品品,其其修修改改具具有有局部性局部性缺缺点点:难难以以抽抽象象出出简简明明的的描描述述,存存放放体体系系结结构构的的库往往不易管理库往往不易管理第8页,本讲稿共34页软件复用的粒度软
6、件复用的粒度应用程序生成器:应用程序生成器:对整个软件系统的设计的复用,包括对整个软件系统的设计的复用,包括对整个软件系统的设计的复用,包括对整个软件系统的设计的复用,包括整个软件体系结构、相应的子系统和特定的数据结构及算法。整个软件体系结构、相应的子系统和特定的数据结构及算法。整个软件体系结构、相应的子系统和特定的数据结构及算法。整个软件体系结构、相应的子系统和特定的数据结构及算法。优点:优点:自动化程度高,能获取某个特定领域的标准自动化程度高,能获取某个特定领域的标准和以黑盒形式输出结果(应用程序)。和以黑盒形式输出结果(应用程序)。缺点:缺点:特定的应用程序生成器不易构造特定的应用程序生
7、成器不易构造领域特定的软件体系结构的复用:领域特定的软件体系结构的复用:对特定领域中存对特定领域中存对特定领域中存对特定领域中存在的一个公共体系结构及其构件的复用。在的一个公共体系结构及其构件的复用。在的一个公共体系结构及其构件的复用。在的一个公共体系结构及其构件的复用。优点:优点:复用的程度高,对可复用构件的组合提供了复用的程度高,对可复用构件的组合提供了一个通用框架一个通用框架缺点:缺点:前期投资很大前期投资很大第9页,本讲稿共34页软件复用的形式软件复用的形式 横横向向复复用用:也也称称为为水水平平复复用用,是是指指复复用用活活动动的的范范围围跨跨越越了了几几个个不不同同的的应应用用领领
8、域域,复复用用的的软软件件产产品品主主要要包包括括数数据据结构、通用算法、人机界面等软件元素。结构、通用算法、人机界面等软件元素。纵纵向向复复用用也也称称为为垂垂直直复复用用,是是指指复复用用活活动动的的范范围围限限制制在在同同一一个个应应用用领领域域或或者者是是一一类类具具有有较较多多共共性性的的应应用领域内。用领域内。生生产产者者复复用用:指指建建立立、获获取取或或者者重重新新设设计计可可复复用用构构件件的的活活动动。涉涉及及到到的的活活动动包包括括复复用用的的规规划划、领领域域分分析、构件的开发、构件库的组织和管理。析、构件的开发、构件库的组织和管理。消消费费者者复复用用:指指使使用用可
9、可复复用用的的构构件件建建立立新新的的系系统统的的活活动动。涉涉及及到到的的活活动动包包括括应应用用系系统统的的规规划划、构构件件的的检检索索和和选选择择、应应用用系系统统中中非非复复用用部部分分的的开开发发、应应用用系系统的组装。统的组装。第10页,本讲稿共34页软件软件复用的困难复用的困难 复用具有许多明显的优点,但目前应用不广泛的主要复用具有许多明显的优点,但目前应用不广泛的主要原因是:原因是:(1)技术因素技术因素 构件与应用系统之间的差异;构件与应用系统之间的差异;构件与应用系统之间的差异;构件与应用系统之间的差异;构件要达到一定的规模,才能支持有效的复用;构件要达到一定的规模,才能
10、支持有效的复用;发现合用构件的困难;发现合用构件的困难;基于复用的软件开发方法和软件过程需要一些新的理论、技基于复用的软件开发方法和软件过程需要一些新的理论、技基于复用的软件开发方法和软件过程需要一些新的理论、技基于复用的软件开发方法和软件过程需要一些新的理论、技术及支持环境。术及支持环境。术及支持环境。术及支持环境。(2)(2)人的因素人的因素喜欢自己创造而不喜欢使用别人的东西。喜欢自己创造而不喜欢使用别人的东西。(3)管理因素管理因素管理因素管理因素把复用构件和一般软件构件同等看待,把复用把复用构件和一般软件构件同等看待,把复用看作可有可无的事。看作可有可无的事。(4)教育因素教育因素教育
11、因素教育因素软件科学技术的教育与培训中,缺乏关于软软件科学技术的教育与培训中,缺乏关于软件复用的内容,缺少专门教材和课程。件复用的内容,缺少专门教材和课程。第11页,本讲稿共34页领域工程领域工程所所谓谓的的“领领域域”,指指的的是是一一组组具具有有相相似似或或相相近近软软件件需需求求的的应应用用系系统统所所覆覆盖盖的的功功能能区域。区域。最最优优复用复用应应用系用系统统形成的功能最大交集形成的功能最大交集通通过过领领域域分分析析(domain(domain analysis)analysis)找找出出最最优优复复用用,对对它它们们进进行行设设计计和和构构造造,形形成成为为可可复复用用构构件件
12、,进进而而建建立立大大规规模模的的软软件件构件构件仓库仓库的的过过程,就是程,就是领领域工程域工程。第12页,本讲稿共34页领域分析领域分析 定义定义领域分析是在领域分析是在特定应用领域特定应用领域寻找寻找最优复用最优复用,以公,以公共对象、类、子集合和框架等形式进行共对象、类、子集合和框架等形式进行标识标识,然然后对它们进行后对它们进行分析分析和和规约规约。目标目标是获得是获得“领域需求领域需求”及及“领域模型领域模型”作用作用根据领域需求,领域工程师寻找领域的根据领域需求,领域工程师寻找领域的共性共性,进,进而确定软件的可复用构件而确定软件的可复用构件 第13页,本讲稿共34页领域分析的输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第十
限制150内