




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,构件图 Component Diagram,UML及建模工具,1,第10章 构件图(Component Diagram),10.1 基于构件的系统结构建模 10.2 构件和构件图 10.3 构件图的表示方法 10.4 总结,2,10.1 基于构件的系统结构建模,在软件开发和设计时,如果正在开发的软件系统的某些功能可以直接用别人已经完成的并且具有相同功能的软件模块来代替,这样可以大大节省时间 为了使所开发的软件系统的某些功能模块在将来更容易更新和替换,而不得不考虑如何使所开发的功能模块与系统的其他功能模块有最大程度的松耦合机制 正是在所有上述想法的驱动下,软件工程领域出现了一种软件开发技术,称
2、为基于构件的开发(Component Based Development,CBD) 在该方法指导下,构件对用户来说,能够“即插即用”,即能从所提供的构件库中获得合适的构件并重用,对供给商来说,这种软件构件便于用户裁剪、维护和重用,3,10.1 基于构件的系统结构建模,为了实现基于构件软件开发的设计思想,我们必须将系统划分为若干个可管理的子系统,再把子系统中的类用接口进行封装,以便组成构件内部高内聚(High Cohesion)、构件之间松耦合(Loose Coupling)的结构 UML提供构件图来实现基于构件的系统结构建模,4,10.2.1 构件,目前构件还没有统一的定义 根据Donald
3、Bell在UML Basics: The Component Diagram一文中所述,UML2.0改变了传统构件概念的本质意思 在UML2.0中,构件被认为是在一个系统或子系统中的独立的封装单位,构件通过一系列的接口对外界提供功能 在 UML 2.0中,构件被认为是独立的,是呈现事物的更大的设计单元,这些事物一般将使用可更换的构件来实现,5,10.2.1 构件,我们更倾向于把构件定义为: 在软件系统中遵从并实现一组接口的物理的、可替换的软件模块。在这个构件定义中,我们强调了构件的两个重点:接口和可替换(或称为重用) 构件的实施细节应被隐藏,它使用一系列的供接口 (Provided Inter
4、face) 提供它的功能,使用需接口 (Required Interfaces) 接收其他构件提供的功能 通过使用接口,可以避免在系统中各个构件之间发生直接依赖关系,有利于新构件的替换,6,10.2.2 构件图,构件图(Component Diagram)为系统中的构件建模,它展示了构件间相互依赖的网络结构 构件图是UML中最重要的建模图示语言之一 它可以建立系统中的类、类的内部结构(类的属性和操作)以及类与类相互之间的各种静态关系模型 构件建模的目标是把系统中的类分布到更大的内聚的构件中,是显示系统构件间的结构关系 构件图的变迁: UML1.X(Rose支持) UML2.X(Rose不支持,
5、RSA支持),7,10.2.2 构件图,构件图由构件、接口、关系、端口和连接器组成,它的表达方式为: 构件图 = 构件 + 接口 + 关系 + 端口+ 连接器 Component Diagram = Components + Interface + Relationship + Port + Connector,8,10.3 构件图的表示方法,10.3.1 构件 10.3.2 供接口和需接口 10.3.3 构件间的关系 10.3.4 实现构件的类 10.3.5 外部接口端口 10.3.6 连接器 10.3.7 显示构件的内部结构,9,10.3.1 构件,UML提供许多中表示组件图的方式,基本组
6、件是一个可替换的软件包,component,ProductManagement,图10-1 构件的UML符号,10,10.3.2 供接口和需接口,构件中有非常多的功能,假如有一个类使要用构件中的某个类的具体的某个方法,但当构件中这个具体的方法发生变化时(比如方法名字的变化或方法内容的变化),那么该类就不能应用构件中的相应内容了 应用接口,可以隐藏具体的实现细节,这样,构件中的内容可以任意变化,而接口却是相对固定的,11,10.3.2 供接口和需接口,构件向外部展现两种接口: 供接口 需接口 供接口表示构件为客户提供的功能,它告知用户构件如何被使用。构件至少要有一个供接口 需接口表示为了使构件工
7、作,构件必须要从其他服务中所获得的功能。需接口表示该接口是构件的成员变量或构件中类的成员变量,12,10.3.2 供接口和需接口,供接口用棒棒糖式的图形表示,由一个封闭的圆形与一条直线组成;需接口用插座式的图形表示,由一个半圆与一条直线组成,OrderProductSession,IRetailOrder,IBatchOrder,ISalesman,ICustomer,IManualOrder,图10-2 预定产品构件,13,10.3.3 构件间的关系,如果一个构件有一个需接口,则表示它需要另一个构件或者类来为它提供服务 为了表达构件与其他构件间的关系,供接口与需接口之间用一个表示依赖的箭头(
8、即虚线加一个开箭头)连接起来,该箭头从需接口引出,指向服务供应者提供的供接口,14,OrderSystem,ProductAccessor,CustomerLookup,Customer Repository,Inventory System,CustomerLookup,ProductAccessor,图10-3 构件间的协同工作,10.3.3 构件间的关系,15,10.3.3 构件间的关系,用一个装配连接器(Assembly Connectors)来表示构件之间的关系,BlogDataSource,ConversionManagement,FeedProvider,DisplayConve
9、rter,DataSource,图10-4 用装配连接器表示构件间的协同工作,UML1.x表示法,16,10.3.3 构件间的关系,更简单的,你可以忽略构件间的供接口和需接口,而直接在构件间画上依赖关系,图10-5 直接用依赖表示构件间的关系,17,10.3.4 实现构件的类,构件需要包含和使用一些类来实施它的功能,这些类实现了这个构件 可以在构件中画出这些类和类间的关系,Logger,BlogDataSource,DataSource,Blog,Entry,图10-6 实现构件的类,18,10.3.5 外部接口端口,组合构件的外部接口用一个尾部加一个小方块的正常的接口组成,这个小矩形框被称为
10、端口(Port) 端口是UML2.0引入的一个概念,端口提供一种方法,显示建模构件所提供或要求的接口如何与它里面的部分相关联,19,DataSource,ConversionManagement,Reporting,FeedProvider,DisplayConverter,Formatting,Data,端口,图10-8 表示端口,10.3.5 外部接口端口,20,10.3.6 连接器,为了展现功能的实现,连接器(Connectors)将一个组件提供的接口与另一个组件必需的接口绑定到一起 UML 2.0 提供了两种类型的连接器: 代理连接器(Delegation Connectors):连接
11、外部接口的端口和内部接口 组装连接器(Assembly Connectors):组装连接器表示构件之间的关系,它连接构件内部的类,将一个构件的供接口和一个构件的需接口捆绑在一起,21,10.3.7 显示构件的内部结构,一个构件的内部可能包括多个其他的构件,这样的构件称为复合构件(Compound Component),复合构件中的构件称为子构件(Subcomponent) 图10-9显示了PPS项目中一个称为ProducePlanning的复合构件及其内部结构,22,ProducePlanning,Icustomer,IproducePlan,Iproduct,Iproduct,Iorder,Iorder,图10-9 ProducePlanning构件及其内部结构,10.3.7 显示构件的内部结构,23,10.4 总结,本章介绍了构件图,构件图表示了构件之间的依赖关系,每个构件实现一些接口,并使用另一些接口 如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南省豫南五市高考压轴历史试题含解析
- 贵州经贸职业技术学院《热工测试技术》2023-2024学年第二学期期末试卷
- 浙大宁波理工学院《装配式建筑》2023-2024学年第二学期期末试卷
- 宁夏卫生健康职业技术学院《边坡与基坑工程》2023-2024学年第二学期期末试卷
- 新版汽车维修工考试技巧试题及答案
- 咸阳职业技术学院《界面交互设计》2023-2024学年第二学期期末试卷
- 整形外科主治医师:男性外生殖器畸形、泌尿外科学真题一
- 硬件基础知识考题及答案
- 河北地质大学华信学院《工程编程语言》2023-2024学年第二学期期末试卷
- 2025年济南历程区九年级中考语文一模考试试题(含答案)
- 无人机应用与基础操控入门课件
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔)
- 债权法学习通超星期末考试答案章节答案2024年
- 安全生产标准化基本规范评分表
- 《Linux网络操作系统实用教程(CentOS8)第2版》全套教学课件
- 2015年919公务员联考《申论》政法干警河北卷及参考答案
- 幼儿园中班语言散文欣赏《芽》课件
- 汽轮发电机组轴系扭振在线监测、分析与保护系统研究
- 期中测试卷(1-4单元)(试题)-2023-2024学年六年级下册数学苏教版
- 医务人员不良执业行为记分管理制度
- 高中数学奥赛辅导教材(共十讲)
评论
0/150
提交评论