软件过程与质量ppt课件_第1页
软件过程与质量ppt课件_第2页
软件过程与质量ppt课件_第3页
软件过程与质量ppt课件_第4页
软件过程与质量ppt课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程中的高级课题 李 宣 东 南京大学计算机科学与技术系.Advanced Topics in SEComputer-Aided Software EngineeringFormal MethodsSoftware ReuseReengineeringComponent-Based Software EngineeringCleanroom Software EngineeringClient/Server Software EngineeringWeb Engineering.Computer - Aided Software Engineering CASE支持软件开发生存期的集成化工

2、具、技术和方法.CASE ConceptsCASE技术technology:为软件开发、维护和工程管理提供自动化、工程化准那么的软件技术;包括自动化构造化方法和自动化工具。CASE工具tool:支持特定的软件生存期活动自动化至少部分自动化的软件工具。CASE系统system:能共享一个公用的用户界面、并且在公用的计算机环境中运转的一组集成化的CASE工具。CASE工具箱toolkit:一组集成化的CASE工具,可以使得软件生存期的一个阶段或一个特殊的软件任务的活动自动化或部分自动化。.CASE ConceptsCASE任务台workbench:一组集成化的CASE工具,可以使得整个软件生存自动

3、化或提供自动化辅助,包括分析、设计、编码和测试。CASE方法学methodology:一种“可自动化的方法学,它对软件开发和维护的一切方面或者某些方面定义了严厉的、类似工程的研讨途径。CASE方法学同伴methodology companior:一组CASE工具,这些工具按某一种特殊的CASE方法学自动完成一些义务,并且自动产生由该方法学所要求的文档和其他交付的义务。CASE任务站workstation:为CASE工具提供操作平台的一个一层、二层或三层的硬件系统体系构造。.CASE Methodology 由于CASE工具对整个信息系统或软件工程开发过程的全面支持,引起了系统开发方法学领域从技

4、术、方法到观念、认知体系的变化,方法学领域也遭到了冲击和挑战,从而使CASE演化成了一种独特的、以自动化支持环境为根底的系统开发方法学。构造化方法面向对象方法快速原型方法.CASE Integration集成化CASE环境的总体构造界面集成层:用户界面开发工具包,界 面协议。工具集成层:触发执行机制,通讯机制。信息集成层:信息与CASE工具的集成,信息与信息的集成。软件工程信息库:元模型,软件开发信息.Interface IntegrationCASE界面集成层界面集成层主要由一个规范化的用户界面开发工具包以及各CASE工具共同遵守的界面协议组成。界面集成有两方面的目的: 1开发人员可在一致而

5、不是分别的界面框架下操作一切的CASE工具,完成软件开发过程。 2一切CASE工具的用户界面和操作风格必需协调一致。.Tool IntegrationCASE工具集成层 工具集成层担任管理一切的CASE工具并协调它们的行为。在多义务操作系统中,开发人员可以同时启动多个CASE工具,此时工具集成层必需在CASE工具之间进展信息传送和同步。协调CASE工具与软件工程信息库之间的信息流,实施平安检查和审计功能。此外,工具集成层往往还可以搜集各CASE工具运用情况的统计信息以便改良软件开发方法,提高环境运转效率。.Tool Integration 为了完成上述义务,工具集成层至少要具备执行机制和通讯机

6、制:执行机制是指环境可以根据某些软件开发触发CASE工具的启动。此外,执行机制还包含对CASE工具执行过程的其他控制手段,例如挂起、恢复和终止。通讯机制是指环境可以在CASE工具之间传送信息。大型软件开发工程的众多开发人员往往是在网络环境下协同完成开发义务的。这就对集成化环境提出了新的要求。为此,工具集成层还应提供分布机制,以便上述根本的执行和通讯机制以用户透明的方式在网络分布环境下运转。.Information IntegrationCASE信息集成层信息集成包含两方面的内容:信息与CASE工具的集成:主要表现为CASE工具实现了对软件工程信息库中信息对象的某些操作功能。信息与信息之间的集成

