软件工程第8章基于构件的软件开发(组图)

发布时间:2021-04-07 来源: 万汇智联 浏览次数:

软件工程第8章基于组件的软件开发基于组件的软件开发目标?软件开发的长期状态-大多数软件是针对特定的应用程序系统从头开发的,结果是:大量类似的类型重复的软件开发造成了大量的人力和财力浪费,以及软件质量的下降。软件不高?比较:汽车工业生产模式的比较:–在现有零件的基础上通过组装进行生产:有专门的零件生产厂,汽车设计师在设计时选择了市场上已经合适的零件,从而避免了很多重复劳动,提高产品质量和生产效率,促进分工合作?我们的目标:制造业中的装配式生产模型。我们的目标:软件开发简介2/41内容摘要?????基于组件的软件开发概述建设可重用组件应用系统工程组件管理摘要3/41内容摘要????基于组件的软件开发概述可重用组件应用系统工程的构建组件管理摘要4/41基于组件的软件开发?基于组件的软件开发-基于组件的软件开发-简称CBSD-指使用可重用组件来开发应用程序软件吗?基于组件的软件工程-基于组件的软件工程-称为CBSE5 / 41组件(Component)的典型定义组件(Component)的典型定义?在Pressman书中的定义:组件是系统中有价值的书中的定义:在书中,的定义是几乎独立且可替换的部分。它是几乎独立且可替换的部分,可以用明确定义的体系结构语言满足明确的功能?布朗的定义:组件是一个独立发布的功能部门的定义:可以通过其接口访问其定义及其服务吗? “计算机科学和技术百科全书”的定义:“计算机科学和技术百科全书”的定义:软件是软件系统中相对独立的功能,可以很明显地看出,软件是软件系统中相对独立的功能。标识和接口由协议指定,标识和接口由协议指定。对上下文有明显的依赖性。它可以独立部署。该系统可以独立部署基于构件的软件开发,也可以由第三方组装。软件实体;软件组件必须具有有用的功能和软件实体;软件组件必须具有有用的功能并遵循特定的组件模型;遵循特定的组件模型;可重用组件是指具有可重用价值的组件6/41商业现成的?商业现成的?简而言之?是指由第三方开发的符合某些组件标准的组件,并且是指由第三方开发的符合某些组件标准的组件。可组装软件组件7/41组件?规范:基于接口的概念,作为服务规范:基于接口的概念,服务提供商和客户之间的合同?一个或多个实现?组件标准受约束吗?包装方法?部署方法8 / 413C组件模型3C组件模型?有关组件的指导模型?它由组件描述概念的三个不同方面组成:关于“组件”“做什么”的抽象描述可以通过概念来理解组件的功能。

