- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件复用与软件构件;概 述;软件复用的概念
软件复用的分类
软件复用的意义
软件复用的关键技术
软件复用的研究与实践
构件模型的实例——青鸟构件模型
;软件复用的概念;-- 在软件演化的过程中,重复使用的行为可能发生在三个维上:
1、时间维:
2、平台维:
3、应用维:
-- 这三种行为中都重复使用了现有的软件。
-- 它的基本思想非常简单,即放弃那种原始的、一切从头开始的软件开发方式,而是利用复用技术,由公共的可复用构件来组装新的系统,这些可复用构件包括对象类、框架或者软件体系结构等。;软件复用的分类;-- 依据对可复用信息进行复用的方式分类,可以将软件复用区分为:
①、黑盒(Black-box)复用:黑盒复用指对已有构件不需作任何修改,直接进行复用。
②、白盒(White-box)复用:白盒复用指已有构件并不能完全符合用户需求,需要根据用户需求进行适应性修改后才可使用。;-- 依据抽象程度的高低,我们将软件的复用划分为以下几类:
1、代码的复用
包括目标代码和源代码的复用,其中目标代码的复用级别最低。源代码的复用级别略高于目标代码的复用,程序员在编程时把一些想复用的代码段复制到自己的程序中,但这样往往会产生一些新旧代码不匹配的错误。
2、设计的复用
这种复用有三种途径;
①、途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应用于新系统的设计。
②、途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现,也就是把一个设计运用于多个具体的实现。
③、途径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。;3、分析的复用
复用的途径也有三种:
①、从现有系统的分析结果中提取可复用构件用于新系统的分析。
②、用一份完整的分析文档作输入产生针对不同软硬件平台和其它实现条件的多项设计。
③、独立于具体应用,专门开发一些可复用的分析构件。
4、测试信息的复用
主要包括测试用例的复用和测试过程信息的复用。前者是把一个软件的测试用例在新的软件测试中使用。后者是在测试过程中通过软件工具自动地记??测试的过程信息。;软件复用的意义;-- 软件复用的意义主要有以下几点:
①、提高生产率:软件复用最明显的好处在于提高生产率,从而减少开发代价。
②、减少维护代价:使用经过检验的构件,减少了可能的错误,同时软件中需要维护的部分也减少了。
③、提高互操作性:通过使用同一个接口的实现,系统将更为有效地实现与其它系统之间的互操作。;④、支持快速原型:软件复用另一个好处在于对快速原型的支持,即可以快速构造出系统可操作的模型,以获得用户对系统功能的反馈。
⑤5、减少培训开销:软件工程师将使用一个可复用构件库,其中的构件都是他们所熟悉和精通的。
-- 通过软件复用,在应用系统开发中可以充分地利用已有的开发成果,消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发的效率,同时,通过复用高质量的已有开发成果,避免了重新开发可能引入的错误,从而提高了软件的质量。;软件复用的关键技术;-- 构件具有以下特点:
(1)构件是一个独立的可部署单位,它能很好地从环境和其它构件中分离出来。
(2)作为一个部署单位,一个构件不会被部分地部署,第三方也不应该涉及构件的内部实现细节。
(3)构件是可替换的,构件通过接口与外界进行交互,明确定义的接口是构件之间唯一可视的部分。;-- 软件构件的主要研究内容包括:
(1)构件获取:
(2)构件模型:
(3)构件描述语言:
(4)构件分类与检索:
(5)构件复合组装:
(6)标准化:;2、软件构架
软件构架是对软件系统的系统组织,是对构成系统的构件的接口、行为模式、协作关系等体系问题的决策总和。
在基于复用的软件开发中,为复用而开发的软件构架可以作为一种大粒度的、抽象级别较高的软件构件进行复用,而且软件构架还为构件的组装提供了基础和上下文,对于成功的复用具有非常重要的意义。;-- 软件构架研究如何快速、可靠地从可复用构件构造系统的方式,着重于软件系统自身的整体结构和构件间的互联。其中主要包括:
(1)软件构架原理和风格;
(2)软件构架的描述和规约;
(3)特定领域软件构架;
(4)构件向软件构架的集成机制。;3、领域工程
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆
文档评论(0)