7、:指集成环境必需具有表示、维护信息项并利用信息项之间的关系完成相应动作的才干,如一致性和完好性检查,确定信息项修正的影响传播范围等。.CASE Repository软件工程信息库软件工程信息库是集成化环境的中心,它为整个CASE环境提供支持。软件工程信息库要完成对软件信息项的存储、查询、修正与删除等操作,所以它必需具备普通数据库管理系统的大部分根底功能。.CASE Repository 除此之外,为了给集成化环境提供良好的信息效力,软件工程信息库还要支持:信息完好性:当信息工程修正或删除时,自动检查信息项之间的一致性,自动完成对相关信息项的必要调整。信息与工具的集成:控制CASE工具和开发人员

8、对信息项的访问,提供友好的信息效力。信息与信息的集成:建立并维护信息项之间的关系。开发方法学的引导与强迫:利用元模型引导并强迫开发人员按照既定的开发方法学实施软件开发。文档规范化:根据元模型对各类文档的定义,统终身成软件文档。版本控制与配置管理:存储软件信息项的各种版本,为开发人员生成阶段性成果或最终产品自动组合最新版本,并允许在测试过程中随时恢复旧版本。.Implementation of CASE Repository 软件工程信息库的实现 思索到软件开发过程中各类数据的纷繁复杂,仅按常规方法组织软件工程信息库是无法满足要求的。应该将软件信息项不论粒度大小均视为对象,信息库的构造组织为元模

9、型,系统经过元模型管理机制实现各种功能。.Metamodel in CASE Repository软件工程信息库的元模型 元模型是对各CASE工具生成的软件开发信息项的元级描画,主要内容为:信息项的定义性描画,包括类型、属性、表示方法、消费者与消费者,等等。在各种粒度级别上的信息项之间的关系和依赖性描画。能够的粒度级别有:数据流程图级、数据项级、代码段级。软件设计规那么。例如数据流程图的平衡规那么,数据流程图中转换的输入、输出流与其相应过程的输入、输出参数的一致性规那么。软件开发过程的任务流程和事件的描画,包括开发阶段界定、里程碑定义、错误发生、需求变卦,等等。.Metamodel in CA

10、SE Repository除上述内容之外,元模型还定义了软件信息的组织方式、CASE工具和软件开发人员访问信息项的途径、数据平安性和完好性控制方法以及为顺应新的软件开发工程而对现有元模型进展扩展的方法。.CASE Repository除元模型外,软件工程信息库还应包含以下各方面的软件开发信息:有关运用问题及问题领域的描画。各类文档需求阐明,设计文档,源代码,测试方案与用例等。由软件开发方法学限定的规那么与指点性原那么。工程规划、可用资源描画和开发历史信息。相对于元模型而言,以上各类信息为目的级信息对象。.Implementation of CASE Repository 软件工程信息库的建造过

11、程可以借用传统的数据库管理系统提供的下述技术手段:无冗余的信息储存事物控制机制平安机制用户界面开放性.Implementation of CASE Repository 软件工程信息库的许多高级功能是大多数商用数据库管理系统不能直接支持的:复杂数据构造的存储信息完好性检查工程管理版本控制与配置管理需求追踪.Industry Standard for CASE IntegrationCSAE工具集成的工业规范信息资源字典规范Information Resource Dictionary Standard, IRDS, ANSI338-1988。IRDS最初是作为需求分析的数据字典规范而开发的。其

12、主要特征是运用多级元模型并强调信息资源的协调管理,有助于在相关联的CASE工具之间建立信息通道。它支持CASE工具在不同的操作系统平台之间移植。Atherton IDEC工具集成规范ATIS。ATIS已被CASE Integration Standards Committee of Software Productivity Consortium采用。ATIS主要强调软件工程信息库的总体构造定义,支持配置管理、工具集成、数据平安性与跨平台移植。公共ADA接口规范CAIS。CAIS偏重于ADA软件开发工具的集成,它为这些工具构成集成化环境定义了接口规范。可移植的通用环境PCTE。PCTE是欧共体

