第八章基于构件的软件工程_第1页
第八章基于构件的软件工程_第2页
第八章基于构件的软件工程_第3页
第八章基于构件的软件工程_第4页
第八章基于构件的软件工程_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章第八章基于构件的软件工程11软件复用就是将已有的软件成分用于构造新的软件系软件复用就是将已有的软件成分用于构造新的软件系统,统,以达到提高软件系统的开发质量与效率,降低开发成以达到提高软件系统的开发质量与效率,降低开发成本的目的。本的目的。 可复用的软件成分可复用的软件成分可复用构件可复用构件(Reusable Component)可从旧软件中提取,也可以专门为复用而开发。可从旧软件中提取,也可以专门为复用而开发。软件复用不仅是对程序的复用,它包括对软件生产过软件复用不仅是对程序的复用,它包括对软件生产过程中任何活动所产生的制成品的复用。如:项目计划、可程中任何活动所产生的制成品的复用。

2、如:项目计划、可行性报告、需求定义、分析模型、详细说明、源程序和测行性报告、需求定义、分析模型、详细说明、源程序和测试用例等等。试用例等等。代码的复用代码的复用设计结果的复用设计结果的复用分析结果的复用分析结果的复用测试信息的复用测试信息的复用抽抽象象程程度度11.1.1 软件复用的级别软件复用的级别包括目标代码,也包括文本形式的包括目标代码,也包括文本形式的源代码。源代码。受实际环境影响小,可复用机会多,受实际环境影响小,可复用机会多,所需修改少。所需修改少。可被复用的分析结果是针对问题域可被复用的分析结果是针对问题域的某些事物或某些问题的抽象程度的某些事物或某些问题的抽象程度更高的解法。更

