构件图与部署图
合集下载
包图 构件图 与部署图
12
包图中的关系
2、泛化关系 包间的泛化关系类似于类间的泛化关系,使
用一般包的地方,可以用特殊包代替。 在系统设计中,对某一个特定的功能,有多
种实现方法。例如,实现多数据库支持;实 现B/S和C/S双界面。这时就需要定义一 些高层次的“抽象包”和实现高层次功能的 “实现包”。
13
泛化关系
例如,说明GUI有 两种风格:一种是基 于WinForm的 C/S风格,一种是 WebForm的B/S 风格。
15
创建包图
1.标识候选包的原则:
把类图中关系紧密的类放到一个包中; 在类继承类层次中,把不同层次的类放在不同
的包中。
也可以把用例模型作为包的来源。然而,用 例横跨分析包是非常普遍的——一个用例可 以由几个不同包中的类实现。
16
创建包图
2.调整候选包 在已经识别一组候选包后,然后减少包间依
《import》关系:最普遍的包依赖类型,说明提供者包的命 名空间将被添加到客户包的命名空间中,客户包中的元素也能 够访问提供者包的所有公共元素。
《access》关系:如果只想使用提供者包中的元素,而不想将 两个包合并,则应使用该关系。在客户包中必须使用路径名,才 能访问提供者包中的所有公共元素。
分解 是软件开发中控制软件复杂性的重要
手段。 在OO方法中, 需要考虑如何把相关的类放
在一起。 把语义相近并倾向于同一变化的元素组织起
来加入同一个包中,以便于理解和处理整个 模型。
2
为什么要包
包的作用是: 1)对语义上相关的元素进行分组 2)定义模型中的“语义边界” 3)提供配置管理单元 4)在设计时,提供并行工作的单元 5)提供封装的命名空间,其中所有名称必 须唯一
3
包图中的关系
2、泛化关系 包间的泛化关系类似于类间的泛化关系,使
用一般包的地方,可以用特殊包代替。 在系统设计中,对某一个特定的功能,有多
种实现方法。例如,实现多数据库支持;实 现B/S和C/S双界面。这时就需要定义一 些高层次的“抽象包”和实现高层次功能的 “实现包”。
13
泛化关系
例如,说明GUI有 两种风格:一种是基 于WinForm的 C/S风格,一种是 WebForm的B/S 风格。
15
创建包图
1.标识候选包的原则:
把类图中关系紧密的类放到一个包中; 在类继承类层次中,把不同层次的类放在不同
的包中。
也可以把用例模型作为包的来源。然而,用 例横跨分析包是非常普遍的——一个用例可 以由几个不同包中的类实现。
16
创建包图
2.调整候选包 在已经识别一组候选包后,然后减少包间依
《import》关系:最普遍的包依赖类型,说明提供者包的命 名空间将被添加到客户包的命名空间中,客户包中的元素也能 够访问提供者包的所有公共元素。
《access》关系:如果只想使用提供者包中的元素,而不想将 两个包合并,则应使用该关系。在客户包中必须使用路径名,才 能访问提供者包中的所有公共元素。
分解 是软件开发中控制软件复杂性的重要
手段。 在OO方法中, 需要考虑如何把相关的类放
在一起。 把语义相近并倾向于同一变化的元素组织起
来加入同一个包中,以便于理解和处理整个 模型。
2
为什么要包
包的作用是: 1)对语义上相关的元素进行分组 2)定义模型中的“语义边界” 3)提供配置管理单元 4)在设计时,提供并行工作的单元 5)提供封装的命名空间,其中所有名称必 须唯一
3
08,09构件图和部署图
构件图和部署图
1 构件图概要
构件图用于静态建模, 构件图用于静态建模,是表示构件类型的组织以 及各种构件之间依赖关系的图。 及各种构件之间依赖关系的图。 构件:可替换的物理部分,包括软件代码、脚本 构件:可替换的物理部分,包括软件代码、 或命令行文件,也可以表示运行时的对象,文档, 或命令行文件,也可以表示运行时的对象,文档, 数据库等。 数据库等。 构件图通过对构件间依赖关系的描述来估计对系 统构件的修改给系统可能带来的影响。 统构件的修改给系统可能带来的影响。
部署图
1 部署图概要 部署图用于静态建模, 静态建模 部署图用于静态建模,是表示运行时过程节点结 构件实例及其对象结构的图。 构、构件实例及其对象结构的图。 如果含有依赖关系的构件实例放置在不同节点上, 如果含有依赖关系的构件实例放置在不同节点上, 部署视图可以展示出执行过程中的瓶颈。 部署视图可以展示出执行过程中的瓶颈。 部署图的两种表现形式: 部署图的两种表现形式:实例层部署图和描述层 部署图(会在后面的实例中给出 会在后面的实例中给出)。 部署图 会在后面的实例中给出 。
5 关于部署图与构件图
部署图与构件图相同的构成元素: 部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、 构件、接口、构件实例、构件向外提供服务、构件要 求外部提供的服务。 求外部提供的服务。 部署图与构件图的关系: 构件图的关系 部署图与构件图的关系: 部署图表现构件实例; 部署图表现构件实例; 构件图表现构件类型的定义。 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态, 部署图偏向于描述构件在节点中运行时的状态,描述了构 件运行的环境; 件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。 构件图偏向于描述构件之间相互依赖支持的基本关系。
1 构件图概要
构件图用于静态建模, 构件图用于静态建模,是表示构件类型的组织以 及各种构件之间依赖关系的图。 及各种构件之间依赖关系的图。 构件:可替换的物理部分,包括软件代码、脚本 构件:可替换的物理部分,包括软件代码、 或命令行文件,也可以表示运行时的对象,文档, 或命令行文件,也可以表示运行时的对象,文档, 数据库等。 数据库等。 构件图通过对构件间依赖关系的描述来估计对系 统构件的修改给系统可能带来的影响。 统构件的修改给系统可能带来的影响。
部署图
1 部署图概要 部署图用于静态建模, 静态建模 部署图用于静态建模,是表示运行时过程节点结 构件实例及其对象结构的图。 构、构件实例及其对象结构的图。 如果含有依赖关系的构件实例放置在不同节点上, 如果含有依赖关系的构件实例放置在不同节点上, 部署视图可以展示出执行过程中的瓶颈。 部署视图可以展示出执行过程中的瓶颈。 部署图的两种表现形式: 部署图的两种表现形式:实例层部署图和描述层 部署图(会在后面的实例中给出 会在后面的实例中给出)。 部署图 会在后面的实例中给出 。
5 关于部署图与构件图
部署图与构件图相同的构成元素: 部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、 构件、接口、构件实例、构件向外提供服务、构件要 求外部提供的服务。 求外部提供的服务。 部署图与构件图的关系: 构件图的关系 部署图与构件图的关系: 部署图表现构件实例; 部署图表现构件实例; 构件图表现构件类型的定义。 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态, 部署图偏向于描述构件在节点中运行时的状态,描述了构 件运行的环境; 件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。 构件图偏向于描述构件之间相互依赖支持的基本关系。
第08章_构件图和部署图下载
PC和外设与ISP连接的部署图
3.构件的部署 可以把系统运行时的构件分布在特定的硬件节点上 来展示系统的架构。下图演示了UserInterface、 BusinessLogic和Backendfunctionality等构件如何在 服务器和客户机硬件中的部署。
4. 如何建模部署图
创建部署图含有如下4项任务:
<<Client>>
PC
<<Internet>>
<<ApplicationServer>> <<DatabaseServer>> <<100BaseT>> Weblogic <<100BaseT>> Oracle Apache_Weblogic
<<WebServer>>
部署图的例子:
10.3 部署图的例子
包体包含类的操作代码.
(2) 接口
构件通过其他组件的接口调用其他构件中定义的操作.
通过命名接口,可以避免在系统的各个构件中直接产生 依赖关系, 有利于构件的替换.
(2) 接口 构件与接口之间的关系: 实现关系和依赖关系
导出接口
导入接口
(3) 依赖关系
为了便于组件之间替换,建议使用如下依赖关系:
3.构件的表示
在UML中,构件通过以下形式来表示:
基本构件
带版型的构件
(1) 构件 Rose中的扩展构件
子程序说明是一组子程序集 合名, 其中不包括类定义.
子程序体表示子程序的实现.
(1) 构件 Rose中的扩展构件
主程序是包含程序根的文件.
(1) 构件 Rose中的扩展构件
构件图与部署图
我们可以把相互协作的类,组织成一个构件。 利用构件图可以让软件开发者知道系统是由哪 些可执行的构件组成的,这样,以构件为单位 来看待系统时,让开发者清楚的看到软件系统 的体系结构。
45
构件图分类
(1)用户界面层:采用JSP页面实现用户界面。 我们通过构造型《Java Server page》来表示构 件。这一部分的构件,主要由边界类组成。
13
构件图的作用
构件图的基本目的是:使系统人员和开发人 员能够从整体上了解系统的所有物理部件, 同时,也使我们知道如何对构件进行打包, 以便交付给最终客户,最后,构件图显示了 被开发系统所包含的构件之间的依赖关系。
构件图从软件架构的角度来描述一个系统的 主要功能,如系统分成几个子系统,每个子 系统包括哪些类、包和构件,它们之间的关 系以及它们分配到哪些节点上等。
一个构件图可以表示一个系统全部或者部分的构件 体系。从组织内容看,构件图显示软件构件的组织 以及构件之间的依赖关系,包括源代码构件、二进 制代码构件以及可执行构件。
构件图是对OO系统物理方面建模的2个图之一。
9
构件图的概念
构件图主要用于描述各种软件构件之间的依 赖关系,例如,可执行文件和源文件之间的 依赖关系,所设计的系统中的构件的表示法 及这些构件之间的关系构成了构件图。
将整个“在线酒店预订子系统”作为一个构件,考虑 其对外接口。显然它首先需要提供用户界面;其次 还需要与加盟的酒店系统连接,完成预订工作
35
绘制构件图
确定子构件和接口
显然要有一个构件来实现用户界面,一个构件来完 成与酒店系统的连接和预订,另外还应该有一个负 责将用户的需求与酒店的供给进行匹配的“调度程 序”
提供服务
※
※ 售票处需要付款和购买提 供服务
45
构件图分类
(1)用户界面层:采用JSP页面实现用户界面。 我们通过构造型《Java Server page》来表示构 件。这一部分的构件,主要由边界类组成。
13
构件图的作用
构件图的基本目的是:使系统人员和开发人 员能够从整体上了解系统的所有物理部件, 同时,也使我们知道如何对构件进行打包, 以便交付给最终客户,最后,构件图显示了 被开发系统所包含的构件之间的依赖关系。
构件图从软件架构的角度来描述一个系统的 主要功能,如系统分成几个子系统,每个子 系统包括哪些类、包和构件,它们之间的关 系以及它们分配到哪些节点上等。
一个构件图可以表示一个系统全部或者部分的构件 体系。从组织内容看,构件图显示软件构件的组织 以及构件之间的依赖关系,包括源代码构件、二进 制代码构件以及可执行构件。
构件图是对OO系统物理方面建模的2个图之一。
9
构件图的概念
构件图主要用于描述各种软件构件之间的依 赖关系,例如,可执行文件和源文件之间的 依赖关系,所设计的系统中的构件的表示法 及这些构件之间的关系构成了构件图。
将整个“在线酒店预订子系统”作为一个构件,考虑 其对外接口。显然它首先需要提供用户界面;其次 还需要与加盟的酒店系统连接,完成预订工作
35
绘制构件图
确定子构件和接口
显然要有一个构件来实现用户界面,一个构件来完 成与酒店系统的连接和预订,另外还应该有一个负 责将用户的需求与酒店的供给进行匹配的“调度程 序”
提供服务
※
※ 售票处需要付款和购买提 供服务
构件图和部署图
在构件图中,构件和构件之间的关系表现 为依赖关系; 定义的类或接口与类之间的关系表现为 依赖关系或实现关系。
在构件图中,构件和构件之间的关系 表现为依赖关系和实现关系: 1.依赖关系 构件与构件之间依赖关系,它的表示方 式与类图中类与类之间的依赖关系的表示 方式相同,都是使用一个从用户构件指向 它所依赖的服务构件的虚线箭头表示。
9.1 构件和构件图
构件图显示的是组成系统的构件之间的 组织及其依赖关系,而构件时指系统中的可 替代性的物理单元。多个系统构件一起组成 了构件图。
9.1.1 构件的定义
目前构件还没有统一的定义,一般认 为:构件是系统中遵从一组接口且提供实 现的一个物理部件,包括软件代码(源代 码、二进制和可执行文件)或者相应组成 部分,通常指开发和运行时类的物理实现。
顾客通过位于kiosk节点的顾客接口控件进行购票的操作该顾客接口构件的购票操作依赖于处于ticketserver节点上的售票构件提供的服务售票构件要完成售票操作又要依赖统一节点上信用卡付款构件提供的付款服务和票数据库构件ticketserve票服务器与kiosk信息厅之间存在一对多的通信关联
第九章 构件图和部署图
5、虚包 是一种只包含对其他包所具有的元素进 行的引用的构件,它用来提供一个包的某些 内容的公共视图。
6、包规范 在具体的实现中,有时将源文件中的声 明文件和实现文件分离开来,例如,在 C++语言中,往往将.h文件和cpp文件分离 开来,在Rational Rose中,可以在包规范 中放置.h文件,在包体重放置.cpp文件。
部署图
当软件处于物理部署阶段时,我们关注 的是软件程序在计算机硬件系统中的物理 分布、通信方式和部署方法。 UML部署图用来解决这类建模问题。
10 第十二章 构件图和部署图
我们将系统中可重用的模块封装成为具有可替代性的 物理单元,我们称之称为构件
➢ 一般作为一个独立的文件存在(DLL、LIB、JAR)
构件是相对独立的,提供一个或多个接口
构件作为系统定义良好接口的物理实现单元,它能够 不直接依赖于其他构件而仅仅依赖于构件所支持的接 口
RR中的构件包括:构件、数据库、虚包、主程序、子 程序、包、任务。
头从依赖的对象指向被依赖的对象。 例如下图所示。(组件C1依赖组件C2)
12.1 构件图与部署图的基本概念
2 构件图的含义
构件的嵌套:一个构件可以由多个子构件组成
12.1 构件图与部署图的基本概念
2 构件图的含义——应用
为源代码建模
为可执行版本建模 为数据库建模
12.1 构件图与部署图的基本概念
构件图显示一组构件以及它们之间的相互关系。
构件图可以显示软组件之间的依赖关系,可以用来显 示编译、链接或执行时组件之间的依赖关系。
12.1 构件图与部署图的基本概念
* 一个MFC程序(执行时)的构件图
12.1 构件图与部署图的基本概念
* 一个C++语言项目的构件图
12.1 构件图与部署图的基本概念
第十二章 构件图和部署图
主讲:XXX
构件图以及部署图描述 软件系统的物理部分。
之前学习的所有图,都 是对系统静态、动态的逻辑 描述。
第十二章 构件图和部署图
本1
章 内
2
容3
构件图与部署图的基本概念 使用Rose创建构件图和部署图 使用Rose部署一个实际的项目
12.1 构件图与部署图的基本概念 1 构件
* 构件与类之间的不同
1、类是逻辑抽象,构件是物理抽象
➢ 一般作为一个独立的文件存在(DLL、LIB、JAR)
构件是相对独立的,提供一个或多个接口
构件作为系统定义良好接口的物理实现单元,它能够 不直接依赖于其他构件而仅仅依赖于构件所支持的接 口
RR中的构件包括:构件、数据库、虚包、主程序、子 程序、包、任务。
头从依赖的对象指向被依赖的对象。 例如下图所示。(组件C1依赖组件C2)
12.1 构件图与部署图的基本概念
2 构件图的含义
构件的嵌套:一个构件可以由多个子构件组成
12.1 构件图与部署图的基本概念
2 构件图的含义——应用
为源代码建模
为可执行版本建模 为数据库建模
12.1 构件图与部署图的基本概念
构件图显示一组构件以及它们之间的相互关系。
构件图可以显示软组件之间的依赖关系,可以用来显 示编译、链接或执行时组件之间的依赖关系。
12.1 构件图与部署图的基本概念
* 一个MFC程序(执行时)的构件图
12.1 构件图与部署图的基本概念
* 一个C++语言项目的构件图
12.1 构件图与部署图的基本概念
第十二章 构件图和部署图
主讲:XXX
构件图以及部署图描述 软件系统的物理部分。
之前学习的所有图,都 是对系统静态、动态的逻辑 描述。
第十二章 构件图和部署图
本1
章 内
2
容3
构件图与部署图的基本概念 使用Rose创建构件图和部署图 使用Rose部署一个实际的项目
12.1 构件图与部署图的基本概念 1 构件
* 构件与类之间的不同
1、类是逻辑抽象,构件是物理抽象
section 9 构件图与部署图
包内定义。 zhufei@
• 与包的关系不同
构件图的作用
(1) 对源代码文件之间的关系建模
组件图示例
A component diagram
zhufei@
• 一个大型复杂的软件系统,一般由多个可执行 程序和相关的持久对象库构成。 • 下图描述了一个客户的软件系统从 C++源代码
部署图的例子
PC和外设与ISP连接的部署图
部署图建模技术
• • • • •
对系统中的结点建模。 对结点之间的关联关系建模。 对驻留在结点上的构件建模。 对驻留在结点上的构件之间的依赖关系建模。 对建模的结果进行精化和细化。
确定结点和结点间的关联关系
•
•
• •
IC卡读卡器:提供给员工刷卡用,它将收集刷卡的时间信息,传 给应用系统,并存入数据库中
创建实施构件的源代码文件及数据文件。如: 源代码文 件、数据文件等, 这些构件可以产生部署构件.
构件图中的元素
(1) 构件
基本构件
带版型的构件
构件图中的元素
(1) 构件 Rose中的扩展构件
子程序说明是一组子程序集 合名, 其中不包括类定义.
子程序体表示子程序的实现.
构件图中的元素
(1) 构件 Rose中的扩展构件
example
• 根据以下描述,试完成一个“销售管理系统”
的部署图。该系统采用的硬件设备有:
• 3台联想PC600作为终端机,分别用作销售管理、仓 库管理和合同管理。 • 1台联想PC6000作为网络数据库服务器。 • 2台Ls1000打印机。一台为网络共享、一台为仓库 管理专用。 • 客户机之间采用《TCP/IP》通信协议,3个客户机
构件图的作用:可执行文件建模
• 与包的关系不同
构件图的作用
(1) 对源代码文件之间的关系建模
组件图示例
A component diagram
zhufei@
• 一个大型复杂的软件系统,一般由多个可执行 程序和相关的持久对象库构成。 • 下图描述了一个客户的软件系统从 C++源代码
部署图的例子
PC和外设与ISP连接的部署图
部署图建模技术
• • • • •
对系统中的结点建模。 对结点之间的关联关系建模。 对驻留在结点上的构件建模。 对驻留在结点上的构件之间的依赖关系建模。 对建模的结果进行精化和细化。
确定结点和结点间的关联关系
•
•
• •
IC卡读卡器:提供给员工刷卡用,它将收集刷卡的时间信息,传 给应用系统,并存入数据库中
创建实施构件的源代码文件及数据文件。如: 源代码文 件、数据文件等, 这些构件可以产生部署构件.
构件图中的元素
(1) 构件
基本构件
带版型的构件
构件图中的元素
(1) 构件 Rose中的扩展构件
子程序说明是一组子程序集 合名, 其中不包括类定义.
子程序体表示子程序的实现.
构件图中的元素
(1) 构件 Rose中的扩展构件
example
• 根据以下描述,试完成一个“销售管理系统”
的部署图。该系统采用的硬件设备有:
• 3台联想PC600作为终端机,分别用作销售管理、仓 库管理和合同管理。 • 1台联想PC6000作为网络数据库服务器。 • 2台Ls1000打印机。一台为网络共享、一台为仓库 管理专用。 • 客户机之间采用《TCP/IP》通信协议,3个客户机
构件图的作用:可执行文件建模
第9讲构件图
9.1
构件的概念
构件(component)也称为组件,是被封装起来的软件部件, 由这些部件可以构成完整的软件系统。构件的内容被封装 到构件内部,软件系统中的其他构件无法直接访问构件中 的内容。 构件通过接口向其他构件提供服务,或获取其他构件的服务。 构件是软件结构建模的一个视角,构件的粒度比类大,一个 构件可能包括多个类。
9.5
构件的结构与视图
2)外部视图
外部视图也被称为黑盒 视图,是使用者所观测 到的构件,外部视图只 要给使用者提供构件的 供口所能提供的操作, 和需口所需要的操作就 可以。
9.6
构件的关系
1. 依赖关系 1)构件依赖关系的含义
一个构件的需口中定义的操作,一定会出现在其它构 件的供口之中。这个构件就依赖于给它的需口中提供操 作的那些构件。
9.8
构件图
1货品订购管理系统的构件图
9.8
构件图
2 订单处理系统的构件图
9.8
构件图
3 一个C程序的构件图
● 小结
第9讲 构件图
● 9构件图 9.1 构件 9.2 构件图 9.3 构件图的作用
● —— 重要知识点
教学进程
第 讲构件图和部署图
9
9 构件图
9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 构件的概念 构件的表示 构件的特性 构件的接口与端口 构件的结构与视图 构件的关系 构件连接器 构件图
9.1
构件的概念
构件的几个例子: JavaBean: java平台上的一种基本构件; Applet: 在web浏览器上运行的java构件 Servlet: 在web服务器上运行的java构件
9.6
构件的关系
9构件图和部署图
6
5 部署图
• 组件图用来建模软件组件,而部署图用来 对部署系统时涉及到的硬件进行建模。 • 构造部署图(Deployment Diagram)可以 帮助系统的有关人员了解软件中各个组件 驻留在什么硬件上,以及这些硬件之间的 交互关系,另外,部署图还可以用来描述 哪一个软件应该安装在哪一个硬件上。部 署图中只有两个主要的标记符,即节点( Node)和关联关系(Association)标记符 。在构造部署图时,可以描述实际的计算 机和设备(Node)以及以及它们之间的连 接关系,也可以描述部署和部署之间的依 赖关系;除此之外,部署图中还可以包含 包或者子系统。图演示了用于租书管理系 营业界面 统的部署图。
节点2
9
5.3 部署图的应用
• 通常情况下,建模人员使用部署图为嵌入式系统建 模,为客户/服务器系统建模,或者为完全的分布式 系统建模。 • 使用部署图为嵌入式系统建模,可参考如下策略: • (1)找出对于系统来说必不可少的节点。 • (2)使用UML的扩充机制为系统定义必要的原型 。 • (3)建模处理器和设备之间的关系。 • (4)精化和细化智能化设备的部署图。
12
2. 创建和删除构件
使用菜单栏或浏览器添加构件的步骤如下:01 选择 Tools | Create | Component命令,此时光标变为“+” 号。如果使用浏览器,可右键单击需要添加的包,在 弹出的快捷菜单中选择New | Component命令,此时光 标也变为“+”号。 02 以下的步骤与使用工具栏添加构件的步骤类似,按 照前面使用工具栏添加构件的步骤添加即可。 可以通过以下方式进行删除: 01 选中待删除的构件,单击右键。 02 在弹出的快捷菜单中选择Edit | Delete from Model命令,或者按Ctrl+D快捷键即可。
UML-08-构件图-部署图
节点是存在于运行时并代表一项计算资源的物理 元素,一般至少拥有一些内存,而且通常具有处 理能力。 节点包括两种类型:处理器和设备。
ቤተ መጻሕፍቲ ባይዱ
什么是处理器(processor)?
定义:A processor is a hardware component capable of executing programs. 处理器具有处理能力的节点,即它可以执行组 件。 处理机的图标:
什么是设备(Device)?
设备的定义:A device is a hardware component with no computing power. 设备是无计算能力的外部设备,如modem、终 端。 设备的图标:
处理器和设备
什么是连接(Connection)?
连接的定义:A connection represents some type of hardware coupling between two entities. 连接是代表一种交流的机制:
组件的分类
一般说来,组件就是一个实际文件,可以有以下几种类型:
(1) 配置组件(deployment component),这些组件构成了一 个可执行的系统, 如dll文件, exe文件, COM+对象, CORBA 对象, EJB, 动态Web页, 数据库表等。
(2) 工作产品组件(work product component),开发过程产 物,这些组件不直接参与可执行系统,而是开发中的工作产 品,如源代码文件(.java,.cpp),数据文件等,这些组件可 以用来产生deployment component。 (3) 执行组件(execution component),这类组件是作为一 个正在执行的系统的结果而被创建的,例如由DLL实例化形 成的.NET对象。
ቤተ መጻሕፍቲ ባይዱ
什么是处理器(processor)?
定义:A processor is a hardware component capable of executing programs. 处理器具有处理能力的节点,即它可以执行组 件。 处理机的图标:
什么是设备(Device)?
设备的定义:A device is a hardware component with no computing power. 设备是无计算能力的外部设备,如modem、终 端。 设备的图标:
处理器和设备
什么是连接(Connection)?
连接的定义:A connection represents some type of hardware coupling between two entities. 连接是代表一种交流的机制:
组件的分类
一般说来,组件就是一个实际文件,可以有以下几种类型:
(1) 配置组件(deployment component),这些组件构成了一 个可执行的系统, 如dll文件, exe文件, COM+对象, CORBA 对象, EJB, 动态Web页, 数据库表等。
(2) 工作产品组件(work product component),开发过程产 物,这些组件不直接参与可执行系统,而是开发中的工作产 品,如源代码文件(.java,.cpp),数据文件等,这些组件可 以用来产生deployment component。 (3) 执行组件(execution component),这类组件是作为一 个正在执行的系统的结果而被创建的,例如由DLL实例化形 成的.NET对象。
[UNL课件] 第12章 构件图与部署
12.1 构件
– 连接件示例:
销售目录
: 商品盘点清单 :
:履行
:查找项
: 发货项
: 获得订单 :订单 输入
:订单交接
: 订单处理
收费:信用卡
12.2 部署图
• 1、术语和概念
– 1) 部署图(deployment diagram)
• 是一种展示运行时进行处理的结点和在结点上生存 的制品的配置的图。
– 端口提供的封装性和独立性更大程度上保证了构件的 封装性和可替换性。
12.1 构件
• 端口的UML表示
– 端口被表示为跨立于构件边界上的方块。
使用该接口 查询预订 情况 Booking Load Attractions 将节目信息录入 售票DB以便售票 Credit Cards 使用该接口完成 信用卡支付
• 制品(artifact):是存在于实现平台层的系统的物理部 分。表示为带有《artifact》构造型的矩形。内写上制品 名称。
• 部署图是结点和弧的集合。
– 也可以包括注解、约束还有包。
《artifact》 pos.exe
12.2 部署图
– 2) 结点(node)
• 又译作节点,是存在于运行时并代表一项计算资源的 物理元素,一般至少拥有一些内存,而且常常具有处 理能力。UML中表示为一个立方体。
– 3)对全分布式系统建模(续)
本章小结
• 构件 • 部署图
• UML表示为一条实线。
• 连接是双向的。 • 可以是直接连接(如通过光缆),也可非直接连接 (如通过卫星)。
12.2 部署图
• 2、用法
– 部署图用于对系统的静态部署视图建模。 – 主要来解决构成物理系统的各组成部分的分布、 提交和安装。 – 使用情况
第11讲 构件图与部署图
UML建模语言
11.3 构件图与部署图的创建示例 11.3.1 创建构件图 01 根据用例或场景的需求确定系统的构件。 02 将系统中的类、接口等逻辑元素映射到构 件中。 03 确定构件之间的依赖关系,并对构件进行 细化。
UML建模语言
1. 确定系统构件 可以与确定用例中的类和对象一样,根据用 例的流程确定系统的构件。
构件和接口
的实现关系
构件与接口 的依赖关系
UML建模语言
11.1.3 部署图的基本概念 部署图(Deployment Diagram)描述了一个 系统运行时的硬件节点、在这些节点上运行 的软件构件将在何处物理运行以及它们将如 何彼此通信的静态视图。
UML建模语言
在Rational Rose 2003中可以表示的节点类型 包括两种,分别是处理器( Processor )和设 备( Device )。处理器( Processor )是指那 些本身具有计算能力且能够执行各种软件的节 点,如服务器、工作站等都是具有处理能力的 机器。
序
任务规 范和任 务体
包规范
和包体
UML建模语言
11.1.2 构件图的基本概念 构件图是用来表示系统中构件与构件之间、 类或接口与构件之间的关系图。在构件图中, 构件和构件之间的关系表现为依赖关系,定 义的类或接口与类之间的关系表现为依赖关 系或实现关系。
构件之间的依赖关系
UML建模语言
构件和接口之间的依赖关系是指一个构件 使用了其他元素的接口,依赖关系可以用 带箭头的虚线表示,箭头指向接口符号。
1. 确定系统节点 根据上面的需求列表可以获得系统的节点信息。
UML建模语言
2. 添加节点连接 将上面的节点连接起来,得到的部署图。
6e-05状态-活动-构件-部署图
6
• 状态图 状态图适合于描述跨越多个用例的单个对象的 行为,而不适合描述多个对象之间的行为协作, 因此,常常将状态图与其它技术组合使用。例 交互图适合于描述单个用例中的多个对象 如,交互图 交互图 的行为,活动图 活动图适合于描述多个对象和多个用 活动图 例的活动的总次序。 • 一般状态图中显示的状态机会混合使用Mealy 机和Moore机风格。 • 问题:Mealy机和Moore机的区别? (英文电子版pp280)
主要内容
状态图 活动图 构件图 部署图
2
Statechart Diagram(状态图 状态图) 状态图
• 定义:A statechart diagram shows a state machine, emphasizing the flow of control from state to state. • state machine(状态机 状态机):A state 状态机 machine models the lifetime of a single object, whether it is an instance of a class, a use case, or even an entire system.
29
• 两种特殊的动作: entry action(进入动作)和exit action(退出动作)。
– Entry动作:进入状态时执行的活动,格式如下:
‘entry’ ‘/’action-expression
18
• Transition图例
说明: • 状态的之间的转移 转移通常是由事件 事件触发的,此时应在转 转移 事件 移上标出触发转移的事件表达式。如果转移上未标明 事件,则表示在源状态的内部活动执行完毕后自动触 发转移。 • Transition的格式: event-signature ‘[’ guard-condition ‘]’ ‘/’ action 其中event-signature的格式为: 19 event-name ‘(’ comma-separated-parameter-list ‘)’
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第12章 配置图/部署图
▪配置图描述了运行软件的系统中硬件和软件的 物理架构。 ▪配置图可以显示计算机节点的拓扑结构和通信 路径、节点上执行的软件构件、硬件设备的配置。 ▪ 配置图中通常包含2个元素:
节点(Node) 关联(Association)
▪ 配置图示例:
一、节点
▪ 节点是在运行时代表计算资源的的物理元素。 ▪ 节点通常拥有一些内存,并具有处理能力。 ▪ 在UML中,节点用一个立方体来表示。
1 节点的种类
在实际的建模过程中,可以把节点分为两种类 型:
① 处理器(ocessor):处理器是能够执行 软件、具有计算能力的节点。
② 设备(Device):设备是没有计算能力的节 点,通常情况下都是通过其接口为外部提供 某种服务。
处理器(Processor) 设备(Device)
▪ 节点属性
➢ 在构件图标中没有标识接口 ➢ 在构件图标中标识了接口
1) 没有标识接口的构件表示法
➢ 第一种是表示为标有构造型《component》的矩形; ➢ 第二种是在矩形的右上角放置一个构件图标(一个小
矩形,并在左侧加上两个突出的更小的矩形);
➢ 第三种是直接使用构件图标,但在UML2.0中已经不使 用第三种方法了。
<<file>> <s{s{<ivivfgegeinrnrlasaselili.o>.ohn>hn==44..11}}
<<file>> <s{s{<ivivgfgeeninrralasslieli.oc>.onp>cn=pp=4p4..11}}
<<<<ffiille>>>> iirrqq..hh
<<file>> device.cpp
4. 编译依赖
当一个程序文件改变后,包含此文件的其它 文件都可能需要重新编译。
public class X {
private Y they; ……
}
public class Y {
private X thex; ……
}
基于泛化的依赖
从子类到超类存在依赖;超类的改变可能 会影响子类。
类A的操作接口中使用了类B
2) 标识接口的构件表示方法也有3种
2. 构件的种类
▪ 在对软件系统建模的过程中,存在3种类 型的构件:
① 源代码构件 ② 二进制代码构件 ③ 可执行代码构件
▪ 源代码构件(编译时构件)
➢ 源代码构件也称为工作产品构件,是开发过程 的产物。如包含源代码或数据的文件、Web文 件、文档。
▪ 二进制构件(连接时构件)
▪ 象类一样,可以为一个节点提供属性描述, 如,处理器速度、内存容量、网卡数量等 属性。可以为节点其提供启动、关机等操 作属性 。
2 节点中的配置
▪ 配置图可以将节点和构件结合起来,以建 模处理资源和软件实现之间的关系。
▪ 当构件驻留在某个节点时,可以将它建模 在图上该节点的内部。
▪ 驻留在节点上的构件
第11章 构件图(Component Diagrams)
▪构件图
➢构件图概述 ➢构件(组件)的表示和分类 ➢构件间的依赖关系
一、 概述
▪ 构件图描述了软件的各种构件和它们之间 的依赖关系。
▪ 构件是定义了良好接口的物理实现单元, 是系统中可替换的物理部件。每个构件体 现了系统设计中的特定类的实现。
▪ 构件图的基本目的是:使系统人员和开发人员能够 从整体上了解系统的所有物理构件。
▪ 同时,也使我们知道如何对构件进行打包,以交付 给最终客户。
▪ 构件图显示了所开发的系统的构件之间的依赖关 系.依赖关系符号(------>)表示构件之间的关系.
二、 构件
1. 构件的表示
每个构件定义了2组接口(一组是供给接口,表明 它能提供的服务,一组是需求接口,表明它需要 的服务). 构件本身已经实现了供给接口声明的功能。 表示构件图标的方法有两种:
对源代码建模
对可执行文件和库建模
对表、文件和文档建模
三、 依赖关系
▪ 把提供服务的构件称为提供者,把使用服务的构件 称为客户
▪ 在UML中,构件图中依赖关系的表示方法是一个由 客户指向提供者的虚线箭头。
供应者不存在该客户就不能活动,或不能被完整 地定义或实现。
通常,当一个构件被修改时,任何依赖于它的 构件可能也必须修改。
▪ 构件可以是源代码构件、二进制构件或一 个可执行的构件。
构件图示例:供销存管理系统
构件图应用
▪ 对可执行程序建模
可以清晰地表示出各个可执行文件、链接库、数 据库、帮助文件和资源文件等其它可运行的物理 构件之间的关系。
语音呼叫中心程序 callcenter.exe
构件图应用……
▪ 对源代码进行建模 可以清晰地表示出软件的所有源文件之间的关系, 有了这样的构件图,开发者能更好地理解各个 源代码文件之间的依赖关系。
对节点内驻留的构件描述
▪ 可以在节点和构件之 间添加一条表示依赖 关系的虚线箭头,并 使用构造型来表示节 点对构件的包容。
public class A {
public void anOperation(B theB){ …… } }
类A包含一个类型为B类的属性
public class A { private B alink; ……
}
系统的设计要尽量避免循环依赖。
这样可以由下向上访问它的构件,每次只考 虑一个构件。
库存控制系统的依赖图
“使用”依赖(没有注明的依赖)是传递的。
常见的依赖关系 1. 引入源代码
▪ Java中, 可以在源文件中引入包
▪ C++中, 在文件中引入头文件
2.编译依赖
源文件和目标文件之间存在着依赖,源文件的任 何改变必须重新编译并生成目标代码。
3. 档案文件和库
(目标文件的集合,包含其他构件的构件,在java 中为jar文件)
➢ 源代码构件编译后产生的目标代码,如静态库 或动态库。
▪ 可执行构件(运行时构件)
➢ 表示处理机上运行的一个可执行单元。数据库 表也可看作运行时使用的构件。
<<file>> <s{<ivs{ifgevginrenrlasaselili.>.ooh>hnn==33..55}}
<s{<s{<iviv<gfgeefninrrialaslselieli.o>h>.on>>hn==44..00}} <i<in<n<fttefieirllrpeep.>c>.>p>cppp