13、ESPRIT方案的一部分。它已被Europen Computer Manufacturer Association (ECMA)所接纳。.Taxonomy of CASE ToolsBusiness process engineering toolsProcess modeling and management toolsProject planning toolsRisk analysis toolsProject management toolsRequirements tracing toolsMetrics and management tools.Taxonomy of CASE T

14、oolsDocumentation toolsSystem software toolsQuality assurance toolsDatabase management toolsSoftware configuration management toolsAnalysis and design toolsPRO/SIM tools.Taxonomy of CASE ToolsInterface design and development toolsPrototyping toolsProgramming toolsWeb development toolsIntegration and

15、 testing toolsStatic analysis toolsDynamic analysis tools.Taxonomy of CASE ToolsTest management toolsClient/server testing toolsReengineering tools.Formal Methods方式化方法研讨背景定义方式验证模型检验.提高系统可靠性随着计算机运用的日益普及,今天我们曾经很难接受计算机系统发生缺点所带来的损失;延续运转已成为如今许多计算机系统的关键需求,一旦发生缺点,终止系统运转进展维护是不现实的;.提高系统可靠性测试testing或 仿真simula

16、tion 以运转系统模型为主要手段发现系统错误。验证Verification 建立系统模型,确认系统模型能否存在错误。质量管理 在系统开发过程中加强管理,防止能够出现的错误。 .提高可信度的途径测试testing或 仿真simulation 无法回答系一致定没有错误这样一类问题验证Verification 可以从某一个角度回答系一致定没有错误这样一类问题,从而进一步提高我们对系统可靠性的可信度.方式化方法方式化方法是指为阐明和验证复杂计算机系统所采用的基于数学的言语、技术和工具。方式化方法不能确保系统的可靠性,但其可以经过提示系统的不一致性、歧义性和不完备性来添加我们对系统的了解程度,从而提高

17、我们对系统可靠性的可信度。.方式验证方式化方法包括: 阐明specification 验证verification方式验证包括: 模型检验model checking 推理验证theorem proving.模型检验模型检验是一种自动验证有穷形状系统的技术。模型检验的根本思想是经过遍历系统模型的形状空间来检验系统模型能否满足给定的性质。.模型检验在模型检验中涉及两种方式阐明言语: 性质阐明言语用于描画系统的性质; 模型描画言语用于描画系统的模型。模型检验技术用于检验由模型描画言语描画的系统模型能否满足由性质阐明言语描画的系统性质。.模型检验Finite-state modelTemporal

18、logic formulaModel Checker (F W)OKError traceorLine 5: Line 12: Line 15:Line 21:Line 25:Line 27: Line 41:Line 47:.模型检验中的关键技术问题模型检验中的关键技术问题是如何设计数据构造和算法,用以表示和遍历大规模的系统模型形状空间。处理由多个系统模型的并行组合而构成的形状空间爆炸问题。.处理形状空间爆炸问题的途径形状空间的符号表示 Symbolic representation of state space McMillans ordered binary decision diagr

19、ams (OBDD), 1992, 10120偏序规约技术Partial order reduction笼统技术Abstraction对称技术Symmetry.模型检验关于具有时序性质的并发系统的模型检验实际和技术在工业界曾经得到实践的运用。目前模型检验实际和技术的研讨热点曾经转向实时系统和软件系统。.实时和混成系统的模型检验 对于实时系统来说,由于时间的引入,其形状空间是无穷的。要设法遍历无穷的形状空间,这对研讨人员来说是一个新的挑战。目前人们关注的主要问题包括:针对典型实时性质开发检验算法探求处理形状空间过大的有效途径.混成系统 混成系统Hybrid Systems是一类复杂的计算机系统,

