基于组件的软件工程(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Slide 8
组件的定义
Councill 和 Heinmann的定义:
•
组件是一种软件元素,与某个组件模型要求相一 致,按照组成标准无需修改即可独立进行部署和 组合。 组件具有合同定义的接口和显式的上下文依赖, 是可独立进行部署的并服从于第三方的组成的软 件。
Szyperski的定义:
•
陈江平
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 14
数据采集组件的模型
Requires int er fa ce
Prov ides int er fa ce ad dSen so r remo veSens or star tSen so r Data co llector stop Sens or testSen so r in itialise repo r t listAll
Software Engineering, 8th edition. Chapter 19
Slide 9
组件作为服务的提供者
组件是独立可执行的实体。在与系统其他组件 一起使用之前,无需编译组件。 组件所提供的服务可以通过其接口得到,而且 所有的交互都是通过接口实现的。
陈江平
Software Engineering, 8th edition. Chapter 19
文档化
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 12
组件接口
提供接口
• 定义了组件提供给其他组件的服务。 指定系统其他组件必须提供哪些服务。如果这些 服务不能实现,组件将无法工作。
需要接口
•
陈江平
Software Engineering, 8th edition. Chapter 19
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 2
Байду номын сангаас
内容
组件和组件模型 CBSE过程 组件合成
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 3
基于组件的开发
基于组件的软件工程 (CBSE) 是软件系统开发 的基于复用的方法。 它的产生是由于设计者们在使用面向对象的开 发过程中所受到的挫折,这种挫折来自于面向 对象开发不能支持有效的复用。单个对象类太 细节且太特殊。 组件比对象类更抽象,可以被认为是独立服务 的提供者。
Slide 5
CBSE 及设计原则
除了可以复用的好处外,CBSE还基于了一套 完整的软件工程设计原则:
• • • • 组件式独立的,因此它们不会影响彼此的操作; 组件细节的实现是隐藏的; 组件通过良好定义的接口进行交互; 组件平台是共享的,减少了开发成本。
陈江平
Software Engineering, 8th edition. Chapter 19
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 4
CBSE 要素
独立组件 由它们的接口完全定义。 组件标准 使组件集成变得更为容易。 中间件 为组件集成提供软件支持。 开发过程 适应于软件复用。
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 10
组件特性1
标准化 组件标准化意味着使用在 CBSE 过程中的组件必须符 合某种标准化的组件模型。此模型会定义组件接口、组 件元数据、文档管理、组成以及部署 组件应该是独立的——它应该可以在无其他特殊组件 的情况下进行组合和部署。如果在某些情况下组件需要 外部提供的服务,应该在“需要”接口描述中显式地声 明 对于可组合是组件,所有外部交互必须通过公开定义 的接口进行。另外,它还必须提供对自身信息的外部访 问,例如它的方法和属性
独立性
可组合性
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 11
组件特性 2
可部署性
为使之可部署,组件需要是自包含的,且必须能在 实现其组件模型的组件运行平台上作为一个独立实体运 行。因而意味着组件总是二进制子那个是的且无需在部 署前编译 组件必须是完全文档化的,这样所有用户能确定组 件是否满足他们的需要。所有组件接口的语法甚至是语 义都需要定义
Slide 6
CBSE 的问题
组件的可信度 ——用户在没有源代码的情况 下,如何能知道组件知否可靠呢? 组件的证明—— 谁来证明这些组件的质量呢? 总体特性预测 ——怎样能预测组件合成的新 出现的属性呢? 需求权衡——在一个组件和另一个组件的特征 之间,我们该怎样进行权衡分析呢?
陈江平
Software Engineering, 8th edition. Chapter 19
第19章 基于组件的软件工程
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 1
目标
阐述基于组件的软件工程涉及开发基于组件模 型的标准化组件以及将其组成应用系统; 描述什么是组件和组件模型; 介绍CBSE 过程的主要活动; 讨论组件合成的方法以及出现的问题。
Slide 7
组件
组件提供了一种服务,不必考虑组件正在哪儿 执行和它的编程语言。
• • 组件是一个独立可执行的实体,它可以由一个或 多个可执行的对象组成; 组件所提供的服务可以通过其接口得到,而且所 有的交互都是通过接口实现的。
陈江平
Software Engineering, 8th edition. Chapter 19
Slide 13
组件接口
Requires int er fa ce Defines the services f r omthecompone nt抯 en viro nmen t that it u ses Compo n ent
Prov ides int er fa ce Defines the services th at are p rov id ed b y the co mp o nent to o ther comp on en ts