华南理工大学UML-11.组件图_第1页
华南理工大学UML-11.组件图_第2页
华南理工大学UML-11.组件图_第3页
华南理工大学UML-11.组件图_第4页
华南理工大学UML-11.组件图_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件需求分析与建模-组件图主讲:( )2022年8月27日1引言逻辑视图描述的内容静态结构:类、接口、对象、类图、交互图动态行为用例/用例图、交互/交互图、状态机/状态图/活动图描述的是概念空间中的事物软件系统的设计建造不能只停留于概念空间引言实现视图软件系统是存在于物理世界中的运行时刻可执行文件程序库(dll)数据文件(数据库、配置文件、求助文件.)建造时刻源程序文件工程文件引言实现视图从软件建造的角度考虑必须将概念空间中的软件事物转换为物理空间中的真实存在所以描述其物理构成是必须的尤其是对复杂的软件系统而言软件制成品在物理世界中的真实存在在UML中,它们用组件表示组件的特性:存在于物理世界

2、中:形式:计算机文件实现给定的动态行为建造时刻:源代码文件: 是设计概念的实现运行时刻:可执行文件、运行库:实现给定的动态行为,可替代什么是组件组件是什么?组件是系统的一个物理的和可替代的组成部分,该组成部分遵循并实现了一组给定的接口。组件属于实现视图组件可以用来运行时刻:运行组件的结构,不同结点上的分布数据文件的构成、联系建造时刻类与源程序的对应源程序之间的编译依赖组件的表示组件的图形表示组件的名字简单名字路径名字标记值描述版本号等图形表示简单情形扩展情形可增加分隔区-描述详细内容可使用标记值组件的概念组件和类区别:组件存在于物理空间类存在于概念空间联系组件和类都是分类符组件用来实现类的动态

3、行为组件实现类的结构和动态行为 图形表示: UML标准 / ROSE (realize TAB)接口(类的一种变体)规定组件为外界提供的服务 图形表示: UML / ROSE .(1)构件与类的相同点二者都有名称;都可以实现一组接口;都可以参与依赖、继承、关联等关系和交互;都可以被嵌套;都可以有实例。(2)构件与类的显著不同点抽象的方式不同;抽象的级别不同;访问方式不同;与包的关系。构件的组织形式和分类组织形式(1)用包来组织构件。(2)用构件之间的交互关系来组织构件。分类:(1)源代码构件(2)二进制构件(3)可执行构件组件的概念组件和接口接口和组件之间的关系是一个十分重要的关系回顾:接口:

4、接口是一系列操作的集合,它指定了一个类或者一个组件所能提供的服务。组件的一个重要特性就是实现了逻辑视图中为软件系统规定的设计词汇的语义,语义除了静态结构之外,即是其规定的动态行为从组件外部来看,一个组件区分于另一个组件的的本质特征就是其动态行为。如果需要强调组件的动态行为,即组件为外部世界提供的服务,就可以使用接口组件的概念组件和接口通过将软件系统的划分为不同的可执行组件,可以实现软件系统的组件化软件系统在物理上由不同组件构成有些组件向外部提供由接口规定的服务有些组件使用这些服务组件的概念组件和接口组件化的好处组件是可替换的:边界清晰便于维护升级组件化的软件系统可以是分布式的不要求使所有组件都

5、运行于一个结点组件的概念组件和接口之间的联系的描述(图1)一个组件实现了一个接口实现关系输出接口:- 被一个组件实现的接口是该组件的实现接口一个组件使用了另一个组件通过接口提供的服务依赖关系输入接口:- 被一个组件调用的接口是该组件的输入接口组件接口及其实现关系的图形表示图标形式扩展形式(ROSE不支持)图运行时刻可替换(Binary Replaceability)基于组件的软件系统允许通过利用已有的组件构造系统组成系统组件的可以随时更新替换,不必重新构造(编译)整个系统运行时刻可替换(Binary Replaceability)组件和接口是实现这一点的重要保证系统由多个可执行组件组成由二进制