20、这类系统的运转过程中既有延续的形状变化,又有离散的形状变化。.混成系统实例水箱监控系统.混成系统实例水箱监控系统初始形状时,水箱中水面的高度为1英寸;水泵翻开时,水箱中水面以每秒1英寸的速度上升;水泵封锁时,水箱中水面以每秒2英寸的速度下降;监控器发出信号翻开封锁水泵到实践翻开封锁水泵之间有2秒钟的延迟; 要求监控器将水箱中的水面高度控制在1至12英寸之间。.混成自动机hybrid automataS1x = 1y = 1y 10S2x = 1y = 1x 1S3x = 1y = -2x 2S4x = 1y = -2y 5y=1.y = 10?x := 0y = 5?x := 0 x = 2?

21、x = 2?.混成自动机hybrid automata混成自动机是不可断定的;目前国际上相关领域的研讨热点在于寻觅混成自动机的可断定子集。.线性时段性质 线性时段性质可以经过系统在各个形状上的累积时间来约束系统的行为。一个线性时段性质是如下方式的线性积分不等式: ie cisiM 其中si表示系统形状,ci是实型系数,M是实数。.线性时段性质 在水箱监控系统中,要求监控器将水箱中的水面高度控制在1至12寸之间,可以表示成以下线性时段性质: s1 + s2 - 2(s3 + s4 ) 11 s1 + s2 - 2(s3 + s4 ) 0.满足性问题 检验混成自动机相对于线性时段性质的满足性问题:

22、一个混成自动机满足一个线性时段性质当且仅当该混成自动机的一切行为满足该线性时段性质。.混成自动机的行为表示 混成自动机的行为可以表示如下时间形状序列: (s1, t1) (s2, t2) (sm, tm) 其中si表示系统形状, ti表示系统在si上的停留时间, t1, t2, tm必需满足相应的时间约束。.带时段约束的规那么表达式 在规那么表达式中引入时段约束构成带时段约束的规那么表达式。时段约束表示成如下方式: a ie cisi b.带时段约束的规那么表达式R = s0 (s0 (s1 ,s1 = 9) R1) (s0 (s1 ,s1 = 9) R1 (s2, s2 = 2) (s0 (

23、s1 ,s1 = 9) R1 (s2 s3 , s2 = 2, 2s3 -s2 = 5) (s0 (s1 ,s1 = 9) R1 (s2 s3 s4, s2 = 2, 2s3 -s2 = 5, s2 = 2)其中R1 = (s2 s3 s4 s1 , s2 = 2, 2s3 -s2 = 5, s2 = 2, s1 -2s4 = 5 )*.带时段约束的规那么表达式带时段约束的规那么表达式不能描画一切混成自动机的行为;带时段约束的规那么表达式对应于一类混成自动机;对应于带时段约束的规那么表达式的一类混成自动机是可断定的。.基于线性规划的验证途径用带时段约束的规那么表达式描画混成自动机的行为,从而线

24、性时段性质相对于混成自动机的满足性问题转化成为相对于规那么表达式的满足性问题;.基于线性规划的验证途径对于不包含*运算符的简单规那么表达式,由于规那么表达式中所包含的时段约束构成了多组线性不等式,同时线性时段性质本身可以作为相应的目的函数,因此验证满足性问题可以转化为一组线性规划问题;.基于线性规划的验证途径对于恣意包含*运算符的普通规那么表达式R,我们可以找出一个简单规那么表达式R,使得R和R在相对于某个给定的线性时段性质P的满足性问题上是等价的,即 R 满足 P 当且仅当 R 满足 P 从而最终将验证满足性问题归结为线性规划问题。.模型检验工具SMV /modelcheck/code.ht

25、mlSPIN netlib.bell-labs/netlib/spin/whatisspin.htmlHyTech /tah/HyTech/Kronos verimag.imag.fr/PEOPLE/Sergio.Yovine/kronos/index.htmlUPPAAL brics.dk/FormalMethods/UPPAAL/index.html.Software Reuse 软件复用软件复用定义软件复用过程软件复用种类和方式软件复用经济学构件软件体系构造.软件复用定义软件复用是指经过对已有软件的各种有关知识来建立新的软件,这些知识包括:领域知识、开发阅历、设计阅历、设计决议、体系构造

26、、需求、设计、编码、测试和文档等。软件复用的目的是降低软件开发和维护的本钱,提高软件开发效率,提高软件的质量。.可复用的软件制品Caper Jones定义了可作为复用候选的10种软件制品artifacts):工程方案:软件工程方案的根本构造和许多内容如进度表、风险分析都可以跨工程复用,以减少用于制定方案的时间。本钱估计:由于不同的工程中经常含有类似的功能,所以有能够在极少修正或不修正的情况下,复用对该功能的本钱估计。体系构造:某些运用软件的体系构造往往非常类似,因此有能够创建一组公共的体系构造模板如,事物处置体系构造,并将那些模板作为可复用的设计框架。需求模型和规约:类和对象模型及其规约是明显

27、的复用候选者,此外,用传统软件工程方法开发的分析模型如数据流图也是可复用的。设计:用传统方法开发的体系构造、数据、接口和过程化设计都是复用的候选者,系统设计和对象设计也是可复用的。.可复用的软件制品源代码:经过验证的程序代码是复用的候选者。用户文档和技术文档:即使特定的运用有所不同,但经常可复用部分用户文档和技术文档。用户界面:这是最广泛被复用的软件制品。由于用户界面部分约占一个运用软件的60%的代码量,因此其复用效率极高。数据:在大多数经常被复用的软件制品中,可复用的数据包括:内部表、记录构造以及文件和完好的数据库。测试案例:一旦设计或代码被复用,那么其相应的测试案例也应被复用。.软件复用的

28、过程笼统:对已有软件制品的简要描画,从中抽取该制品的本质信息即可复用部分,屏弃那些细节;选取:用户根据已有软件制品的笼统,寻觅、比较和选择最适宜他需求的制品可复用件;特化:对已有制品可复用件的修正或构成它的一个实例例化后的复用件;集成:将例化后的复用件集成为运用系统。.软件复用的粒度代码和设计拷贝代码拷贝是指从熟习的已有系统中成块地拷贝其中的源代码,设计拷贝是指拷贝一大块代码,删去其中的内部细节,但坚持设计的总体框架。这类复用的特点是从已设计、实现、调试好的类似系统中尽能够多地成块地拷贝源代码。复用者通常是已有软件的开发者,或对已有软件比较熟习的人,他能较容易地找到软件中可复用的部分,经过手工

29、修正原有的代码,使之符合新的系统要求,在集成时主要处理所拷贝代码与当前系统的命名问题。这类复用的优点是由于对原有系统很熟习,所以不用花大力气去了解和修正代码,对简单的运用比较有效。其缺陷是不同的开发者能够拷贝不同的片段;同时,由于对原有系统过于熟习,容易受原有设计的影响,难以使其很好地顺应新的系统;这类复用通常不适宜于复杂的运用。.软件复用的粒度源代码复用源代码复用是指复用存放在库中的某种高级程序文语书写的源代码构件。这类复用的特点是构件本身是为复用而开发的,可复用构件存放在一个供大家访问的库中。存放在库中的构件应有一段简明的描画,构件库必需提供有效的构件检索手段,运用者经过设置参数值将其特例

30、化,经过过程调用方式调用构件。这类复用的优点是:构件是参数化的,因此大大减少对构件的人工修正;由于构件曾经经过充分的测试,因此可靠性比较高。其缺陷是构件库极其庞大。同时,由于构件是为复用而开发的,因此构件普通尽能够的通用,从而添加了额外的开销。.软件复用的粒度设计和软件体系构造复用设计和软件体系构造复用是指对已有的软件体系构造和或设计的复用。这类复用的特点是不仅支持高层次的复用,也支持较低层次的复用。设计和软件体系构造可以存放在一个库中,并给以简单的描画。这种库必需对其提供有效的检索,运用者经过良好定义的接口进展集成。这类复用的优点是:可复用较大粒度的软件制品,修正具有部分性。其缺陷是难以笼统

31、出简明的描画,存放体系构造的库难以管理。.软件复用的粒度运用成序生成器Application Generators运用程序生成器是指复用整个软件系统的设计,包括整体的软件体系构造、体系构造中的主要子系统、特定的数据构造和算法等。这类复用的特点是:从高层的领域特定的规约自动生成一个完好的可执行系统,生成器可根据输入的规约填充原先没有 的细节,它通常只针对一些成熟的领域。这类复用的优点是自动化程度高,能获取某个特定领域的规范,以黑盒方式输出结果运用程序;其缺陷是难以构造特定的运用成序生成器。.软件复用的粒度领域特定的软件体系构造Domain-Specific Software Architectu

32、re, DSSA)DSSA复用是指对特定领域中存在的一个公共体系构造及其构件的复用。DSSA的特点是:需求对领域有透彻的了解才干进展领域建模;库是针对特定领域的;领域模型、基准体系构造reference architecture和库随着领域的开展而不断开展。这类复用的优点是复用的程度高,对可复用构件的组合提供了一个通用框架。其缺陷是前期投资很大。.软件复用的方式垂直式复用和程度式复用垂直式复用是指在同一运用领域中的复用。由于同一领域中的运用存在许多共性或类似性,因此复用面较广,且有助于获得系统的通用模型。程度式复用是指在不同运用领域中复用通用的软件元素,如数据构造、算法、人机界面等软件元素。由

33、于不同领域的运用普通差别较大,因此除了一些通用软件元素外,很难找到可复用的构件,所以程度式复用相对较少。但是,随着互联网的运用不断开展,中间件以及各种运用平台是程度式复用的典型开展趋势。.软件复用的方式组装式复用和生成式复用组装式复用是事先已有一个可复用构件库,开发软件时从库中选择适宜的构件,然后组装成新系统必要时还要开发一些库中没有的构件。这类复用的根底是一个逐渐完善的、高效的构件库系统,可复用的构件应有简明的便于检索的描画和规范的接口。这类复用主要着重于源代码级的复用。生成式复用是根据待开发软件的方式化描画,经过运用程序生成器自动生成相应的运用软件。.软件复用的方式黑盒复用和白盒复用黑盒复

34、用是指对可复用构件不作任何修正,原封不动地复用。这类可复用构件通常比较通用,它往往具有很好的封装性,并具有规范的接口。这类构件的复用率往往比较高,因此要求有很高的可靠性和质量。白盒复用是指在复用一个构件时需对其进展部分修正,以顺应详细运用的需求。.软件复用经济学软件复用有效地缩短了软件开发的时间,降低了开发和维护的本钱,提高了软件的质量。软件复用是有代价的:通常,创建和维护一个可复用构件的本钱是在单个工程中实现同样功能的模块的本钱的1.5-3倍;在开发软件系统时复用一个构件的本钱大约是开发与其功能等价的模块的本钱的四分之一。一个可复用构件通常要被复用3-5次才干收回其初期开发的本钱。.软件复用

35、对质量的影响可复用构件在消费过程中都曾经过严厉的测试,虽然测试并不能发现可复用构件的一切错误,但在复用过程中,可复用构件的错误不断地被发现和排除,因此随着复用次数的不断添加,可复用构件可看成几乎是无错误的。据有关研讨报告,被复用代码中错误率为每千行约有0.9个错误,而新开发代码中的一切错误率是每千行约有4.1个错误。对一个包含60%复用代码的运用程序来说,错误率是每千行约有2.1个错误,比无复用的运用程序错误率大约减少了50%。.软件复用对消费率的影响软件复用应该浸透到软件开发各个阶段,在开发的各个阶段都有可复用的软件制品,复用这些软件制品都能提高相应任务的消费率。影响软件消费率的要素很多,如

36、运用领域、问题的复杂性、开发队伍的构造和大小、方案的时效性、可运用的技术等。由于不同的运用中影响其消费率的要素不同,所以复用对消费率的提高程度也不同。普通来说,大约30%-50%的复用可使消费率提高25%-40%。.软件复用对本钱的影响假设不采用软件复用技术开发一个软件系统所需的本钱为C1,采用软件复用技术开发同一个软件所需的本钱为C2,那么采用软件复用技术所节省的本钱不能简单地用C1减去C2来估算。节省本钱还应扣除复用相关本钱。.软件复用对本钱的影响与复用相关的本钱:领域分析和建模领域体系构造开发为促进复用所添加的文档量可复用软件制品的维护和改良对从外部获取的构件的版税和答应证费可复用构件库

37、的创建或获取和操作对消费和消费构件人员的培训 与复用相关的本钱应由多个采用复用技术的工程来分担,通常要经过2-3个复用的消费周期大约3年左右复用才干带来显著的效益。.构 件构件是指可以被明确标识的软件制品,它可以是需求分析和设计阶段的产品、代码、测试案例、文档或软件开发过程中的其他产品。可复用构件是指可被其他系统的开发者复用,以开发新软件的构件通常我们说的构件主要是指可复用构件。.对可复用构件的要求构件设计应该具有较高的通用程度构件应易于调整构件应易于组装构件必需具有可检索性构件必需经过充分的测试.构件模型3C构件模型:概念:是关于“构件做什么的笼统描画,可以经过概念去了解构件的功能。概念包括

38、接口规约和语义描画两部分。内容:是概念的详细实现,描画构件如何完成概念所描写的功能。本质上,内容是对普通用户隐蔽的信息,只需那些企图修正构件的人才需求了解这些信息。周境:描画构件和外围环境在概念级和内容级的关系,描写构件的运用环境,为构件的选用和顺应性修正提供指点。.构件模型 REBOOTReuse Based on Object-Oriented Technology模型:REBOOT是一种基于呈面facet的模型。经过对领域进展分析,得到一组根本的描画特征,这些特征称为呈面。呈面可以描画构件执行的功能、所操作的数据、构件运用的周境或任何其他特征。一个构件通常包括以下呈面:1笼统:构件概念的

39、笼统性描画。2操作:构件所提供的操作的描画。3操作对象:描画操作的对象。4依赖:描画构件与外界的依赖关系。.构件系统一个构件系统是提供一组可复用特性的系统产品。这些特性由相互依赖和相互衔接的众多构件包括各种类型、相关联的包和描画的文档来表达。一个构件系统的规模可大可小,小的能够只需几个构件及其相关的文档。构件系统中的构件存在一些关系,如一个构件可以从其他构件那里承继其功能;可以发送音讯给其他构件;可以与其他构件关联、支持协同任务等。一个构件系统不是恣意的可复用构件的集合。构件系统通常经过公共的命名协定、规范的错误处置机制和一致的接口使集合中的构件协同任务并工程化。.构件库管理构件的分类存储构件检索构件库游览删除构件构件运用情况评价.建造可复用构件创建领域构件的设计框架构造通用性和可变性强的构件.创建领域构件的设计框架 在建造构件时,除应遵照已有的设计概念和原那么外,还必需思索运用领域的特征。Binder建议在设计时思索以下关键问题:规范数据:应该研讨运用领域,并标识出规范的全局数据构造如文件构造和完好的数据库,使得一切设计的构件都可以用这些规范数据构造来描写。规范接口协议:应该建立

温馨提示

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

评论

0/150

提交评论