3、高的解法。主要包括测试用例(主要包括测试用例(test casetest case)的复用和测试过程信息的复用。的复用和测试过程信息的复用。三种方式复用:三种方式复用:从现有系统的分析结果中提取可复从现有系统的分析结果中提取可复用构件用于新系统的分析;用构件用于新系统的分析;用一份完整的分析文档作为输入,用一份完整的分析文档作为输入,成生针对不通软硬件平台和其它实现条成生针对不通软硬件平台和其它实现条件的多项设计;件的多项设计; 独立于具体应用,专门开发一些独立于具体应用,专门开发一些可复用的分析构件。可复用的分析构件。11.1.1 软件复用的级别软件复用的级别软件生产过程主要是正向过程,即软

4、件产品从抽象级别较软件生产过程主要是正向过程,即软件产品从抽象级别较高的形态向抽象级别较低的形态演化,所以较高级别的复用容高的形态向抽象级别较低的形态演化,所以较高级别的复用容易带动较低级别的复用,反之则不然。易带动较低级别的复用,反之则不然。 复用级别越高,可得到的回报也越大,因此分析软件复用级别越高,可得到的回报也越大,因此分析软件( (Analysis Ware) )和设计软件和设计软件( (Design Ware) )的复用备受重视。的复用备受重视。 (1)(1)提高软件生产率,降低软件生产代价;提高软件生产率,降低软件生产代价; (2)(2)提高软件质量;提高软件质量; (3) (3

5、)互操作性好;互操作性好; (4) (4)推动标准化;推动标准化; (5) (5)支持原型开发。支持原型开发。11.1.111.1.1 软件复用的级别软件复用的级别1 1、横向复用(、横向复用(horizontal reusehorizontal reuse)也称为水平复用,也称为水平复用,是指复用活动的范围跨越了几个不同的应用领域,复用的是指复用活动的范围跨越了几个不同的应用领域,复用的软件产品主要包括数据结构、通用算法、人机界面等软件软件产品主要包括数据结构、通用算法、人机界面等软件元素。元素。2 2、纵向复用(、纵向复用(vertical reusevertical reuse)也称为垂

6、直复用,是也称为垂直复用,是指复用活动的范围限制在同一个应用领域或者是一类具有指复用活动的范围限制在同一个应用领域或者是一类具有较多共性的应用领域内。较多共性的应用领域内。 11.1.11.1. 软件复用的形式软件复用的形式二、基于软件复用的软件开发过程的角度二、基于软件复用的软件开发过程的角度指建立、获取或者重新设计可复用构件的活动。涉及到的指建立、获取或者重新设计可复用构件的活动。涉及到的活动包括:复用的规划、领域分析、构件的开发、构件库的组活动包括:复用的规划、领域分析、构件的开发、构件库的组织和管理。织和管理。指使用可复用的构件建立新的系统的活动。涉及到的活动指使用可复用的构件建立新的

7、系统的活动。涉及到的活动包括:应用系统的规划、构件的检索和选择、应用系统中非复包括:应用系统的规划、构件的检索和选择、应用系统中非复用部分的开发、应用系统的组装。用部分的开发、应用系统的组装。11.1.11.1. 软件复用的形式软件复用的形式建立构件建立构件组装应用组装应用生产者复用生产者复用 消费者复用消费者复用 (为复用开发构件)(为复用开发构件) (使用构件开发应用)(使用构件开发应用)图11.1 生产者复用与消费者复用复用具有许多明显的优点,但目前应用不广泛的主要原因是:复用具有许多明显的优点,但目前应用不广泛的主要原因是: (1)技术因素技术因素 构件与应用系统之间的差异;构件与应用

8、系统之间的差异; 构件要达到一定的规模,才能支持有效的复用;构件要达到一定的规模,才能支持有效的复用; 发现合用构件的困难;发现合用构件的困难; 基于复用的软件开发方法和软件过程需要一些新的理论、技基于复用的软件开发方法和软件过程需要一些新的理论、技术及支持环境。术及支持环境。(2)人的因素人的因素喜欢自己创造而不喜欢使用别人的东西。喜欢自己创造而不喜欢使用别人的东西。(4)教育因素教育因素软件科学技术的教育与培训中,缺乏关于软件复软件科学技术的教育与培训中,缺乏关于软件复用的内容,缺少专门教材和课程。用的内容,缺少专门教材和课程。(3)管理因素管理因素把复用构件和一般软件构件同等看待,把复用

9、看把复用构件和一般软件构件同等看待,把复用看作可有可无的事。作可有可无的事。基于软件构件的软件工程也称为构件工程基于软件构件的软件工程也称为构件工程,是以面向,是以面向对象的方法为基础,实现软件重用,构造新系统的过程。对象的方法为基础,实现软件重用,构造新系统的过程。为了实现软件重用,为了实现软件重用,基于软件构件的软件工程强调领基于软件构件的软件工程强调领域工程与软件工程同时进行。域工程与软件工程同时进行。领域工程创建应用领域的模型,标识、构造、分类和领域工程创建应用领域的模型,标识、构造、分类和传播一组可重用的软件。传播一组可重用的软件。 软件工程师则在软件开发过程中重用它们。图软件工程师

10、则在软件开发过程中重用它们。图11.211.2给给出了一个典型的重用的过程模型,描述了领域工程与软件出了一个典型的重用的过程模型,描述了领域工程与软件工程的关系。工程的关系。图领域分析领域分析设计软件设计软件体系结构体系结构开发可重用开发可重用的软件成分的软件成分中心库中心库可重用软件可重用软件成分构件成分构件领域领域模型模型结构结构模型模型系统分析系统分析规格说明规格说明与设计与设计建造建造系统规系统规格说明格说明分析与分析与设计模型设计模型应用应用软件软件用户需求图11.2 重用的过程模型一个软件只有在多个系统中被使用才可称为一个软件只有在多个系统中被使用才可称为“可复用构可复用构件件”,

11、必须具备的条件:,必须具备的条件: (1)(1)独立性独立性解决一个相对独立的问题,或大问题中某个相对解决一个相对独立的问题,或大问题中某个相对独立的部分;独立的部分;(2)(2)完整性完整性提供较完整的解决,不要遗留很多缺口,让复用提供较完整的解决,不要遗留很多缺口,让复用者做大量补充;者做大量补充; (3)(3)可标识性可标识性构件所解决的问题应该是可标识的,可命名,构件所解决的问题应该是可标识的,可命名,有简要介绍,便于理解和使用。有简要介绍,便于理解和使用。(4)(4) 通用性通用性构件解决的问题,应在同类应用中具有一般性;构件解决的问题,应在同类应用中具有一般性;(5)(5)适应性适

12、应性应用场合有某些变化时,构件仍是可用的,使构应用场合有某些变化时,构件仍是可用的,使构件的某些数据参数化和数据类型参数化;件的某些数据参数化和数据类型参数化;(11)(11)可靠性可靠性要求构件对预计将要使用它的系统时可靠的;要求构件对预计将要使用它的系统时可靠的;(7)(7)标准化标准化可复用构件的标准化对于软件复用是至关重要的。可复用构件的标准化对于软件复用是至关重要的。 基于构件的软件工程与传统的或面向对象的软件工程相基于构件的软件工程与传统的或面向对象的软件工程相比,有显著的差异。比,有显著的差异。 它不是针对某个特定的软件系统,而是针对一类软件系它不是针对某个特定的软件系统,而是针

13、对一类软件系统的共同的特征、知识和需求。统的共同的特征、知识和需求。基于构件的软件的开发过程包括两个并发的子过程,一基于构件的软件的开发过程包括两个并发的子过程,一个是领域工程,另一个是基于构件的开发。领域工程完成一个是领域工程,另一个是基于构件的开发。领域工程完成一组可复用构件的标示、构造、分类和传播;基于构件的开发组可复用构件的标示、构造、分类和传播;基于构件的开发完成使用可复用构件构造新的软件系统。完成使用可复用构件构造新的软件系统。8.2.2 8.2.2 基于构件的软件工程基于构件的软件工程 领域分析是对特定应用领域中共同的特征、知识、需求领域分析是对特定应用领域中共同的特征、知识、需

14、求的标识、分析和规约。领域分析是特定领域内软件重用的基的标识、分析和规约。领域分析是特定领域内软件重用的基础,它的目标就是:发现和挖掘在特定领域内可以被复用的础,它的目标就是:发现和挖掘在特定领域内可以被复用的构件。领域分析活动中输入和输出如图构件。领域分析活动中输入和输出如图11.11.所示:所示:领域分析领域分析输入信息输入信息技术文献技术文献已有应用已有应用专家经验专家经验/ /建议建议当前与未来的需求当前与未来的需求输出信息输出信息领域语言领域语言复用标准复用标准分类方法分类方法功能功能/行为模型行为模型图11. 领域分析的输入和输出领域分析不是针对某个特定的软件系统,而是针对一类软领

15、域分析不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求件系统的共同的特征、知识和需求。比需求分析更一般、更抽比需求分析更一般、更抽象、更广泛的特征。象、更广泛的特征。 领域分析领域分析( (Domain Analysis)Domain Analysis)是对一类应用系统的共同应用是对一类应用系统的共同应用领域进行系统化分析,以发现该领域的共同知识、需求及其应领域进行系统化分析,以发现该领域的共同知识、需求及其应用系统的共同特征。用系统的共同特征。 领域分析又称作领域工程领域分析又称作领域工程( (Domain Engineering)Domain Engineering

16、),是软件是软件工程的发展与延伸工程的发展与延伸。领域分析是一项比系统分析更难的工作。领域分析方法可领域分析是一项比系统分析更难的工作。领域分析方法可采用结构化方法和面向对象方法,而后者将成为主流。采用结构化方法和面向对象方法,而后者将成为主流。 构件的开发构件的开发领域分析的结果为构件的选取和开发提供了指导性的原则。领域分析的结果为构件的选取和开发提供了指导性的原则。除了有领域分析作为其基础,构件开发还需要遵循一定的设计除了有领域分析作为其基础,构件开发还需要遵循一定的设计概念和原则。概念和原则。 构件应该具有相当的一般性和抽象性,能够用于满足一类构件应该具有相当的一般性和抽象性,能够用于满

17、足一类相似的需求,一个过于特殊的构件是很难被重复使用的。即使相似的需求,一个过于特殊的构件是很难被重复使用的。即使一个通用性很高的构件也不可能完全适应用户的需求和运行环一个通用性很高的构件也不可能完全适应用户的需求和运行环境,所以在一个构件被不同的应用复用时,对它的某些部分进境,所以在一个构件被不同的应用复用时,对它的某些部分进行修改是不可避免的。所以构件开发时,需要为用户对构件的行修改是不可避免的。所以构件开发时,需要为用户对构件的调整和修改留出余地。例如继承、参数化、模板和宏都是典型调整和修改留出余地。例如继承、参数化、模板和宏都是典型的提高构件灵活性和可调整性的机制。的提高构件灵活性和可

18、调整性的机制。 构件库构件库(Component Library)用于对可复用构件进行存用于对可复用构件进行存储和管理。它是支持软件复用的必要设施。构件库必须有大储和管理。它是支持软件复用的必要设施。构件库必须有大量的可复用构件。量的可复用构件。构件库系统应提供的主要功能:构件的存储、管理、检构件库系统应提供的主要功能:构件的存储、管理、检索以及库的浏览与维护等。索以及库的浏览与维护等。关键是支持使用者高效而准确地发现所需的可复用构件。关键是支持使用者高效而准确地发现所需的可复用构件。相关的主要技术是分类方法和检索方法。相关的主要技术是分类方法和检索方法。支持方便的、友好的用户管理和使用界面。

19、支持方便的、友好的用户管理和使用界面。构件分类构件分类构件检索构件检索大多数的构件分类模式可以归纳为以下三种类型:大多数的构件分类模式可以归纳为以下三种类型: (1 1)枚举分类)枚举分类通过定义一个层次结构来对构件进行分类。构件库中的可通过定义一个层次结构来对构件进行分类。构件库中的可复用构件按照某种标准被分成了若干个大类,而每个大类中的复用构件按照某种标准被分成了若干个大类,而每个大类中的构件再被划分成若干个小类,依此类推,这样就形成了一个构构件再被划分成若干个小类,依此类推,这样就形成了一个构件分类的层次结构,件分类的层次结构, 图形用户界面类图形用户界面类窗口类窗口类菜单类菜单类图形窗

20、图形窗口构件口构件文字窗文字窗口构件口构件系统菜系统菜单构件单构件弹出式菜弹出式菜单构件单构件普通菜普通菜单构件单构件图11.4 枚举分类的层次结构构件的分类构件的分类构件的分类构件的分类(2 2)刻面分类)刻面分类一个刻面描述构件某一个方面的特征。刻面分类则是从不一个刻面描述构件某一个方面的特征。刻面分类则是从不同的侧面对构件进行分类,每一种分类方式称为一个刻面。不同的侧面对构件进行分类,每一种分类方式称为一个刻面。不同的刻面根据其重要性可以设置不同的优先级。同的刻面根据其重要性可以设置不同的优先级。刻面刻面应用领域应用领域对象对象功能功能编程语言编程语言刻面值刻面值图形用户界面编程图形用户

21、界面编程菜单菜单动态修改菜单项动态修改菜单项JAVA对构件的每个刻面赋予相应的值,用以描述该构件。刻面对构件的每个刻面赋予相应的值,用以描述该构件。刻面分类具有较好的灵活性,易于加入新的刻面值,因此刻面分类分类具有较好的灵活性,易于加入新的刻面值,因此刻面分类比枚举分类更易于扩展和修改。比枚举分类更易于扩展和修改。该方法首先是为构件库中的所有构件定义一组属性,并赋该方法首先是为构件库中的所有构件定义一组属性,并赋予相应的属性值。开发人员通过指定一组属性值在构件库中对予相应的属性值。开发人员通过指定一组属性值在构件库中对构件进行检索。构件进行检索。 构件的分类构件的分类刻面分类法刻面分类法(Fa

22、ceted Classification):支持多重观点对构件进行分类,例如从构件的应用领域、构支持多重观点对构件进行分类,例如从构件的应用领域、构件所描述的对象、构件的观点和编程语言等不同的方式来分类。件所描述的对象、构件的观点和编程语言等不同的方式来分类。 每一种分类方式称为一个刻面。每一种分类方式称为一个刻面。 每个刻面把构件集合划分为一个子集,各刻面所划分的子集每个刻面把构件集合划分为一个子集,各刻面所划分的子集形成一些较小的交集。形成一些较小的交集。 一个构件对每个每个刻面有一个刻面值,例如:一个构件对每个每个刻面有一个刻面值,例如:应用领域应用领域 = = 计算机绘图计算机绘图 对

23、象对象 = = 椭圆椭圆功能功能 彩色填充,彩色填充, 编程语言编程语言 = = C+C+构件的分类构件的分类检索一个构件时,给出一组刻面值,将确定一组子集合,检索一个构件时,给出一组刻面值,将确定一组子集合,构件应该在这些子结合的交集中,从其中确认所需的构件就比构件应该在这些子结合的交集中,从其中确认所需的构件就比较容易。较容易。构件可用属性描述,例如构件类型、开发单位、作者、提构件可用属性描述,例如构件类型、开发单位、作者、提交日期等属性。检索时通过构件的属性可以缩小搜索范围。交日期等属性。检索时通过构件的属性可以缩小搜索范围。刻面和属性都不涉及构件内部实现,只是为了便于构件的刻面和属性都

24、不涉及构件内部实现,只是为了便于构件的管理、检索和使用。如果把构件比作一只箱子,其内容如同箱管理、检索和使用。如果把构件比作一只箱子,其内容如同箱子中装的东西,刻面和属性则如同箱子外边的标签。子中装的东西,刻面和属性则如同箱子外边的标签。刻面分类法可以看作层次分类法的扩充刻面分类法可以看作层次分类法的扩充。构件的分类构件的分类(3 3)属性)属性- -值分类值分类该方法首先是为构件库中的所有构件定义一组属性,并赋该方法首先是为构件库中的所有构件定义一组属性,并赋予相应的属性值。开发人员通过指定一组属性值在构件库中对予相应的属性值。开发人员通过指定一组属性值在构件库中对构件进行检索。构件进行检索