6、代码构成的可以直接运行的物理存在组件之间的联系由接口定义遵循相同接口的组件可以互相替换只要调用接口的组件和输出接口的组件都遵循相应的接口,整个系统便能顺利运行必要时,只需替换组件,不需重新编译整个系统组件的种类组件分为三类:一类存在于开发时刻开发用组件(working product component)两类存在于运行时刻发布组件(deployment component)运行用组件(execution component)组件的种类开发用组件(working product component)进行软件建造时首先将逻辑视图的内容转化为实现源代码文件源代码是设计概念的实现,是组件:存在于开发时

7、刻的组件开发用组件是开发过程的剩余物(residue)它不参加软件系统的运行它用来建造软件系统组件的种类发布组件(deployment component)用来组成一个完整的运行系统的组件包括:DLLEXE对象模型:- COM+- CORBA- Enterprise Java Bean其他:- 动态网页- 数据库文件- 使用给定的通讯机制的可执行对象组件的种类运行用组件(execution component)作为一个可执行系统的运行结果而产生的组件例如COM+对象- 它由DLL实例化而来组件的组织模型包组件的标准变体UML的扩充机制也可用于组件典型:标记值- 可用来标记正在发展中的组件的版本

8、信息五个用于组件的标准变体可执行文件(executable)代表一个可以在一个结点上运行的组件库文件(library)代表一个静态或动态对象库数据表(table)代表数据库表格文件(file)代表包含源代码或数据的文件文档(documentation)代表文档UML没有为这些标准变体定义标准图标ROSE中的组件变体(1)组件 Rose中的组件即一般意义上的组件。也可以用构造型来指定组件类型(如ActiveX、Applet、Application、DLL和Executable等)。(2)程序规范(Subprogram Specification) 子程序规范通常是一组子程序集合名,子程序中不包括

9、类定义。下图给出了两种表示子程序规范的图标: ROSE中的组件变体(3)子程序体(4)主程序 主程序是包含程序根的文件。ROSE中的组件变体(5)包规范包是类的实现方法。包规范(Package Specification)是类的头文件,包含类中函数的原型信息。在C+中,包规范就是.h文件。(6)、包体 包体(Package Body)包含类操作代码。在C+中,包体就是.cpp文件。 ROSE中的组件变体(7)任务规范 任务表示具有独立控制线程的包。可执行文件通常表示为扩展名为.exe的任务规范。(8)任务体 下图是两种表示任务体的图标。ROSE中的组件变体(9)数据库 数据库可能含有一个或几个

10、结构。(10)虚包 下图是两种表示虚包的图标。(11)虚子程序 下图是两种表示虚子程序的图标。 用组件为软件系统建模为可执行文件(executable)和库文件(library)建模对于复杂的可执行系统,需要用组件为其建模描述可执行系统的构成对其进行视化说明建造建档描述版本发展/配置管理更为重要跟踪可执行系统的开发进展用组件为软件系统建模为可执行文件(executable)和库文件(library)建模为可执行文件和库文件建模的一般原则确定组件的划分对于系统的可执行文件和库文件用组件建模可以使用相应的组件标准变体如果需要描述系统中的接缝将重要的接缝用接口建模根据交流的目的,适当使用关系描述组件

11、、接口之间的关系e.g.: 依赖关系-用来分析组件的变化对整个系统的影响用组件为软件系统建模为可执行文件(executable)和库文件(library)建模例子:(图 2)tagged valuedependency这是一种省略表示组件之间的调用是对接口的输入实现的复杂的系统使用模型包使用结点描述分布式的系统图 2为数据表、文件和文档建模可执行系统不仅仅由包含可执行二进制代码的可执行组件构成还包含大量支持性的组件它们对系统的正确运行也是至关重要的e.g.:数据文件帮助文档教本文件日志文件初始化文件安装/卸载文件为数据表、文件和文档建模 .支持性的组件 .为它们建模是十分重要的由助于控制软件系

