欢迎来到天天文库
浏览记录
ID:58701592
大小:731.50 KB
页数:28页
时间:2020-10-04
《第3讲 构件与软件重用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件体系结构SoftwareArchitecture教师:江河第三讲回顾工程学科的演化过程。软件结构的定义:高级抽象,元素,元素间关系。软件体系结构的意义。SA影响软件质量的因素正确性性能安全性健壮性易用性可修改性可执行性可重用性可集成性可测试性兼容性经济性体系结构是风险承担者进行交流的手段体系结构是早期设计决策的体现软件体系结构是可传递和可重用的模型回顾构件与软件重用◇构件模型及实现软件重用是指两次或多次不同软件开发过程中重复使用相同或相近软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档和领
2、域分析知识。软件重用不仅是对程序的重用,它包括对软件生产过程中任何活动所产生的成品的重用。如:项目计划、可行性报告、需求定义、分析模型、详细说明、源程序和测试用例等等。可重用的软件成分,也称为可重用构件(ReusableComponent)可从旧软件中提取,也可以专门为重用而开发。可重用的软件元素越大,重用的颗粒度越大。构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。构件的使用同它的开发、生产无关。构件与软件重用构件与软件重用代码的重用
3、设计结果的重用分析结果的重用测试信息的重用高抽象程度低软件重用的级别包括目标代码,也包括文本形式的源代码。受实际环境影响小,可重用机会多,所需修改少。可被重用的分析结果是针对问题域的某些事物或某些问题的抽象程度更高的解法。主要包括测试用例(testcase)的重用和测试过程信息的重用。三种方式重用:从现有系统的分析结果中提取可重用构件用于新系统的分析;用一份完整的分析文档作为输入,成生针对不通软硬件平台和其它实现条件的多项设计;独立于具体应用,专门开发一些可重用的分析构件。软件生产过程主要是正向过程,即软件产品从抽象级别较高
4、的形态向抽象级别较低的形态演化,所以较高级别的重用容易带动较低级别的重用,反之则不然。重用级别越高,可得到的回报也越大,因此分析软件(AnalysisWare)和设计软件(DesignWare)的重用备受重视。软件重用的优点:(1)提高软件生产率,降低软件生产代价;(2)提高软件质量;(3)互操作性好;(4)推动标准化;(5)支持原型开发。构件与软件重用软件重用的形式一、按照重用活动所跨越的应用领域的类型分1.横向重用(horizontalreuse)也称为水平重用,是指重用活动的范围跨越了几个不同的应用领域,重用的软件产品
5、主要包括数据结构、通用算法、人机界面等软件元素。2.纵向重用(verticalreuse)也称为垂直重用,是指重用活动的范围限制在同一个应用领域或者是一类具有较多共性的应用领域内。构件与软件重用二、基于软件开发过程的角度分1.生产者重用(productreuse)指建立、获取或者重新设计可重用构件的活动。涉及到的活动包括:重用的规划、领域分析、构件的开发、构件库的组织和管理。2.消费者重用(consumerreuse)指使用可重用的构件建立新的系统的活动。涉及到的活动包括:应用系统的规划、构件的检索和选择、应用系统中非重用部
6、分的开发、应用系统的组装。建立构件组装应用生产者重用 消费者重用(为重用开发构件)(使用构件开发应用)生产者重用与消费者重用构件与软件重用重用具有许多明显的优点,目前应用不广泛的主要原因是:构件与应用系统之间的差异;构件要达到一定的规模,才能支持有效的重用;发现合用构件的困难;基于重用的软件开发方法和软件过程需要一些新的理论、技术及支持环境。喜欢自己创造而不喜欢使用别人的东西。把重用构件和一般软件构件同等看待,把重用看作可有可无的事。软件科学技术的教育与培训中,缺乏关于软件重用的内容,缺少专门教材和课程。软件重用的困难构件
7、与软件重用一个软件只有在多个系统中被使用才可称为“可重用构件”,必须具备的条件:(1)独立性解决一个相对独立的问题,或大问题中某个相对独立的部分;(2)完整性提供较完整的解决,不要遗留很多缺口,让重用者做大量补充;(3)可标识性构件所解决的问题应该是可标识的,可命名,有简要介绍,便于理解和使用。可重用构件构件与软件重用一个软件只有在多个系统中被使用才可称为“可重用构件”,必须具备的条件:(4)通用性构件解决的问题,应在同类应用中具有一般性;(5)适应性应用场合有某些变化时,构件仍是可用的,使构件的某些数据参数化和数据类型参数
8、化;(6)可靠性要求构件对预计将要使用它的系统时可靠的;(7)标准化可重用构件的标准化对于软件重用是至关重要的。可重用构件构件与软件重用构件的开发与构件库构件的开发构件应该具有相当的一般性和抽象性,能够用于满足一类相似的需求,一个过于特殊的构件是很难被重复使用的。即使一个通用性很高的构件也
此文档下载收益归作者所有