
软件工程 第8章基于构件的软件开发
软件工程 第8章 基于构件的软件开发

基于构件的软件开发目标 ·长期以来的软件开发状况 多数软件都是针对某个具体的应用系统从头进行开发的 导致:出现了大量的同类软件重复开发,造成大量人力、财力的 浪费,而且软件的质量也不高 ·对比:汽车工业的生产模式 在已有的部件基础上通过组装进行生产:有专门的部件生产工厂, 汽车设计者在设计中选择市场上已有的合适的部件 避免了大量的重复劳动,提高了产品质量和生产效率,促进分工 合作 。 我们的目标:将制造业中的组装式生产模 式引入到软件开发中 厦门理工学院计算机科学与技术系软件工程课程 2/41
厦门理工学院计算机科学与技术系 软件工程课程 2/41 基于构件的软件开发目标 • 长期以来的软件开发状况 – 多数软件都是针对某个具体的应用系统从头进行开发的 – 导致:出现了大量的同类软件重复开发,造成大量人力、财力的 浪费,而且软件的质量也不高 • 对比:汽车工业的生产模式 – 在已有的部件基础上通过组装进行生产:有专门的部件生产工厂, 汽车设计者在设计中选择市场上已有的合适的部件 – 避免了大量的重复劳动,提高了产品质量和生产效率,促进分工 合作 • 我们的目标:将制造业中的组装式生产模 式引入到软件开发中

内容摘要 基于构件的软件开发概述 ·建造可复用构件 ·应用系统工程 ·构件的管理 ·小结 厦门理工学院计算机科学与技术系软件工程课程 3/41
厦门理工学院计算机科学与技术系 软件工程课程 3/41 内容摘要 • 基于构件的软件开发概述 • 建造可复用构件 • 应用系统工程 • 构件的管理 • 小结

内容摘要 ·基于构件的软件开发概述 建造可复用构件 ·应用系统工程 ·构件的管理 ·小结 厦门理工学院计算机科学与技术系软件工程课程 4/41
厦门理工学院计算机科学与技术系 软件工程课程 4/41 内容摘要 • 基于构件的软件开发概述 • 建造可复用构件 • 应用系统工程 • 构件的管理 • 小结

基于构件的软件开发 ·基于构件的软件开发 Component-Based Software Development -简称CBSD ·是指使用可复用构件来开发应用软件 基于构件的软件工程 - Component-Based Software Engineering 简称CBSE 厦门理工学院计算机科学与技术系软件工程课程 5/41
厦门理工学院计算机科学与技术系 软件工程课程 5/41 基于构件的软件开发 • 基于构件的软件开发 – Component-Based Software Development – 简称CBSD – 是指使用可复用构件来开发应用软件 • 基于构件的软件工程 – Component-Based Software Engineering – 简称CBSE

构件(Component)的典型定义 ·Pressman书中的定义:构件是某系统中有价值 的、几平独立的拼可替换的二个 可PP 它在良 好定义的体系结构语境内满足桌清晰的访能 Brown的定义:构件是一个独立发布的功能部 分,可以通过其接口访问它的服务 “计算机科学技术百科全书”的定义:软件构 是软性萦统电具有相对独立功能,可以明确 件 32溪着澳楼 标识,接口由规约指定 软 握软裤构裤承载看能一 件铃型可食用是指貿可爱帚 价值的构 件 厦门理工学院计算机科学与技术系软件工程课程 6/41
厦门理工学院计算机科学与技术系 软件工程课程 6/41 构件(Component)的典型定义 • Pressman书中的定义:构件是某系统中有价值 的、几乎独立的并可替换的一个部分,它在良 好定义的体系结构语境内满足某清晰的功能 • Brown的定义:构件是一个独立发布的功能部 分,可以通过其接口访问它的服务 • “计算机科学技术百科全书”的定义:软件构 件是软件系统中具有相对独立功能,可以明确 标识,接口由规约指定,与语境有明显依赖关 系,可独立部署,且多由第三方提供的可组装 软件实体;软件构件须承载有用的功能,并遵 循某种构件模型;可复用构件是指具有可复用 价值的构件

