《软件工程》教学课件11软件复用和构件技术.ppt

上传人:sh****n 文档编号:12760305 上传时间:2020-05-22 格式:PPT 页数:19 大小:327.31KB
返回 下载 相关 举报
《软件工程》教学课件11软件复用和构件技术.ppt_第1页
第1页 / 共19页
《软件工程》教学课件11软件复用和构件技术.ppt_第2页
第2页 / 共19页
《软件工程》教学课件11软件复用和构件技术.ppt_第3页
第3页 / 共19页
点击查看更多>>
资源描述
2005.01.10,SOFTWAREENGINEERING,福州大学软件学院计算机教研室,软件复用和构件技术,王灿辉,2005.01.10,SOFTWAREENGINEERING,复用就是指“利用现成的东西”,文人称之为“拿来主义”。被复用的对象可以是有形的物体,也可以是无形的成果。复用不是人类懒惰的表现而是智慧的表现。因为人类总是在继承了前人的成果,不断加以利用、改进或创新后才会进步。,复用,2005.01.10,SOFTWAREENGINEERING,复用的内涵包括了提高质量与生产率两者。在一个新系统中,大部分的内容是成熟的,只有小部分内容是创新的。一般地可以相信成熟的东西总是比较可靠的(即具有高质量),而大量成熟的工作可以通过复用来快速实现(即具有高生产率)。人们应该把大部分的时间用在小比例的创新工作上,而把小部分的时间用在大比例的成熟工作中,这样才能把工作做得又快又好。,复用,2005.01.10,SOFTWAREENGINEERING,软件工程领域的主要研究热点是软件复用和软件构件技术,它们被视为是解决“软件危机”的一条现实可行的途径。是软件工业化生产的必由之路?,软件复用,2005.01.10,SOFTWAREENGINEERING,把复用的思想用于软件开发,称为软件复用。据统计,世上已有1000亿多行程序,无数功能被重写了成千上万次,真是极大的浪费。面向对象(ObjectOriented)学者的口头禅就是“请不要再发明相同的车轮子了”。,软件复用,2005.01.10,SOFTWAREENGINEERING,将具有一定集成度并可以重复使用的软件组成单元称为软构件(SoftwareComponent)。软件复用可以表述为:构造新的软件系统可以不必每次从零做起,直接使用已有的软构件,即可组装(或加以合理修改)成新的系统。复用方法合理化并简化了软件开发过程,减少了总的开发工作量与维护代价,既降低了软件的成本又提高了生产率。另一方面,由于软构件是经过反复使用验证的,自身具有较高的质量。因此由软构件组成的新系统也具有较高的质量。,软件复用,2005.01.10,SOFTWAREENGINEERING,软件复用不仅要使自己拿来方便,还要让别人拿去方便,是“拿来拿去主义”。利用软构件生产应用软件的过程如下图所示。,软件复用过程,应用软件系统分解,定义所需构件集合,用构件建造新软件,提取构件,创建新构件,查询软构件库,2005.01.10,SOFTWAREENGINEERING,软件复用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。可复用的软件成分可复用构件(ReusableComponent)可从旧软件中提取,也可以专门为复用而开发。这些软件产品包括了:领域知识、体系结构、需求分析、设计文档、程序代码、测试用例和测试数据等等。将这些已有的软件产品在软件系统开发的各个阶段重复使用,这就是软件复用的原理。,软件复用,2005.01.10,SOFTWAREENGINEERING,最早用于软件复用的软件产品是程序代码,这些程序代码最初是以子程序库的形式进行组织和管理的。软件开发人员通过使用相应的子程序名和参数,就可以在软件开发过程中重复使用这些程序代码。子程序库所代表的早期的软件复用主要是程序代码的复用,这是软件复用的一种原始形态。随着软件复用技术的不断发展,软件复用的范围已经从最初的程序代码的复用,扩展到了更为广阔的范围,其中包含了体系结构、需求分析、设计文档、测试用例和测试数据的复用。,软件复用,2005.01.10,SOFTWAREENGINEERING,按照重用活动所跨越的应用领域的类型,可以把软件的复用形式分为横向和纵向复用。从基于软件复用的软件开发过程的角度,可以把软件复用分为:生产者复用(productreuse)和消费者复用(consumerreuse),软件复用的形式,2005.01.10,SOFTWAREENGINEERING,一个软件只有在多个系统中被使用才可称为“可复用构件”,必须具备的条件:独立性:解决一个相对独立的问题或独立部分;完整性:提供较完整的解决;可标识性:构件所解决的问题应该是可标识的,可命名,有简要介绍,便于理解和使用;通用性适应性可靠性标准化,可复用构件,2005.01.10,SOFTWAREENGINEERING,构件库完成对构件产品的存储、检索、浏览和管理的功能。构件库的组织和管理水平直接决定着构件复用的效率。构件库的组织和管理形式要有利于构件的存储和检索,其最关键的目标是支持构件的使用者可以高效而准确的发现满足其需要的可复用构件。,构件库,2005.01.10,SOFTWAREENGINEERING,基于构件的开发是指使用可复用构件组装开发新的应用系统。基于构件的开发由构件的鉴定、构件的调整和构件的组装组成。,基于构件的开发,2005.01.10,SOFTWAREENGINEERING,构件的鉴定:对打算用于软件开发的构件能否满足应用的需要,能否达到应用所需要的性能、可靠性、质量的要求而进行的相应考察和鉴别工作。构件的调整:根据构件使用的环境,对构件进行必要的调整和修改以满足软件、硬件环境和具体应用的需要。构件的组装:将经过鉴定和调整的构件集成到应用系统中去。,基于构件的开发,2005.01.10,SOFTWAREENGINEERING,基于构件的开发是使用可复用构件组装开发新的应用系统。基于构件的软件开发导致软件系统的开发成本、开发质量、开发效率都得到了显著的改善。当然,基于构件的软件开发也是有代价的。,基于构件的开发特点,2005.01.10,SOFTWAREENGINEERING,在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题。采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力。第三方的构件开发商可能停业,这会使购买的构件失去维护服务。,基于构件开发的风险,2005.01.10,SOFTWAREENGINEERING,在基于构件的软件开发(CBSD)中,构件的标准化对于构件的复用是至关重要的。近年来,为了促进软件构件技术的发展,促进构件技术的标准化,工业界中一些主要的软件公司和产业联盟纷纷提出了一些构件软件的建议标准和技术规范。,软件构件技术的技术规范,2005.01.10,SOFTWAREENGINEERING,工业界中最具有代表性、使用最为广泛的构件技术规范主要有三种:微软公司的构件对象模型(DNA)对象管理组织(OMG)的公共对象请求代理体系结构(CORBA)SUN公司的EJB(EnterpriseJavaBean),软件构件技术的技术规范,2005.01.10,SOFTWAREENGINEERING,本章内容讲授到此结束!,福州大学软件学院计算机教研室王灿辉,Q&A,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!