PPTOK :您身边最贴心好用的PPT站! PPT模板下载

您当前所在位置:首页 > PPT课件 > 学校ppt > 高校大学PPT → 基于组件的软件工程ppt

基于组件的软件工程ppt

  • 素材大小:1.01 MB
  • 素材授权:免费下载
  • 更新时间:2017-01-11
  • 素材类别:高校大学PPT
  • 素材上传:huangliling
  • 素材格式:.ppt
  • 关键提要:工学
  • 素材版本:PowerPoint2003及以上版本(.ppt)
网友评分:
PPT介绍优秀PPT相关PPT精品PPT网友评论

这是一个关于基于组件的软件工程ppt,主要介绍CBSE如何开发基于组件模型的标准化组件以及如何将这些组件组成应用系统的问题。欢迎点击下载哦。

PPT预览

基于组件的软件工程ppt 基于组件的软件工程ppt

PPT内容

软件工程 第17章  基于组件的软件工程
目标
介绍CBSE如何开发基于组件模型的标准化组件以及如何将这些组件组成应用系统的问题
描述组件和组件模型
CBSE过程中的主要活动
组件合成的方法及存在的主要问题
主要内容
组件及组件模型
CBSE过程
组件合成
基于组件的开发
基于组件的软件工程 (CBSE) 是基于复用的软件开发方法。
源于复用在面向对象开发中所遭受的挫折,挫折来自于面向对象开发不能够实现像人们最初所期待的那样能完成广泛的复用。
单个的对象类过于详细和特殊,通常需要再编译时间与应用绑定。
组件比对象类更抽象,而且能被当成是独立的服务提供者。
基于组件的开发
基于组件的软件工程 (CBSE) 是定义、实现和集成或组合松散耦合的独立组件成系统的过程。
成为重要的软件开发的原因
软件系统越来越大和复杂
用户要求开发更可靠
软件的发布和部署更快
而处理系统的复杂性,并更快交付软件的方法是复用软件组件而不是重新实现组件。
CBSE 要素
独立组件
由他们的接口完全定义。
组件标准
使组件集成变得更为容易。
中间件
为组件集成提供软件支持。
开发过程
一种适应基于组件的软件工程的开发过程。
CBSE and 设计原则
除了获得复用的好处, CBSE 也支持软件工程的设计原则:
组件是独立的,因此他们不会影响彼此的操作;
组件的实现细节是隐藏的;
组件通过良好定义的接口进行通信;
组件平台是共享的,这可以降低开发成本。
组件标准
标准需要建立,使组件可以与对方互操作。
不幸的是,几个相互竞争的组件标准的被建立:
Sun的企业Java Beans
微软的COM和.NET
CORBA的CCM
在实践中,这些多个标准阻碍CBSE的采用。对于开发小组,使用不同的方法来共同工作是不可能的。
CBSE 的问题
组件的可信度- 用户如何能确定组件是否可靠呢?
组件的证明- 谁来证明组件的质量?
总体特性预测- 如何来预测组件的总体特性?
需求权衡- 我们怎样权衡理想需求和现实可用的组件?
17.1 组件
组件是能提供服务的软件单元,不管它在何处执行以及采用何种编程语言实现
组件是由一个或多个可执行对象构成的一个独立的执行实体;
组件接口公开,所有的交互都是通过公开的接口进行的。
组件的定义
Councill 和 Heinmann:
组件是一种软件元素,与某个组件模型相一致,按照组成标准无需修改即可独立进行部署和组合。
Szyperski:
组件具有合同定义的接口和显示的上下文依赖,是可独立进行部署的并服从于第三方的组成的软件单元。
组件特性1
组件特性2
将组件看成是服务提供者
组件是独立可执行的实体,在使用这些组件前无需编译。
组件所提供的服务可以通过其接口得到,所有的交互都是通过接口实现的。
组件接口表现为在参数化的过程,是不会暴露其内部状态的。
组件接口
提供接口
定义组件向其他组件提供的服务。
需要接口
指定组件需要哪些服务才能正确运行。
组件接口
数据采集组件的模型
组件模型
组件模型是关于组件实现,文档化以及部署等相关的标准。
组件模型的实例
EJB model (Enterprise Java Beans)
COM+ model (.NET model)
Corba Component Model
组件模型规定了接口应该如何定义,在接口定义中应包括哪些要素等。
组件模型的基本要素
组件模型的要素
接口
通过指定其接口定义组件。组件模型指定的接口应该定义的元素,如操作名称,参数和异常,都应包括在接口定义中。
用法
为了远程分发和访问的组件,他们需要有一个唯一的名称,或与它们相关联的处理。这是全球唯一的。
部署
组件模型,包括一个规范描述该组件作为独立的、可执行的实体,应该如何被打包和部署。
中间件支持
组件模型是支持组件执行的中间件的基础。
组件模型实现提供:
平台服务:这些基本服务使组件间可以相互通信;
水平服务:这些应用无关的服务可能被很多不同的组件使用。
为使用模型提供的服务,组件部署在预先定义的容器中,容器是一组接口,通过这些接口来访问支持服务的实现。
组件模型中定义的中间件服务
17.2 CBSE 过程
CBSE过程是支持基于组件的软件工程的软件过程。
考虑了复用的可能性,以及在开发和使用可复用的组件中所涉及的不同的过程活动。
两种类型的CBSE过程
面向复用的开发:这个过程是开发将被复用在其它应用程序中的组件或服务。它通常是对已存在的组件进行一般化处理。
基于复用的开发:这个过程就是新的应用程序开发过程中使用现有的组件和服务。
CBSE 过程
支撑过程
组件的取得过程就是取得可复用或开发成一个可复用组件的过程。
它可能涉及访问本地开发的组件或服务,或从外部源中找到这些组件。
组件管理关注的是管理可重用的组件,确保他们正确编目,存储和可重用。
组件认证是检查组件以及证明它符合其规范的过程。
17.2.1 面向复用的组件开发
针对专有应用开发的组件需要通过改写使其更通用以适合复用。
如果组件与一个稳定的抽象领域相关,则组件更加容易复用。
例如,在医院管理系统中,稳定的抽象域中可能包括病人,治疗和护士等。
面向复用的组件开发
面向复用的组件可能通过改造现有组件使其更通用来实现。
应该反映稳定的域抽象;
应该隐藏状态表示;
应该尽可能独立;
应该通过组件接口公开异常。
在复用性和可用性之间保持平衡
接口更通用,意味着组件的复用性更好,但是也意味着更高的复杂性因此可用性降低。
提高复用性的变更
移除专有的应用方法。
更名方法使其更通用。
添加方法提供更完备的功能覆盖。
为所有方法构造一致的异常处理。
添加“配置”接口允许对组件改编以适应不同的使用情况。
集成所需要的组件以增强独立性。
遗留系统组件
完成很重要业务功能的现存遗留系统可以通过封装转化成可复用的组件。
这包括编写适配组件,实现提供服务接口和请求服务接口,并访问现存遗留系统。
尽管这些需要成本开销,与重新编写遗留系统相比,开销要小得多。
复用组件
开发复用组件的成本可能要高于其等价的面向专门应用的组件。
通用组件可能在空间效率和时间性能方面要劣于其等价的专有组件。
组件管理
组件管理涉及决定如何进行分类组件,以便它可以被发现,使得该组件可在存储库中,或作为一种服务,保持组件的使用的信息,并跟踪不同的组件版本。
在组件成为可复用组件之前,机构需要开展一些形式的组件认证工作。
认证是指除了开发者外,还需相关人员检查组件的质量。
17.2.2 基于复用的CBSE
当复用组件时,有必要在理想的需求和可用的组件实际能提供的服务之间进行妥协。
这包括:
建立概要需求;
查找组件并依据组件能提供的功能修改需求;
重新查找看是否有更好的组件满足修改后的需求。
基于复用的CBSE
组件识别过程
组件识别的问题
信任.
你需要信任 一个组件供应商。最好的情况是,不受信任的组件可能无法像其广告描述的那样正常运行;最坏的情况是,它可以破坏你的系统安全。
需求.
不同群体的组件将满足不同的需求。
验证.
组件的说明书可能不够详细,无法进行全面地开发测试 。
组件可能包含你一些不需要的功能,你怎样来测试它而不干扰你的应用程序?
组件验证
组件验证涉及到为组件开发一套测试案例(或可能的话,扩大与该组件提供的测试用例),并开发一个测试程序来运行组件测试。
组件验证的主要问题是组件描述可能不足够详细,以致无法让你开发一个全面的组件测试集。
验证一个所需要的复用组件,你可能还需要检查该组件不包含任何恶意代码或你不需要的功能。
Ariane 5运载火箭失败
在1996,Ariane5首次发射中,惯性导航软件在升空37秒后失败,火箭因而失去控制。
导致问题的原因是某个定点数到整数转换中发生了数溢出这样的无法处理的异常,这导致了运行系统关闭了惯性参考系统,所以火箭的稳定性得不到维持。此缺陷在Ariane4中没有发生是因为他的引擎功率比较小,所转换的值不会大到溢出的程度。
缺陷发生在一段Ariane5所不需要的代码上。
17.3 组件合成
组件合成是指组装组件创建系统的过程。
合成包括在组件框架的支持下将组件集成成应用。
通常你不得不编写‘胶水代码’来集成组件。
注:胶水代码就是用一段代码屏蔽用户的鼠标,使用户无论在网页的什么位置点击鼠标都会跳转到代码指定的网页,一般这种技术多用于流氓网站,目的是强迫用户点击自己的广告,从而获得收入!
组件合成的类型
顺序合成 这种情况的发生是指在合成组件中,构成组件是按顺序执行的(图a)。
层次合成 这种情况发生在一个组件直接调用由另一个组件所提供的服务时(图b) 。
叠加合成这种情况发生在两个或两个以上的组件接口合在一起来(加)创建一个新组件的时候(图c) 。
合成组件的应用
创建一个系统时,可能用到所有形式的组件合成方式。
无论哪种组件合成,当一个组件调用另外一个组件时,你可能需要引入一个过渡组件以确保‘提供’接口和‘需要’接口是兼容的。
当你编写组件尤其是为了合成来写组件时,必须注意设计好接口,以使其在系统中相互匹配,也使得很容易把这些组件合成为一个单元。
接口不兼容
参数不兼容
接口每一边的操作有相同的名字,但参数类型或参数数目不同。
操作不兼容
提供接口和需要的操作名不同。
操作不完备
一个组件的提供接口是另一个组件的需要接口的一个子集,或者相反。
接口不兼容
对所有情况,都必须通过编写适配器组件来解决不兼容的问题,适配器组件使两个可复用组件的接口相一致。
适配器组件将一个的接口转换为另一个的接口。
适配器的准确形式依赖于合成的类型。
不兼容的组件接口
适配组件
通过使组件间的接口相一致解决组件间不兼容的接口的问题。
不同的组件合成方式需要不同类型的适配组件。
一个地址搜索和一个地图组件可以通过一个适配器,去掉地址中的邮政编码传给地图组件,从而组合在一起。
通过适配组件进行合成
组件postCodeStripper 是适配器,它使地址组件和地图组件顺序合成。
数据采集组件的适配组件
图片库组成
接口语义
你不得不依赖于组件的文档来确定形式上兼容的接口是否实际兼容。
考虑一个Photo Library的接口方法:
相片库文档
对象约束语言
The Object Constraint Language (OCL) 被设计用于描述UML模型中的约束。
基于前置、后置条件等的描述。
photo library接口的OCL描述
Photo library 条件
As specified, the OCL associated with the Photo Library component states that:
相片库中的相片不能有和待加入的相片相同的标识;
库必须是存在的——假定创建一个库就加入一个项在其中,这样库的的大小就始终大于0;
新的实体增加时库的大小增1;
如果用同一个标识符去取相片,就可以得到新添加的那张相片;
如果再次用相同的标识符在目录中查找,就可以得到所生成的目录入口。
合成的权衡
当合成组件时,你可能会发现在功能性和非功能性需求之间存在冲突,在快速交付和系统进化之间存在冲突。
因此需要进行相应决策:
在移交系统功能性需求方面,哪种组件的合成方式是最有效的?
组件的哪种合成更适应未来的需求变更?
合成系统的总体特性?
数据采集和报告生成组件
要点
基于组件软件工程是基于复用的方法来定义、实现和组合松散耦合的独立组件,使之成为一个系统。
组件是一个软件单元,它的功能和可依赖性完全由一套公共接口定义。
组件模型定义了一个组件标准,包括接口标准、使用标准和部署标准。组件模型的实现提供了一套水平服务,可以供所有组件使用。
在 CBSE 过程中,我们不得不将需求工程过程与系统设计交织在一起。我们不得不在所希望的需求和从现存的可复用组件能得到的服务两者之间采取折衷。
要点
组件合成是将组件“捆”到一起来创建一个系统的过程。合成的类型包括顺序合成、层次合成及叠加合成。
当合成不是专为你的应用写的可复用组件时,通常需要编写适配器或“胶水代码”以使不同组件接口互相兼容。
当选择合成方式时,必须考虑系统所需的功能、非功能性需求和当系统发生改变时,一个组件能被另一组件代替的难易程度。