构件的要素 规格说明:建立在接口概念之上,作为服 务提供方与客户方之间的契约 一个或多个实现 受约束的构件标准 ·包装方法 部署方法 厦门理工学院计算机科学与技术系软件工程课程 7/41
厦门理工学院计算机科学与技术系 软件工程课程 7/41 构件的要素 • 规格说明:建立在接口概念之上,作为服 务提供方与客户方之间的契约 • 一个或多个实现 • 受约束的构件标准 • 包装方法 • 部署方法

3C构件模型 关于构件的一个指导性模型 ·由构件的三个不同方面的描述组成 -1 概念(concept):关于“构件做什么”的抽象描述,可以 通过概念去理解构件的功能。概念包括接口规约和语义描 述两部分,语义描述和每个操作相关联(至少表示为前后 置谓词形式) -内容(content):概念的具体实现,描述构件如何完成概 念所刻画的功能 周境(context):描述构件和外围环境在概念级和内容级 的关系,刻画构件的应用环境,为构件的选用和适应性修 改提供指导 厦门理工学院计算机科学与技术系软件工程课程 8/41
厦门理工学院计算机科学与技术系 软件工程课程 8/41 3C构件模型 • 关于构件的一个指导性模型 • 由构件的三个不同方面的描述组成 – 概念(concept):关于“构件做什么”的抽象描述,可以 通过概念去理解构件的功能。概念包括接口规约和语义描 述两部分,语义描述和每个操作相关联(至少表示为前后 置谓词形式) – 内容(content):概念的具体实现,描述构件如何完成概 念所刻画的功能 – 周境(context):描述构件和外围环境在概念级和内容级 的关系,刻画构件的应用环境,为构件的选用和适应性修 改提供指导

REBOOT构件模型 REBOOT(Reuse Based on Object Oriented Technology):基于面向对象技未的复用 一种基于刻面(facet)的模型 一刻面:对领域进行分析,所得到的一组基本的描述特征 刻面可以描述构件执行的功能、所操作的数据、构件应用的周 境或任何其它特征 通常的刻面描述限制在不超过7或8个刻面 。 一个构件通常包括以下刻面: 抽象(abstraction):它是构件概念的抽象性描述 操作(operation):它是构件所提供的操作的描述 操作对象(operand):它描述操作的对象 依赖(dependency):它描述构件与外界的依赖关系 厦门理工学院计算机科学与技术系软件工程课程 9/41
厦门理工学院计算机科学与技术系 软件工程课程 9/41 REBOOT构件模型 • REBOOT(Reuse Based on Object_Oriented Technology):基于面向对象技术的复用 • 一种基于刻面(facet)的模型 – 刻面:对领域进行分析,所得到的一组基本的描述特征 – 刻面可以描述构件执行的功能、所操作的数据、构件应用的周 境或任何其它特征 – 通常的刻面描述限制在不超过7或8个刻面 • 一个构件通常包括以下刻面: – 抽象(abstraction):它是构件概念的抽象性描述 – 操作(operation):它是构件所提供的操作的描述 – 操作对象(operand):它描述操作的对象 – 依赖(dependency):它描述构件与外界的依赖关系

常用的构件标准 ·CORBA(公共对象请求代理体系结构) Common Ob.ject Request Broker Architecture OMG发布的构件标准 核心是ORB(Object Request Broker),定义了异构环境下对 象透明地发送请求和接收响应的基本机制 ·COM+ 微软开发的一个构件对象模型,提供了在运行于Windows:操作 系统之上的单个应用中使用不同厂商生产的对象的规约 EJB:一种基于Java的构件标准 提供了让客户端使用远程的分布式对象的框架 EJB规约规定了EJB构件如何与EJB容器进行行交互 厦门理工学院计算机科学与技术系软件工程课程 10/41
厦门理工学院计算机科学与技术系 软件工程课程 10/41 常用的构件标准 • CORBA(公共对象请求代理体系结构) – Common Object Request Broker Architecture – OMG发布的构件标准 – 核心是ORB(Object Request Broker),定义了异构环境下对 象透明地发送请求和接收响应的基本机制 • COM+ – 微软开发的一个构件对象模型,提供了在运行于Windows操作 系统之上的单个应用中使用不同厂商生产的对象的规约 • EJB:一种基于Java的构件标准 – 提供了让客户端使用远程的分布式对象的框架 – EJB规约规定了EJB构件如何与EJB容器进行行交互