UML之组件图

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件需求分析与建模
组件的概念
组件和接口 接口和组件之间的关系是一个十分重要的关系 回顾: 回顾: 接口:接口是一系列操作的集合,它指定了一个 接口:接口是一系列操作的集合, 类或者一个组件所能提供的服务。 类或者一个组件所能提供的服务。 组件的一个重要特性就是实现了逻辑视图中为软件系 统规定的设计词汇的语义, 统规定的设计词汇的语义, 语义除了静态结构之外, 语义除了静态结构之外,即是其规定的动态行为 从组件外部来看, 从组件外部来看,一个组件区分于另一个组件的 interface 的本质特征就是其动态行为。 的本质特征就是其动态行为。 如果需要强调组件的动态行为, 如果需要强调组件的动态行为,即组件为外部世 界提供的服务, 界提供的服务,就可以使用接口
引言
实现视图 从软件建造的角度考虑 • 必须将概念空间中的软件事物转换为物理空间中的真实存在 • 所以描述其物理构成是必须的 • 尤其是对复杂的软件系统而言 软件制成品在物理世界中的真实存在 • 在UML中,它们用组件表示 UML中 • 组件的特性: 组件的特性: • 存在于物理世界中:形式:计算机文件 存在于物理世界中:形式: • 实现给定的动态行为 • 建造时刻:源代码文件: 是设计概念的实现 建造时刻:源代码文件: • 运行时刻:可执行文件、运行库:实现给定的动态行为, 运行时刻:可执行文件、运行库:实现给定的动态行为, 可替代
华南理工大学 18 软件需求分析与建模
组件的种类 • 组件分为三类: 组件分为三类: • 一类存在于开发时刻 • 开发用组件(working product component) 开发用组件(working • 两类存在于运行时刻 • 发布组件(deployment component) 发布组件(deployment • 运行用组件(execution component) 运行用组件(execution
华南理工大学
6
软件需求分析与建模
组件的概念
• 组件和类 • 区别: 区别: • 组件存在于物理空间 • 类存在于概念空间 • 联系 • 组件和类都是分类符 Interface • 组件用来实现类的动态行为 • 组件实现类的结构和动态行为 • 图形表示: UML标准 / ROSE (realize TAB) 图形表示: UML标准 • 接口(类的一种变体)规定组件为外界提供的服务 接口(类的一种变体) Agent.java • 图形表示: 图形表示: UML / ROSE ...
华南理工大学
2
软件需求分析与建模
引言
实现视图 软件系统是存在于物理世界中的 • 运行时刻 • 可执行文件 • 程序库(dll) 程序库(dll) • 数据文件(数据库、配置文件、求助 数据文件(数据库、配置文件、 文件...) 文件...) ... • 建造时刻 • 源程序文件 • 工程文件
华南理工大学 3 软件需求分析与建模
华南理工大学 21 软件需求分析与建模
组件的种类 • 运行用组件(execution component) 运行用组件(execution • 作为一个可执行系统的运行结果而产生的 组件 • 例如 • COM+对象 COM+对象 它由DLL DLL实例化而来 - 它由DLL实例化而来 组件的组织 • 模型包
• 代表文档
UML没有为这些标准变体定义标准图标 UML没有为这些标准变体定义标准图标 没有为
华南理工大学 24 软件需求分析与建模
ROSE中的组件变体 ROSE中的组件变体
(1)组件 (1)组件 Rose中的组件即一般意义上的组件 中的组件即一般意义上的组件。 Rose中的组件即一般意义上的组件。也可以用 构造型来指定组件类型( ActiveX、Applet、 构造型来指定组件类型(如ActiveX、Applet、 Application、DLL和Executable等 Application、DLL和Executable等)。 <<Act iveX>>
Agent.java
华南理工大学
12
软件需求分析与建模
组件的概念
组件和接口 • 通过将软件系统的划分为不同的可执行组 件,可以实现软件系统的组件化 –软件系统在物理上由不同组件构成 软件系统在物理上由不同组件构成 –有些组件向外部提供由接口规定的服务 有些组件向外部提供由接口规定的服务 –有些组件使用这些服务 有些组件使用这些服务
华南理工大学
13
软件需求分析与建模
组件的概念
组件和接口 • 组件化的好处 –组件是可替换的: 组件是可替换的: 组件是可替换的 –边界清晰 边界清晰 –便于维护 便于维护 –升级 升级 –组件化的软件系统可以是分布式的 组件化的软件系统可以是分布式的 –不要求使所有组件都运行于一个结点 不要求使所有组件都运行于一个结点
• 代表一个可以在一个结点上运行的组件
库文件(library) 库文件(library)
• 代表一个静态或动态对象库
数据表(table) 数据表(table)
• 代表数据库表格
文件(file) 文件(file)
• 代表包含源代码或数据的文件
文档(documentation) 文档(documentation)
组件的表示
• 组件的图形表示 • 组件的名字 • 简单名字 • 路径名字 • 标记值 • 描述版本号等 • 图形表示 • 简单情形 • 扩展情形 • 可增加分隔区 -描述详细内容 • 可使用标记值
Agent.java Sy m:: log l ste Dia .dl {version=2.0.1.75
图1
华南理工大学 16 软件需求分析与建模
运行时刻可替换(Binary 运行时刻可替换(Binary Replaceability) • 基于组件的软件系统 • 允许通过利用已有的组件构造系统 • 组成系统组件的可以随时更新替换, 组成系统组件的可以随时更新替换, • 不必重新构造(编译)整个系统 不必重新构造(编译)
NewSubpro gSpec
华南理工大学 25 软件需求分析与建模
ROSE中的组件变体 ROSE中的组件变体
(3)子程序体 (3)子程序体
NewSubprogBody
NewSubpro gBody
软件需求分析与建模
-组件图
主讲: 主讲:苏锦钿 ( SuJD@scut.edu.cn ) 单位: 单位:计算机科学与工程学院 时间:2011年 28日 时间:2011年5月28日
1
引言
逻辑视图 描述的内容 • 静态结构: 静态结构: • 类、接口、对象、类图、交互图 接口、对象、类图、 • 动态行为 • 用例/用例图、交互/交互图、状态机/状态图 用例/用例图、交互/交互图、状态机/ /活动图 描述的是概念空间中的事物 软件系统的设计建造不能只停留于概念空间
华南理工大学
9
软件需求分析与建模
构件的组织形式和分类
组织形式 用包来组织构件。 (1)用包来组织构件。 用构件之间的交互关系来组织构件。 (2)用构件之间的交互关系来组织构件。 分类: 分类: (1)源代码构件 (2)二进制构件 (3)可执行构件
华南理工大学
10
软件需求分析与建模
华南理工大学
11
华南理工大学
17
软件需求分析与建模
运行时刻可替换(Binary 运行时刻可替换(Binary Replaceability) • 组件和接口是实现这一点的重要保证 • 系统由多个可执行组件组成 • 由二进制代码构成的可以直接运行的物理存 在 • 组件之间的联系由接口定义 • 遵循相同接口的组件可以互相替换 • 只要调用接口的组件和输出接口的组件都遵 循相应的接口, 循相应的接口,整个系统便能顺利运行 • 必要时,只需替换组件,不需重新编译整个 必要时,只需替换组件, 系统
NewComponent
(2)程序规范 程序规范(Subprogram Specification) 程序规范 子程序规范通常是一组子程序集合名, 子程序规范通常是一组子程序集合名,子程 序中不包括类定义。下图给出了两种表示子程序规 序中不包括类定义。 范的图标: 范的图标: NewSubprogSpec
华南理工大学 4 软件需求分析与建模
什么是组件
组件是什么? 组件是什么? • 组件是系统的一个物理的和可替代的组成部分, 组件是系统的一个物理的和可替代的组成部分, 物理的和可替代的组成部分 该组成部分遵循并实现了一组给定的接口 接口。 该组成部分遵循并实现了一组给定的接口。 • 组件属于实现视图 组件可以用来 • 运行时刻: 运行时刻: • 运行组件的结构,不同结点上的分布 运行组件的结构, • 数据文件的构成、联系 数据文件的构成、 • 建造时刻 • 类与源程序的对应 • 源程序之间的编译依赖 华南理工大学 5 软件需求分析与建模
华南理工大学 20 软件需求分析与建模
组件的种类 • 发布组件(deployment component) 发布组件( component) • 用来组成一个完整的运行系统的组件 • 包括: 包括: • DLL • EXE • 对象模型: 对象模型: - COM+ - CORBA - Enterprise Java Bean • 其他: 其他: - 动态网页 - 数据库文件 - 使用给定的通讯机制的可执行对象
华南理工大学
19
软件需求分析与建模
组件的种类 • 开发用组件(working product component) 开发用组件( component) • 进行软件建造时 • 首先将逻辑视图的内容转化为实现源代码文 件 • 源代码是设计概念的实现, 源代码是设计概念的实现, • 是组件:存在于开发时刻的组件 是组件: • 开发用组件 • 是开发过程的剩余物(residue) 是开发过程的剩余物(residue) • 它不参加软件系统的运行 • 它用来建造软件系统
华南理工大学 22 软件需求分析与建模
组件的标准变体
• UML的扩充机制也可用于组件 UML的扩充机制也可用于组件 典型: • 典型: • 标记值 - 可用来标记正在发展中的组件的版本信息
System::Dialog.dll {version=2.0.1.75
华南理工大学
23
wk.baidu.com
软件需求分析与建模
五个用于组件的标准变体 可执行文件(executable) 可执行文件(executable)
华南理工大学
7
软件需求分析与建模
( 1
•二者都有名称; 二者都有名称; 二者都有名称 •都可以实现一组接口; 都可以实现一组接口; 都可以实现一组接口 •都可以参与依赖、继 都可以参与依赖、 都可以参与依赖 承、关联等关系和交 互; •都可以被嵌套; 都可以被嵌套; 都可以被嵌套 •都可以有实例。 都可以有实例。 都可以有实例
( 2 •抽象的方式不同; 抽象的方式不同; 抽象的方式不同 •抽象的级别不同; 抽象的级别不同; 抽象的级别不同 •访问方式不同; 访问方式不同; 访问方式不同 •与包的关系。 与包的关系。 与包的关系
华南理工大学
8
软件需求分析与建模
构件的特点
(1)接口。 接口。 操作。 (2)操作。 实例化。 (3)实例化。 与配置环境的亲合性。 (4)与配置环境的亲合性。 能与同环境下其它构件进行交互。 (5)能与同环境下其它构件进行交互。 (6)构件可以是可执行代码、二进制代码和源代码形 构件可以是可执行代码、 式。 • (7)可替换的物理实体。 可替换的物理实体。 • (8)系统的组成部分。 系统的组成部分。 • (9)构件是软件复用的基本单元。 构件是软件复用的基本单元。 • • • • • •
华南理工大学
14
软件需求分析与建模
组件的概念
组件和接口之间的联系的描述( 组件和接口之间的联系的描述(图1) 一个组件实现了一个接口 • 实现关系 • 输出接口: 输出接口: - 被一个组件实现的接口是该组件的实现接口 一个组件使用了另一个组件通过接口提供的服务 • 依赖关系 • 输入接口: 输入接口: - 被一个组件调用的接口是该组件的输入接口 组件接口及其实现关系的图形表示 • 图标形式 • 扩展形式(ROSE不支持) 扩展形式(ROSE不支持) (ROSE不支持 华南理工大学 15 软件需求分析与建模
相关文档
最新文档