25、。该分类方法与刻面分类方法有几点不同之处:该分类方法与刻面分类方法有几点不同之处:属性的数量没有限制,而刻面描述一般限制在属性的数量没有限制,而刻面描述一般限制在7 7或或8 8个刻面;个刻面;属性没有优先级,而刻面根据其重要程度,有相应的优先属性没有优先级,而刻面根据其重要程度,有相应的优先级;级; 构件的分类构件的分类构件库中检索一个构件和在数据库中检索一个记录是不同构件库中检索一个构件和在数据库中检索一个记录是不同的。的。构件库检索的不确定性带来两种相互矛盾的结果:检索的构件库检索的不确定性带来两种相互矛盾的结果:检索的结果可能是一个较大的构件集合,要从中找到所需的构件仍然结果可能是一个

26、较大的构件集合,要从中找到所需的构件仍然很费力;检索得到的集合没有把真正需要的构件包括在内。很费力;检索得到的集合没有把真正需要的构件包括在内。解决方法:解决方法: ( (一一) )一般构件库系统能对提出的检索条件作广义解释。一般构件库系统能对提出的检索条件作广义解释。建立同义词对照表,例如建立同义词对照表,例如“商品销售商品销售”、“售货售货”、“卖卖货货”看作一组同义词;看作一组同义词; 建立近意词对照表,例如把建立近意词对照表,例如把“商业商业”、“商场商场”、“连锁连锁店店”看作一组近意词。看作一组近意词。 系统首先匹配同义词,再匹配近意词,都可以被包括到广系统首先匹配同义词,再匹配近