东莞理工学院试题电子信息工程专业英语ppt:这是一个关于东莞理工学院试题电子信息工程专业英语ppt,主要介绍科技英语的特点、专业英文翻译概述、专业英文翻译的几种基本方法。欢迎点击下载哦。
淮阴工学院机械设计制造及其自动化省品牌专业汇报ppt:这是一个关于淮阴工学院机械设计制造及其自动化省品牌专业汇报ppt,主要介绍优势和特色、现状与基础、标杆与目标、思路与举措。欢迎点击下载哦。
友晨建筑热工学案例分析ppt:这是一个关于友晨建筑热工学案例分析ppt,主要介绍央视大楼设计者:雷姆・库哈斯和奥勒・舍仁 简介、央视大楼基本介绍、从热工学角度分析央视大楼。欢迎点击下载哦。
《基于组件的软件工程ppt》是由用户huangliling于2017-01-11上传,属于高校大学PPT。

标签:

优秀PPT

缩略图

  • 基于组件的软件工程ppt

下载地址

  • 基于组件的软件工程ppt

  • PPTOK口号:伸出你的我的手 — 分享
    更多

相关PPT

为你推荐

网友评论

推荐

颜色分类黑色PPT模板橙色PPT模板紫色PPT模板蓝色PPT模板黄色PPT模板红色PPT模板绿色PPT模板彩色PPT模板黑白PPT模板

行业分类科技PPT模板医学PPT模板教育PPT模板工业PPT模板金融PPT模板音乐PPT模板汽车房地产互联网培训手机

实用必备个人简历自我介绍年终总结职业规划述职报告工作汇报工作总结岗位竞聘公司简介发布会培训教程年会

PPT课件语文课件数学课件英语课件美术课件物理课件科学课件化学课件地理课件生物课件

PPT课件主题班会家长会人物疾病绘本故事论文答辩城市旅游学校影视动漫答辩职业行业保险产品

节日PPT新年元旦节农历春节情人节元宵节三八妇女节愚人节清明节五一劳动节母亲节六一儿童节端午节

节日PPT 父亲节七夕情人节教师节中秋节国庆节重阳节万圣节光棍节感恩节平安夜圣诞节纪念日