欢迎来到天天文库
浏览记录
ID:39462891
大小:232.26 KB
页数:41页
时间:2019-07-03
《《复旦大学软件工程》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程第8章基于构件的软件开发基于构件的软件开发目标长期以来的软件开发状况多数软件都是针对某个具体的应用系统从头进行开发的导致:出现了大量的同类软件重复开发,造成大量人力、财力的浪费,而且软件的质量也不高对比:汽车工业的生产模式在已有的部件基础上通过组装进行生产:有专门的部件生产工厂,汽车设计者在设计中选择市场上已有的合适的部件避免了大量的重复劳动,提高了产品质量和生产效率,促进分工合作我们的目标:将制造业中的组装式生产模式引入到软件开发中2复旦大学计算机科学与工程系软件工程课程内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管
2、理小结3复旦大学计算机科学与工程系软件工程课程内容摘要基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结4复旦大学计算机科学与工程系软件工程课程基于构件的软件开发基于构件的软件开发Component-BasedSoftwareDevelopment简称CBSD是指使用可复用构件来开发应用软件基于构件的软件工程Component-BasedSoftwareEngineering简称CBSE5复旦大学计算机科学与工程系软件工程课程构件(Component)的典型定义Pressman书中的定义:构件是某系统中有价值的、几乎独立的并可替换的
3、一个部分,它在良好定义的体系结构语境内满足某清晰的功能Brown的定义:构件是一个独立发布的功能部分,可以通过其接口访问它的服务“计算机科学技术百科全书”的定义:软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体;软件构件须承载有用的功能,并遵循某种构件模型;可复用构件是指具有可复用价值的构件6复旦大学计算机科学与工程系软件工程课程商用成品构件Commercialoff-the-shelf简称COTS指由第三方开发的满足一定构件标准的,可组装的软件构件7复旦大学
4、计算机科学与工程系软件工程课程构件的要素规格说明:建立在接口概念之上,作为服务提供方与客户方之间的契约一个或多个实现受约束的构件标准包装方法部署方法8复旦大学计算机科学与工程系软件工程课程3C构件模型关于构件的一个指导性模型由构件的三个不同方面的描述组成概念(concept):关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。概念包括接口规约和语义描述两部分,语义描述和每个操作相关联(至少表示为前后置谓词形式)内容(content):概念的具体实现,描述构件如何完成概念所刻画的功能周境(context):描述构件和外围环境在概念级和内
5、容级的关系,刻画构件的应用环境,为构件的选用和适应性修改提供指导9复旦大学计算机科学与工程系软件工程课程REBOOT构件模型REBOOT(ReuseBasedonObject_OrientedTechnology):基于面向对象技术的复用一种基于刻面(facet)的模型刻面:对领域进行分析,所得到的一组基本的描述特征刻面可以描述构件执行的功能、所操作的数据、构件应用的周境或任何其它特征通常的刻面描述限制在不超过7或8个刻面一个构件通常包括以下刻面:抽象(abstraction):它是构件概念的抽象性描述操作(operation):它是构件所提供
6、的操作的描述操作对象(operand):它描述操作的对象依赖(dependency):它描述构件与外界的依赖关系10复旦大学计算机科学与工程系软件工程课程常用的构件标准CORBA(公共对象请求代理体系结构)CommonObjectRequestBrokerArchitectureOMG发布的构件标准核心是ORB(ObjectRequestBroker),定义了异构环境下对象透明地发送请求和接收响应的基本机制COM+微软开发的一个构件对象模型,提供了在运行于Windows操作系统之上的单个应用中使用不同厂商生产的对象的规约EJB:一种基于Java
7、的构件标准提供了让客户端使用远程的分布式对象的框架EJB规约规定了EJB构件如何与EJB容器进行行交互11复旦大学计算机科学与工程系软件工程课程基于构件的软件开发过程12复旦大学计算机科学与工程系软件工程课程领域工程步骤-1领域分析:首先要进行领域分析,收集领域中有代表性的应用样本,分析应用中的公共部分或相似部分,抽取该领域的应用体系结构建立领域特定的基准体系结构模型:在领域分析的基础上,构造该领域的基准体系结构,这个基准体系结构应是可以裁剪和扩充的,并可供该领域的应用复用标识候选构件:在领域分析和领域基准体系结构模型的基础上标识该领域的候选构
8、件泛化(generalization)和可变性(variability)分析:提高其通用性,同时寻找候选构件在不同应用中的变化点(variationp
此文档下载收益归作者所有