27、意词,都可以被包括到广义结果集合中。义结果集合中。构件检索构件检索构件检索构件检索(二二)使检索得到的构件集合尽可能不包括对用户无用的构件。使检索得到的构件集合尽可能不包括对用户无用的构件。增加更多的刻面与构件属性:较多的刻面和属性值,将得增加更多的刻面与构件属性:较多的刻面和属性值,将得到更小的子集合文集,减轻最终发现和确认所需构件的难度;到更小的子集合文集,减轻最终发现和确认所需构件的难度; 建立构件关键词:根据构件内容提炼关键词,如同学术论建立构件关键词:根据构件内容提炼关键词,如同学术论文的关键词,反映有关构件内容的一些主要信息。文的关键词,反映有关构件内容的一些主要信息。 例如,找功

28、能构件的关键词有例如,找功能构件的关键词有“压入压入”、“弹出弹出”、“后后进先出进先出”等等。如果通过刻面和构件属性得到的构件子集较大,等等。如果通过刻面和构件属性得到的构件子集较大,可用关键词作进一步的检索,以缩小搜索范围。可用关键词作进一步的检索,以缩小搜索范围。改进构件检索的其它措施:改进构件检索的其它措施: (1)(1)记录用户使用构件库的经验,并根据这些经验改经构记录用户使用构件库的经验,并根据这些经验改经构件检索系统;件检索系统; (2) (2)对每个构件给出一段文字的简要介绍;对每个构件给出一段文字的简要介绍; (3) (3)提供较强的人机对话功能;提供较强的人机对话功能;(4

29、)(4)引导用户对自己需求的表达不断精化。引导用户对自己需求的表达不断精化。构件检索构件检索基于构件的开发是使用可复用构件组装开发新的应用系统。基于构件的开发是使用可复用构件组装开发新的应用系统。一、开发过程一、开发过程、构件的鉴定构件的鉴定构件的鉴定是对打算用于软件开发的构件能否满足应用的构件的鉴定是对打算用于软件开发的构件能否满足应用的需要,达到应用所需要的性能、可靠性、质量的保证进行相应需要,达到应用所需要的性能、可靠性、质量的保证进行相应的考察。的考察。、构件的调整构件的调整通常在将构件复用到应用中时,构件需要进行必要的调整通常在将构件复用到应用中时,构件需要进行必要的调整和修改才能适

