- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在同一个领域的应用系统之间,不但可以找到其共同的软件构件,而且可以发现共同的或相似的软件体系结构(Software Architecture)。 专向领域的复用开拓了一种新的复用境界,被复用的不仅是可实现某种局部功能的软件构件,而且可以是一些形成系统总体结构,并把各个可复用构件连接到一起的软件构架(Software Framework)。 电子产品的主电路板可看成该产品可复用的构架,它把许多可复用的电子器件连接在一起。 软件构架是一种由特定领域的软件体系结构所决定的软件构造框架。 可复用的软件构架 软件构架不是解决软件的某个局部问题,而是描 述了软件的总体结构。它描述了一类软件的总体构成 情况,包括该软件有哪些主要部件以及各部件之间的 关系,但是不涉及每个部件的细节。 可复用的软件构架给出一类应用系统在总体构造 上的共性或相似性,忽略了各个系统的局部差异。 例如,一个超级市场的销售管理系统的软件构架, 它包括的类有收款机、商品一览表、商品、供货员、 销售事件、账册和上级系统接口等。它只表明一般情 况下系统应由哪些类构成,并指出这些类之间的关系。 但没有定义每个类,在每个具体情况的系统中,各个类的内部特征可能是不同的。 在使用这个软件架构和一些构件组装成一个具 体的应用系统时,可以根据该系统的特殊要求选用 不同的构件,也可能对构件做一些局部修改。 可见,软件构架的使用将把软件开发看作一个 组装过程,在软件构架的指导下寻找可复用构件(及 开发一些新构件)并进行组装。 这种基于构件/架构的组装式软件开发过程是目 前很受重视的研究动向。 基于构件/构架的软件开发 C.Braun等人在1993年提出了“领域专用软件体系 结构”(Domain-Specific Software Architecture, 简称DSSA)的概念。并指出对基于DSSA的软件开发, 应采用新的软件生存周期观点,研究符合其特点的软件开发过程。 在领域分析基础上和构件/构架库的支持下进行 应用系统开发的主要特点是: 应用领域中各系统的共同问题已在领域分析中得 到了一般认识,并通过构件、构架的开发统一地进行 了描述和解决。因此,该领域的应用系统开发主要是 分析和解决具体系统中的特殊问题。 所以,一个应用系统的开发不再是从零开始, 而是按照领域构架确定本系统需要哪些可复用构 件,根据本系统的特殊需求对构架和构件进行特殊 化,并开发本系统的专用构件,然后将领域构架、 领域构件和系统专用构件组装成一个完整的系统。 下图是基于构件/构架的软件开发方式的简略表示。 基于构件/构架的软件开发方式 * * 软件复用的基本概念 软件复用就是将已有的软件成分用于构造新的软件系统,以达到提高软件系统的开发质量与效率、开发成本的目的。 可复用的软件成分称为可复用构件(Reusable Component)或组件,可从旧软件中提取,也可以专门为复用而开发。 软件复用不仅是对程序的复用,它包括对软件生产过程中任何活动所产生的制成品的复用。如:项目计划、可行性报告、需求定义、分析模型、详细说明、源程序和测试用例等。 软件生产过程主要是正向过程,即软件产品从抽象级别较高的形态向抽象级别较低的形态演化,所以较高级别的复用容易带动较低级别的复用,反之则不然。 复用级别越高,可得到的回报也越大,因此分析软件(Analysis Ware)和设计软件(Design Ware)的复用备受重视。 软件复用的优点: (1)提高软件生产率,降低软件生产成本; (2)提高软件质量; (3)提高互操作性; (4)推动标准化; (5)支持原型开发。 代码的复用 设计结果的复用 分析结果的复用 测试信息的复用 高 抽 象 程 度 低 软件复用的级别 包括目标代码,也包括文本形式的源代码。 受实际环境影响小,可复用机会多,所需修改少。 可被复用的分析结果是针对问题域的某些事物或某些问题的抽象程度更高的解法。 主要包括测试用例(test case)的复用和测试过程信息的复用。 三种复用方式: 从现有系统的分析结果中提取可复用构件用于新系统的分析; 用一份完整的分析文档作为输入,生成针对不通软硬件平台和其他实现条件的多项设计; 独立于具体应用,专门开发一些可复用的分析构件。 软件复用的形式 一、按照重用活动所跨越的应用领域的类型分 1.横向复用(horizontal reuse)也称为水平复用,是指复用活动的范围跨越了几个不同的应用领域,复用的软件产品主要包括数据结构、通用算法、人机界面等软件元素。
文档评论(0)