12、统的配置为数据表、文件和文档建模的一般原则在可执行系统中辨识出这些支持性组件用组件建模为它们对于新出现的组件类型,可以引入自定义变体根据需要,用关系描述组件之间的联系典型地,描述它们之间的依赖关系- 有助于发现某一组件的变换对其他组件的影响为数据表、文件和文档建模例子:包含:数据表文件文档用组件为软件系统建模为应用程序接口(API)建模应用程序接口是由一个或多个组件实现的接口构造组件化系统时,必然要用到API对组件化操作系统提供的支持的使用,要通过API如果仅从开发者的角度考虑 .用组件为软件系统建模为应用程序接口(API)建模如果仅从开发者的角度考虑仅需关心接口本身无需考虑接口的实现总是假定

13、接口是存在的只需为接口及其调用建模如果从系统配置管理的角度考虑必须保证该系统在运行时刻所依赖的各接口是被实现了的需要为API的实现建模用组件为软件系统建模为应用程序接口(API)建模为API建模的一般规则辨识出程序设计时的系统接缝将各接缝用接口建模需要描述接口的细节只暴露出对问题的表达有重要意义的接口的构成其他构成只在接口的规格说明那表达如果对系统的实现配置有意义,就描述接口的实现用组件为软件系统建模为应用程序接口(API)建模例子:(下图)animator.exe输出的API用组件为软件系统建模为源代码建模组件的另一个重要用途为开发过程中使用的物理存在建模开发用组件e.g.:源代码文件资源文

14、件工程文件等等描述源代码文件源代码文件用于存放类的实现源代码文件与类的对应通常由开发工具和配置管理工具决定组件可以用来表达这种对应e.g:ROSE: - 使用规格说明对话框组件可以表达源代码之间的关系e.g.: 源代码文件之间的编译依赖- 用组件之间的依赖关系表示为源代码建模的一般规则用组件为实现系统中所有的类的各文件建模同时描述它们之间的编译依赖如果需要为源代码的配置管理建模使用标记值描述- 版本- 作者- 检入/检出 消息和配置管理工具配合使用 尽可能地使用开发工具管理文件之间的关系只使用UML对这些关系进行视化和建档例子版本信息编译依赖UML1.4和2.0中的组件图UML 2 中,组件的

15、一个高层次的抽象视图,可以用一个长方形建模,包括组件的名字和组件原型的文字和/或图标。组件原型的文本是“component”,而组件原型图标是在左边有两个凸出的小长方形的一个大长方形(UML 1.4 中组件的符号元素)。下图显示,组件可以用UML 2规范中的三种不同方法表示。为组件提供/要求接口建模 图 :这里额外的区显示Order组件提供和要求的接口。UML 2 也引入另外一种方法来显示组件提供并要求的接口。这个方法是建立一个里面有组件名的大长方形,并在长方形的外面放置在 UML 2 规范中称为接口符号的东西。这第二种方法在图 4 中举例说明。 组件关系的建模 图 :显示Order系统组件如

16、何依赖于其他组件的组件图显示组件的内部结构 端口和委托连接器委托连接器连接了组件的一个外部端口和它内部的一个子组件的一个端口。外部端口接收到的消息被传送到这个内部组件的端口上;从内部端口发出的消息被传送到外部端口,并随后发送给与之相连的组件。 (1)一个结构良好的构件应具备的特点 从物理结构上对软件系统进行抽象;提供一组小的、定义完整的接口实现;构件应包含与其功能有关的一组类,以便满足接口要求;与其它构件相对独立,构件之间一般只有依赖和实现的关系。(2)在UML中绘制一个构件时应掌握的技巧 为构件标识一个能准确表达其意义的名字;接口一般采用短式图符表示;只在必须显示接口的操作(不展示不能清楚描述构件的功能)时才用长式表示;只显示那些对理解构件功能有重要影响的接口;构件为源代码或库时,注意显示有关版本标记。构件图建模的方法和技巧(1)一个结构良好的构件图应具备的特点 侧重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论