30、应应用的需要。和修改才能适应应用的需要。、 构件的组装构件的组装构件的组装是将经过鉴定和调整以后的构件组装到应用系构件的组装是将经过鉴定和调整以后的构件组装到应用系统中。通常为了达到此目的,还必须建一个基础设施提供构件统中。通常为了达到此目的,还必须建一个基础设施提供构件协同的模型和使构件能够交互并完成共同任务的的特定服务。协同的模型和使构件能够交互并完成共同任务的的特定服务。二、基于构件的软件开发特点二、基于构件的软件开发特点 1 1、开发的质量、开发的质量 基于构件的软件开发的一个明显的优点就是提高了软件的基于构件的软件开发的一个明显的优点就是提高了软件的质量。质量。 可复用的构件在开发过

31、程中,都经过严格的测试。可复用的构件在开发过程中,都经过严格的测试。 在同一个领域的应用系统之间,不但可以找到其共同的在同一个领域的应用系统之间,不但可以找到其共同的软件构件,而且可以发现共同的或相似的软件体系结构软件构件,而且可以发现共同的或相似的软件体系结构( (Software Architecture) )。 专向领域的复用开拓了一种新的复用境界,被复用的不专向领域的复用开拓了一种新的复用境界,被复用的不仅是可实现某种局部功能的软件构件,而且可以是一些形成仅是可实现某种局部功能的软件构件,而且可以是一些形成系统总体结构,并把各个可复用构件连接到一起的软件构架系统总体结构,并把各个可复用