该概念包括两部分:接口规范和语义描述。语义描述与每个操作(至少以谓词谓词的形式表示)相关联-内容:概念的具体实现,描述组件如何完成该概念所描述的功能–上下文(上下文):描述以下内容之间的关系在概念级别和内容级别上描述组件和外部环境,描述组件的应用环境,并为组件的选择和自适应修改提供指导。 9/41 REBOOT组件模型REBOOT组件模型? REBOOT(基于面向对象技术的重用):基于面向对象技术的重用:基于构面的模型和基于构面的模型-Facet:通过分析域获得的一组基本描述性特征-构面可以描述组件执行的功能,其所操作的数据以及组件的上下文应用程序或任何其他特征-常规构面说明仅限于不超过7个或8个构面。 7 8?组件通常包括以下方面:组件通常包括以下方面:– – – –抽象:这是组件概念的抽象描述。操作:这是组件提供的操作的说明。操作数:描述操作的对象。依赖关系:它描述了组件与外界之间的依赖关系。 10/41通用组件标准? CORBA(通用对象请求代理体系结构)通用对象请求代理体系结构-OMG已发布的组件标准–核心是ORB(对象请求代理),它定义了对象在异构环境中透明地发送请求和接收响应的基本机制? COM + –由Microsoft开发的组件对象模型,提供了在Windows操作系统上运行的组件对象模型协议,用于在上述单个应用程序中使用由不同供应商生产的对象? EJB:基于以下组件标准:基于Java的组件标准–为客户端提供使用远程分布式对象的框架– EJB协议规定EJB组件如何与EJB容器交互11/41基于组件的软件开发过程12/41域工程步骤域工程步骤1?领域分析:首先进行领域分析,收集该领域中的代表性领域分析:首先分析应用程序样本的领域,分析应用程序的公共部分或相似部分,分析应用程序的公共部分或相似部分,并提取应用程序领域的体系结构?建立特定于域的基准体系结构模型:在特定于域的基准体系结构模型中:在此领域中构建基准体系结构,以上,在此领域中构建基准体系结构。该基准体系结构应该是可定制和可扩展的,并且可以被定制和扩展,并且可以用于该领域中的应用程序复制。采用?标识候选组件:在域分析和域基准体系结构模型中标识候选组件:在现场基础上标识候选组件?泛化和可变性泛化和可变性分析:改进分析:分析其通用性和可变性,同时通过设置参数,继承或其他方式,以及通过设置参数,继承或继承,查找不同应用程序中候选组件的变化点。其他方法,使可变的局部本地化13/41现场工程步骤现场工程步骤2?组件的重构:在泛化和可变性分析的基础上,组件的重构:在泛化和可变性分析的基础上,重构的组件,重构的组件,使其成为可重用的组件?组件测试:重建后的可重复使用组件应经过严格测试:点阵测试,点阵测试以提高其可靠性?组件包装:被测试的组件应基于组件库组件打包:包装要求,包装要求,以便组件库可以对其进行分类,存储和检索?组件存储:打包的组件可以存储在组件库中。组件存储:14/41应用系统工程的步骤应用系统工程的步骤-1?建立应用程序系统的体系结构模型:可以使用组件来构建应用程序系统的体系结构模型:生产者提供的特定于域的基准体系结构是通过定制和/或扩展获得的还是扩展的?寻找候选组件:根据应用程序系统的体系结构模型,寻找候选组件:根据应用程序系统的体系结构模型,从组件库或其他可用组件源中寻找候选组件?评估和选择适当的组件:评估候选组件以判断,评估和选择适当的组件:它是否适合要开发的软件?组件的修改满足特定应用需求的专业化15/41应用系统工程的步骤应用系统工程的步骤-2?开发未使用的部分:开发新系统的未使用的部分:开发?组件的组装:专门和经过修改的可重复使用组件的组装:将零件和新开发的零件组装到新的软件系统中吗?集成测试:在已组装的软件系统上执行集成测试:测试?评估重用的组件,并推荐可能的新组件。评估可重复使用的组件,质量的16/41 CBSD,质量,生产率和成本对质量的影响的CBSD?质量影响:通过长期测试和使用,对质量的影响:通过长期测试和使用基于构件的软件开发,组件可以确保高质量,而组件可以保证高质量,因此可以保证系统开发的质量?对生产力的影响:一般而言,约为30%〜对生产力的影响:一般而言,约30%〜50%的重用可使生产力提高50%。重复使用可以使生产率提高25%〜40%重复使用可以使生产率提高25%〜40%?对成本的影响-与可重用性相关的成本应由使用可重用性技术的多个项目分担-通常使用可重用性的2至3个生产周期(大约3年左右)。可重用可带来重大收益17/41目录摘要??? ??基于组件的软件开发概述可重用组件的构建应用系统工程组件管理摘要18/41可重用组件的构建?构建组件的目的是将来重用该组件,也就是说,构建组件的目的是将来重用该组件,并构建该组件以供重用。遵循抽象,逐步完善,信息隐藏,功能独立,信息隐藏,功能独立,结构化编程等思想和原则吗?由于面向对象的方法被封装和继承,因此它们被封装且功能强大。支持重用点可以有效地支持重用,因此应尽可能考虑可重用组件的面向对象方法19/41的要求。组件的设计应具有高度的通用性。该组件应易于使用。调整组件应易于组装。该组件必须是可检索的。该组件必须经过充分测试。 20/41为领域组件创建设计框架吗?除了遵循现有的设计概念和原则之外,除了遵循现有的设计概念和原则之外,还必须考虑应用程序领域的特性,例如:还必须考虑应用程序领域的特性,例如: -标准数据:应研究应用领域,并确定标准的全局数据结构(例如文件结构或完整的数据库)。