32、构件连接到一起的软件构架( (Software Framework) )。 电子产品的主电路板可看成该产品可复用的构架,它把电子产品的主电路板可看成该产品可复用的构架,它把许多可复用的电子器件连接在一起。许多可复用的电子器件连接在一起。 软件构架是一种由特定领域的软件体系结构所决定的软软件构架是一种由特定领域的软件体系结构所决定的软件构造框架。件构造框架。软件构架不是解决软件的某个局部问题,而是描述了软件的软件构架不是解决软件的某个局部问题,而是描述了软件的总体结构。它描述了一类软件的总体构成情况,包括该软件有哪总体结构。它描述了一类软件的总体构成情况,包括该软件有哪些主要部件以及各部件之间的

33、关系,但是不涉及每个部件的细节。些主要部件以及各部件之间的关系,但是不涉及每个部件的细节。 可复用的软件构架给出一类应用系统在总体构造上的共性或可复用的软件构架给出一类应用系统在总体构造上的共性或相似性,忽略了各个系统的局部差异。相似性,忽略了各个系统的局部差异。例如,一个超级市场的销售管理系统的软件构架,它包括的例如,一个超级市场的销售管理系统的软件构架,它包括的类有收款机、商品一览表、商品、供货员、销售事件、帐册和上类有收款机、商品一览表、商品、供货员、销售事件、帐册和上级系统接口等。它只表明一般情况下系统应由哪些类构成,并指级系统接口等。它只表明一般情况下系统应由哪些类构成,并指出这些类之间的关系。但没有定义每个类,在每个具体情况的系出这些类之间的关系。但没有定义每个类,在每个具体情况的系统中,各个类的内部特征统中,各个类的内部特征可能是不同的。可能是不同的。11.3.5 11.3.5 可复用的软件构架可复用的软件构架在使用这个软件架构和在使用这个软件架构和一些构件组装成一个具体的应用一些构件组装成一个具体的应用系统时,可以根据该系统的特殊要求选用不同的构件,也可系统时,可以根据该系统的特殊要求选用不同的构件,也可能对构件做一些局部修改。能对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论