第7章构件图和部署图
10讲 包图 构件图和部署图
包图的定义
包图和包 在UML中创建包图的目的有以下三个: 1. 在逻辑上把一个复杂的系统模块化 2. 组织源代码 3. 描述需求高阶概况 4. 描述设计的高阶概况
包的组成
名称
在UML中,包的标准形式是使用两个矩形进行表示的,一个小 矩形和一个大矩形,小矩形紧连结在大矩形的左上角上,包的名称 位于大矩形的中间 包的名称是一个字符串,它有两种形式:简单名和路径名。其 中,简单名仅包含一个名称字符串;路径名是以包处于的外围包的 名字作为前缀并加上名称字符串,如下图所示。
软件系统体系结构建模——包图
• 2、系统业务对象层
系统服务接口界面包:起承上启下的作用,设置用 户窗口与系统各种实现具体功能的接口界面的连接
业务对象管理包:根据用户窗口接口界面的要求, 实施对系统的业务对象的有效管理
外部业务对象包:对过去系统遗留下来的有使用价 值部分进行包装 实际业务对象包:形成能实现系统功能的实际的业 务对象集,包括系统新创建的业务和外部业务对象
系统体系结构设计 数据结构设计 用户界面设计 算法设计
系统体系结构概述
• 系统体系结构用来描述系统各部分的结构、 接口以及它们用于通信的机制。 • 系统体系结构建模首先要建立基本的模型, 并把这些模型映射到系统需要的硬件单元 上。
系统体系结构概述
• 体系结构设计过程中的主要活动:
系统分解:将系统分解为若干个相互作用的子系统 模块分解:将子系统进一步划分为模块
包图中的关系
泛化关系
泛化关系表示了事物的一般和特殊的关系。如果二个 包之间存在有泛化关系,就是指其中的特殊性包必须遵 循一般性包的接口。包之间的泛化联系与类之间的泛化 关系十分类似,类之间的泛化的概念和表示在此大都可 以使用如下图所示。
包图 构件图 与部署图
包图中的关系
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
系统分析与设计课后习题答案
第一章1.什么是系统?信息系统一般具有那些特性?答:系统是一组为实现某些结果相互联系相互作用的部件的集合。
1.可分解性2.边界性2.从应用范围来看,信息系统可以分为哪些类型?答:1.事物处理系统2.管理信息系统3.智能支持决策系统4.办公自动化系统3.信息系统中典型的关联人员有哪些?他们的角色是什么?答:系统所有者(通常是中层或者高层经理,对于小型系统来说,可能是中层经理或者主管)、用户、分析设计人员(都代表信息系统的技术专家角色)、外部服务者(业务顾问和系统顾问等)以及项目经理(团队的领导者)4.请解释系统内部用户和外部用户的区别是什么?答:内部系统用户主要是指系统实际操作人员,这些人员往往专注于信息系统的处理速度和处理事务的正确性。
外部系统用户主要是指系统的直接或者间接使用人员,所有这些外部系统用户最关注的是使用系统的服务操作是否简单易学,方便操作。
5.什么是模型驱动分析?为什么要使用此方法?举例说明。
答:模型驱动分析法强调绘制图形化系统模型来记录和验证现有的或建议的系统。
系统模型最终将成为设计和构造一个改进系统的蓝图。
结构化分析、信息工程和面向对象分析都是基于模型驱动的分析方法。
6.什么是系统开发生存周期?在项目启动阶段涉及的主要活动有哪些?答:开发一个完整的系统项目总会经历“目标、计划、分析、设计、实现、维护”这样的过程或步骤,这就是系统开发的生存周期(系统项目启动、业务需求分析、详细系统设计、系统实现与维护)。
启动阶段的主要涉及5个活动:定义问题域、制定项目的进度表、确认项目的可行性、安排项目人员、启动项目。
7.为什么引入系统原型开发方法?它的优缺点是什么?答:采用最经济的方法,尽快设计出一个可以实际运行的系统原型。
优点:提高了用户参与的主动性;系统开放周期短;能更好的适应需求的变化并减少误解,能有效的提高最终系统的质量,特别是用户接受性,为保证将系统提供给用户使用奠定了基础。
缺点:1.系统分析和功能设计贯穿于整个开发过程中,使得系统的总体结构变得不明确;2.原型选取的不确定性可能降低系统开放速度;3.对原型进行分析设计时,依然沿袭结构化方法,自顶向下模块化的设计思想,数据和功能相互分离的缺陷在原型法中依然存在,不利于软件构件的重用;4.开发过程中不断引入用户需求的变化,造成了系统开发的不确定性。
《组件图和部署图》PPT课件
C.对物理数据库建模
D.对可适应的系统建模
3.(
)是可复用的,提供明确接口完成特定功能的程序代码块。
A.模块
B.函数
C.用例
D.软件构件
4.组件图展现了一组组件之间的组件和依赖。它专注于系统的(
)实现图。
A.动态
B.静态
C.基础
D.实体
5.(
)是用于把元素组织成组的通用机制。
习题
1.( 实现
)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理
A.部署图
B.类
C.接口
D.组件
2.组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为
四种方式来完成,下面哪种不是其中之一(
)。
A.对源代码建模
B.对事物建模
8.3小结
组件图用于静态建模,是表示组件类型的组织以及各种组 件之间依赖关系的图。组件图通过对组件间依赖关系的描 述来估计对系统组件的修改给系统可能带来的影响。部署 图是用来为面向对象系统的物理实现建模的图。部署图描 述了节点和运行在其上的组件的配置,它用来模拟系统的 静态部署实现。
本章介绍了组件的定义以构成组件的要素,对组件、组件 关系进行了详细的讲解。对使用组件图建模适用领域进行 了说明,并对最为常见的两种场景即可执行程序结构建模、 源代码建模进行了举例说明。还介绍了部署图语义和功能, 通过实例讲解了部署图的应用。
构件图与部署图
45
构件图分类
(1)用户界面层:采用JSP页面实现用户界面。 我们通过构造型《Java Server page》来表示构 件。这一部分的构件,主要由边界类组成。
13
构件图的作用
构件图的基本目的是:使系统人员和开发人 员能够从整体上了解系统的所有物理部件, 同时,也使我们知道如何对构件进行打包, 以便交付给最终客户,最后,构件图显示了 被开发系统所包含的构件之间的依赖关系。
构件图从软件架构的角度来描述一个系统的 主要功能,如系统分成几个子系统,每个子 系统包括哪些类、包和构件,它们之间的关 系以及它们分配到哪些节点上等。
一个构件图可以表示一个系统全部或者部分的构件 体系。从组织内容看,构件图显示软件构件的组织 以及构件之间的依赖关系,包括源代码构件、二进 制代码构件以及可执行构件。
构件图是对OO系统物理方面建模的2个图之一。
9
构件图的概念
构件图主要用于描述各种软件构件之间的依 赖关系,例如,可执行文件和源文件之间的 依赖关系,所设计的系统中的构件的表示法 及这些构件之间的关系构成了构件图。
将整个“在线酒店预订子系统”作为一个构件,考虑 其对外接口。显然它首先需要提供用户界面;其次 还需要与加盟的酒店系统连接,完成预订工作
35
绘制构件图
确定子构件和接口
显然要有一个构件来实现用户界面,一个构件来完 成与酒店系统的连接和预订,另外还应该有一个负 责将用户的需求与酒店的供给进行匹配的“调度程 序”
提供服务
※
※ 售票处需要付款和购买提 供服务
组件图与部署图
UML组件图与部署图U n R e g i s t er ed为什么要建模组件图和部署图?组件图用来建模系统的各个组件,包括(1)源代码文件(如java)(2)二进制文件(如bin、dll等,系统调用的某一外部可执行文件)(3)脚本文件(如xml、txt等)(4)可执行文件(如exe)之间的关系它们是通过功能或者文件组织在一起的。
使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。
部署图用来帮助读者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。
总之,组件图和部署图可以用来帮助设计系统的物理架构。
Un Re gi st er ed1.组件在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如下图所示。
Un Re gi st er ed组件的表示U n R e g i s t er ed2.依赖关系依赖关系演示两个组件之间的依赖特性。
依赖关系使用在一端带有开放箭头的短划线表示。
箭头从依赖的对象指向被依赖的对象。
例如下图所示。
deretsigeRnUderetsigeRnU3.包含组件一个组件可以包含在其他的组件中。
其标记符可在其他组件中建模组件来表示。
下例演示了Inventory组件由3个独立的组件DataAccess,Business Logic和Userinterface组成,如下图所示。
Un Re gi st er edUML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。
1.节点节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。
节点的标记符是一个三维框,在框的左上方包含了节点的名称,如下图所示。
部署图Un Re gi st er ed2.通信关联节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。
这种关系用来表示两种硬件(节点)通过某种方式彼此通信。
其基本通信关联的版型表示,如下图所示。
Un Re gi st er ed下图演示了WebServer通过HTTP协议与Client PC通信,Client PC通过USB协议与Printer通信。
构件图与部署
使用菜单栏或浏览器添加构件的步骤如下:01 选择Tools | Create | Component命令,此时光标变为“+”号。如果使用浏览器,可右键单击需要添加的包,在弹出的快捷菜单中选择New | Component命令,此时光标也变为“+”号。 以下的步骤与使用工具栏添加构件的步骤类似,按照前面使用工具栏添加构件的步骤添加即可。
部门 / 时间 / 姓名
1 构件图与部署图的基本概念 1.1 构件的基本概念 在构件图中,将系统中可重用的模块封装为具有可替代性的物理单元,称为构件,它是在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用部件。
虚包是一种只包含对其他包的元素进行引用的构件。
系统是指组织起来以完成一定目的的连接单元的集合,在系统中肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被称为主程序。子程序规范和子程序体是用来显示子程序的规范和实现体。 主程序 子程序规范和子程序体 包规范和包体 任务规范和任务体
在部署图中添加节点之间的连接的步骤如下:
02
单击图标,或者选择Tools | Create | Connection命令,此时的光标变为“↑”符号。
03
单击需要连接的两个节点中的任意一个节点。
04
将连接的线段拖动到另一个节点中即可。
如果要将连接从节点中删除,可以通过以下的步骤进行:
选中该连接。
按Delete键或者单击右键,在弹出的快捷菜单中选择Edit | Delete命令即可。
确定系统构件
可以与确定用例中的类和对象一样,根据用例的流程确定系统的构件。
将系统中的类和接口等映射到构件中 将系统中的类、接口等逻辑元素映射到构件中,一个构件不仅仅包含一个类或接口,也可以包含几个类或接口。
T7构件图和部署图.ppt
部署图——部署图的要素
连接
连接表示两个结点之间的物理连接关系,用直线表示,在连接 上可以加多重性、角色、约束等。
部署图示例
部署图示例
部署图示例
总结
构件图的作用是什么? 什么叫构件,构件有哪几种类型,构件怎么表示? 部署图的作用是什么?
构件图 部署图
本章目标
构件图——构件
构件的概念
构件(component):是一个相对独立的可装配的物理块,一 般作为一个独立的文件存在。
构件具有确定的接口,相互之间可以调用,构件之间存在依赖 关系。
构件图——构件
构件的类型
《源代码件》:源程序文件块. 《执行件》:编译的结果,可投入运行。 《文件》:信息的存储体。 《库》:可以是类库、动态链接库、数据库等。 《表》:表示数据库中的数据表。 《文档》:泛指形成的所有文字材料。
第七章
构件图和部署图
回顾
1:在状态图中可以表示的概念有( ).(多选) A 动作 B 事件 C 转移 D 用例
回顾
2:如果要对一个企业的工作流程建模,下面四个图中( ) 是最有用的。 A 交互图 B 活动图 C 状态图 D 类图
回顾
3:下面说法错误的是: A 状态可以用来描述涉及多个用例的对象的行为 B 一些高级的状态图可以用来描述多个对象之间的关系 C 活动图可以用来描述企业中的业务流程 D 活动图可以用来描述多个用例间多个对象间的行为
构件图——构件
构件的表示
在UML中,构件通过以下形式来表示:
构件图
构件图(component diagram):描述构件及其相互 关系的图。构件之间是依赖关系。
构件图的作用
1:对源代码文件之间的相互关系建模
理论5--协作图,构件图和部署图
9/23
6.7.1 构件图
构件图显示构件类型的定义、内部结构和依赖。 构件是系统设计的模块化部分,它给出一组外部的接 口,而隐藏了它的实现。在系统中满足相同接口的构 件可以自由地替换。
10/23
说明: • 构件图是对OO系统的物理方面建模的两个图 之一。 • 构件图显示一组构件以及它们之间的相互关 系。 • 构件图可以显示软构件之间的依赖关系,可 以用来显示编译、链接或执行时构件之间的 依赖关系。
3/23
iteration-expression表示有条件地或重复地执行,它 有如下两种形式: *[iteration-clause] (表示重复) [condrtion-clause] (表示分支) 这里iteration-clause是重复条件(循环执行的条件), 即循环执行,如1.1*[x=1..10]:dosomething( )。 第二种形式中的condition-clause用于指定分支,如[x < 0],[x >= 0],表示仅执行条件为真的分支(发送 的消息连接到那个分支)。
12/23
• 构件和类之间的不同点:
类是逻辑抽象,构件是物理抽象, (1) 类是逻辑抽象,构件是物理抽象,即构件可 以位于节点(node) (node)上 以位于节点(node)上。 (2) 构件是对其它逻辑元素,如类,协作 构件是对其它逻辑元素,如类, (collaboration)的物理实现 的物理实现。 (collaboration)的物理实现。 类可以有属性和操作;构件通常只有操作, (3) 类可以有属性和操作;构件通常只有操作, 而且这些操作只能通过构件的接口才能使用。 而且这些操作只能通过构件的接口才能使用。
13/23
• 构件和接口之间的两种关系:dependency和 realization。 例:
第7章 构件-配置图
dependency
realization
说明:使用接口的是依赖关系,实现接口的是实现关系。
7
构件图的一些例子
例1:对Source Code建模的例子。
8
例2:对executable release建模的例子(系 统的一部分)。
9
所生成的构件图
10
相应的类图
11
主要内容
构件图 配置图
17
处理机(processor)
处理机的定义:A processor is a hardware component capable of executing programs. 说明:可以指明处理机中的进程,进程优先级, 进程调度方式等。 处理机的图标:
18
设备(device)
设备是无计算能力的外部设备,如modem、终端。 设备的图标:
15
配置图中的基本概念
Node(节点)
处理机 设备
Connection(连接)
16
节点(Node)代表一个物理设备以及其上运 行的软件系统,如一台Unix主机、一个PC 终端、一台打印机、一个传感器等。 节点之间的连线表示系统之间进行交互的通 信路径,在UML中称为连接(Connection)。
12
Deployment Diagram(配置图)
配置图也称部署图,实施图。 配置图用来描述系统硬件的物理拓扑结构以及在此结 构上执行的软构件。
13
ቤተ መጻሕፍቲ ባይዱ
例:配置图的例子。
14
说明: 配置图是对OO系统的物理方面建模的两个图之一。 一个系统模型只有一个配置图。 配置图可以显示计算节点的拓扑结构和通信路径、 节点上运行的软构件等,配置图常常用于帮助理 解分布式系统。 配置图由体系结构设计师,网络工程师,系统工 程师等描述。
chap7 包图 构件图 部署图
2012-12-19
23
Database Server
Oracle Server
Printer
Application Server Web Server
MainProgram
Internet Information Server
Client Workstation#1
Client WorkStation#2
统的构成,有利于作出开发决策。
14
构件图的建模
确定构件。首先要分解系统,考虑有关系统的组成管理、 软件的重用和物理节点的配置等因素,把关系密切的可执 行程序和对象库分别归入构件,找出相应的对象类、接口 等模型元素 对构件加上必要的构造型,如:<<executable>>、 <<library>>、<<table>>、<<file>>等 确定构件之间的联系,最常见的构件之间联系是通过接口 的依赖 必要时把构件组织成包 绘制构件图
2012-12-19 15
Animate.htm
VBscript <<ActiveX>> AnimationLayout.alx
<<ActiveX>>
RunButton <<ActiveX>>
<<ActiveX>> StopButton SphereImage <<ActiveX>> SphereTimer Sphere.gif <<ActiveX>> TimeComboBox <<ActiveX>> <<ActiveX>> ResetButton
UML各章习题
UML各章习题第1、2章面向对象与UML1.简述统一建模语言(UML)统一建模语言(UML)是一种绘制软件蓝图的标准语言。
可以用UML对密集型软件系统的制品进行可视化详述和文档化。
UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。
UML的作用是用图的形式从静态和动态方面来全面描述将要开发的系统(2分)。
2.简述面向对象分析方法(OOA)的5个基本步骤1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分)2)、识别对象的属性(1分)3)、识别对象的行为(1分)4)、识别对象所属的类(1分)5)、定义主题词(1分)3、什么是高内聚度?高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个含义:一、不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
二、不相关的职责不要分派给同一个类。
4、什么是对象间的可见性答:可见性(Viibility)指的是一个对象能够“看到”或者引用另一个对象的能力。
5、领域建模的步骤有哪些?答案:列出候选的概念类;画出领域模型图;加入概念类间的关联;加入概念类的属性。
6、什么是软件生命周期?软件生命周期(SDLC,SytemDevelopmentLifeCycle)是软件的产生直到报废或停止使用的生命周期,周期内包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
7、什么是软件开发生命期?软件开发生命期是指软件产品从考虑其概念开始,到该产品交付使用为止的整个时期。
section 9 构件图与部署图
• 与包的关系不同
构件图的作用
(1) 对源代码文件之间的关系建模
组件图示例
A component diagram
zhufei@
• 一个大型复杂的软件系统,一般由多个可执行 程序和相关的持久对象库构成。 • 下图描述了一个客户的软件系统从 C++源代码
部署图的例子
PC和外设与ISP连接的部署图
部署图建模技术
• • • • •
对系统中的结点建模。 对结点之间的关联关系建模。 对驻留在结点上的构件建模。 对驻留在结点上的构件之间的依赖关系建模。 对建模的结果进行精化和细化。
确定结点和结点间的关联关系
•
•
• •
IC卡读卡器:提供给员工刷卡用,它将收集刷卡的时间信息,传 给应用系统,并存入数据库中
创建实施构件的源代码文件及数据文件。如: 源代码文 件、数据文件等, 这些构件可以产生部署构件.
构件图中的元素
(1) 构件
基本构件
带版型的构件
构件图中的元素
(1) 构件 Rose中的扩展构件
子程序说明是一组子程序集 合名, 其中不包括类定义.
子程序体表示子程序的实现.
构件图中的元素
(1) 构件 Rose中的扩展构件
example
• 根据以下描述,试完成一个“销售管理系统”
的部署图。该系统采用的硬件设备有:
• 3台联想PC600作为终端机,分别用作销售管理、仓 库管理和合同管理。 • 1台联想PC6000作为网络数据库服务器。 • 2台Ls1000打印机。一台为网络共享、一台为仓库 管理专用。 • 客户机之间采用《TCP/IP》通信协议,3个客户机
构件图的作用:可执行文件建模
(完整版)《UML统一建模语言》课程教学大纲
《UML统一建模语言》课程教学大纲1。
课程概况2。
教学内容及要求第一章 UML与面向对象教学内容(1)UML概述(2)UML组成(3)面向对象教学要求(1)了解UML的发展和组成(2)理解建模的意义(3)掌握UML的四层结构(4)理解UML视图和图的关系(5)掌握UML模型元素内容(6)理解UML通用机制(7)理解面向对象基本概念(8)了解面向对象开发(9)熟悉面向对象开发的优点(10)掌握面向对象开发三层设计教学重点难点建模的意义;UML的四层结构;模型元素;通用机制;视图和图的关系;面向对象相关知识。
第二章用例图教学内容(1)用例的基本概念,参与者,用例,泛化,用例之间的关系(2)如何发现参与者、用例(3)用例描述的格式要求(4)绘制用例图教学要求(1)理解用例的基本概念(2)能够很好的识别参与者与用例(3)掌握用例之间的关系(4)理解泛化在用例图中的使用(5)熟练掌握用例图的绘制(6)熟练掌握用例描述的格式要求教学重点难点用例的基本概念,绘制用例图;用例描述的格式要求;识别参与者与用例。
第三章类图、对象图和包图教学内容(1)面向对象的基本概念(2)类图的基本概念(3)对象图的基本概念(4)包图的基本概念教学要求(1)了解面向对象的基本概念(2)掌握类的设计原则(3)理解类图的基本概念(4)掌握类间的关系(5)了解对象图和包图的概念(6)熟练使用建模工具建模类图教学重点难点类的设计原则;类图的基本概念;类之间关系的模型表示及含义;熟练使用建模工具建模类图.第四章活动图教学内容(1)活动图的标记符(2)其他标记符(3)使用建模工具为活动图建模教学要求(1)理解活动图的功能(2)掌握活动图基本标记符(3)掌握条件的使用(4)掌握分叉和汇合的使用(5)掌握泳道概念及其标记符的使用(6)理解对象流概念及其标记符(7)熟练掌握使用建模工具为活动图建模教学重点难点活动图的功能;活动图的基本标记符;使用建模工具为活动图建模;分叉和汇合;泳道的概念及其标记符的使用;对象流的概念。
部署图
1 部署图概述
Printer ClientPC <<LAN>>
<<LAN>>
WageServer <<Internet>> BankSystem
DataBase
<<LAN>>
客户/服务器系统部署图 客户 服务器系统部署图
1 部署图概述
(3)为完全的分布式系统建模 ) 完全的分布式系统分布于若干个分散的 节点上, 节点上,由于网络通信量的变化和网络故障 等原因,系统是在动态变化的, 等原因,系统是在动态变化的,节点数量和 软件构件的分布可以为断变化。 软件构件的分布可以为断变化。为完全的分 布式系统建模时, 布式系统建模时,Internet、LAN等网络表 、 等网络表 示为一个节点。 示为一个节点。
图 书 管 理 系 统 部 署 图
4 部署图操作
4.1 创建和显示部署图
– 可以通过下面三种方式中的某一种来创建或 显示部署图: 显示部署图: • 单击 单击Browse>Deployment Diagram; ; • 在工具栏上,单击部署图图标; 在工具栏上,单击部署图图标; • 在浏览器中,双击部署图图标。 在浏览器中,双击部署图图标。
部署图可以帮助系统的有 关人员了解软件中各个构 件驻留在什么硬件上, 件驻留在什么硬件上,以 及这些硬件之间的交互关 另外, 系;另外,部署图还可以 用来描述哪一个软件应该 安装在哪一个硬件上。 安装在哪一个硬件上。
1 部署图概述
部署图中主要包括三种标记符:节点、 部署图中主要包括三种标记符:节点、构 件和关联关系。 件和关联关系。 节点:节点是各种计算资源的通用名称, (1)节点:节点是各种计算资源的通用名称, 包括处理器和设备两种类型, 包括处理器和设备两种类型,两者的区别是处 理器能够执行程序的硬件构件(如服务器、 理器能够执行程序的硬件构件(如服务器、工 作站), ),而设备是一种不具备计算能力的硬件 作站),而设备是一种不具备计算能力的硬件 构件(如打印机),通过其接口对外提供服务。 ),通过其接口对外提供服务 构件(如打印机),通过其接口对外提供服务。 处理器和设备都用 Modem PC 箱子图形表示, 箱子图形表示,区别是处 理器的侧面有阴影。 理器的侧过组合构件图和部署图可以得到一个完整 的实现方式图, 的实现方式图,它可以可视化地描述应在什 么硬件上部署软件以及怎样部署。 么硬件上部署软件以及怎样部署。
构件图和部署图[系统部署模型]
构件组件图和部署图()学习内容¢¢¢构件图和部署图的基本概念使用创建构件图和部署图用部署一个实际的项目RoseRose2015/4/1421 .构件¢¢在构件图中,我们将系统中可重用的模块封装成为具有可替代性的物理单元,我们称之称为构件,它是独立的,在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用的部件。
构件作为系统定义良好接口的物理实现单元,它能够不直接依赖于其他构件而仅仅依赖于构件所支持的接口。
通过使用被软件或硬件所支持的一个操作集接口,构件可以避免在系统中与其它构件之间直接发生依赖关系。
—2015/4/143•有一些构件的图标表示形式和标准构件图形表示形式相同,它们包括、、、、以及自定义构造型的构件,它们的表示形式是在构件上添加相关的构造型,下图为一个构造型为的构件。
ActiveX Applet Application DLL EXE Applet 2015/4/144¢¢在中,数据库也被认为是一种构件。
虚包是一种只包含对其它包所具有的元素进行的引用的构件。
它被用来提供一个包的某些内容的公共视图。
虚包不包含任何它自己的模型元素。
Rational Rose 20032015/4/145¢¢系统是指组织起来以完成一定目的的连接单元的集合,在系统中,肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被成为主程序。
子程序规范和子程序体是用来显示子程序的规范和实现体。
子程序是一个单独处理的元素的包,我们通常用它代指一组子程序集。
2015/4/1462 . 构件图的基本概念•构件图是用来表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图。
在构件图中,构件和构件之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。
2015/4/1473. 部署图的基本概念¢¢部署图()描述了一个系统运行时的硬件结点,以及在这些结点上运行的软件构件将在何处物理地运行,以及它们将如何彼此通信的静态视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26
7.2.2 部署图的要素
1.结点
结点(node)表示独立计算资源的物理设备,可以分为 处理机(processor)和设备(device)两类。
处理机:主机,服务器,客户机等; 设备:打印机,传感器,终端等。
27
结 点
• 结点是在运行时代表计算资源的的物理元素。 • 结点通常拥有一些内存,并具有处理能力。 • 结点通过查看对实现系统有用的硬件资源来确 定,这需要从能力和物理位置两方面来考虑。 • 在UML中,结点用一个立方体来表示。
样,提供服务的构件呈现了一个提供的接口,访
问服务的构件使用了所需的接口。
8
6.替换与复用
• 接口在构件复用和构件替换中是一个非常重要
的概念
• 只要新构件符合旧构件的接口,就可以用新构
件替换旧构件
• 如替换汽车的引擎
9
7.构件之间的关系
• 接口和构件之间的关系分为两种:
• 实现关系(Realization)
30
结点的种类
• 在实际的建模过程中,可以把结点分为 两种类型: ① 处理器(Processor) ② 设备(Device)
31
处理器
• 处理器是能够执行软件、具有计算能力 的结点。
32
设 备
• 设备是没有计算能力的结点,通常情况 下都是通过其接口为外部提供某种服务。
33
结点中的配置
• 配置图可以将结点和构件结合起来,以 建模处理资源和软件实现之间的关系。 • 当构件驻留在某个结点时,可以将它建 模在图上该结点的内部。 • 为显示构件之间的逻辑通信,需要添加 一条表示依赖关系的虚线箭头。
第 章 构件图和部署图
7
7.1 构件图
7.2 部署图
1
第 章 构件图、部署图和包图
7
7.1 构件图
7.1.1 构件 7.1.2 构件图 7.1.3 构件图的作用
2
7.1.1 构件
1. 构件的概念
构件(component): 是一个相对独立的可装配 的物理块,一般作为一个独立的文件存在。 构件具有确定的接口,相互之间可以调用, 构件之间存在依赖关系。
– 识别出感兴趣的相关源代码文件集合,把它们表示成 《file》的构件
– 对于较大的系统,利用包对源代码文件进行分组 – 如有必要,可以为构件添加相应的标记值,说明版本号、 作者等信息 – 用依赖关系对这些文件之间的编译依赖关系建模
16
7.1.3 几种构件图
1. 源代码文件建模
构件图中有siganl.h的2个版本,这个头文件被文件 interp.cpp和signal.cpp引用,interp.cpp依赖于irp.h
• 构件的名称有两种:简单名和路径名。
7
5.构件和接口
• 类的接口和构件的接口是相同的概念
• 只能通过构件的接口来使用构件中定义的操作
• 构件和构件的接口之间的关系也叫做实现
• 构件可以让它的接口被其他构件使用,以使其
他构件可以使用这个构件中定义的操作,也就是,
一个构件可以访问另一个构件所提供的服务。这
● 7.1 构件图
7.1.1 构件 7.1.2 构件图
7.1.3 构件图的作用
● 7.2 部署图 7.2.1 什么是部署图
7.2.2 部署图的要素 7.2.3 部署图的例子
● —— 重要知识点
45
17
7.1.3 几种构件图
2.可执行文件和库建模
• 对构成系统的实现构件建模 • 如果系统由若干个可执行程序和相关对象库构成, 最好文档化 • 策略:
– 识别所要建模的构件集合,一般是一个结点上的部分全 部构件 – 为构件选择合适的构造型
– 对每一个构件,考虑与相邻构件之间的关系,通常涉及 18 接口
3
7.1.1 构件
构件定义了一个系统的功能,一个构件是一个
或多个类的实现
对构件和构件关系建模的用途:
• 使客户能够看到最终系统的结构和功能
• 让开发者有一个工作目标 • 让编写技术文档和帮助文件的技术人员能够理 解所写的文档是哪方面内容 • 利于复用
4
2.构件的类型 ●《源代码件》:源程序文件块. ●《执行件》:编译的结果,可投入运行。 ● 《文件》:信息的存储体。 ● 《库》:可以是类库、动态链接库、数据 库等。 ● 《表》:表示数据库中的数据表。 ● 《文档》:泛指形成的所有文字材料。
28
结 点
• 结点与构件的比较: 相同点 不同点
二者都有名称和关系; 都可以有实例;都可 以被嵌套;都可以参 与交互。
构件是参与系统执行 的事物,而结点是执 行构件的事物;构件 表示逻辑元素的物理 包装,而结点表示构 件的物理配置。
29
结点名称
• 每一个结点都必须有一个区别于其他结 点的名称。结点的名称是一个字符串, 位于结点图标的内部。 • 结点名称通常是从现实的词汇表中抽取 出来的短名词或名词短语。 • 结点的名称有两种:简单名和路径名。
23
第 章
7
构件图、部署图
7.2 部署图
7.2.1 什么是部署图 7.2.2 部署图的要素 7.2.3 部署图的例子
24
7.2.1 什么是部署图
部署图(deployment diagram): 用来描 述系统中计算结点的拓扑结构和通信路径 与结点上运行的软件构件等。 • 配置图描述了运行软件的系统中硬件和软 件的物理结构。 • 一般一个系统仅有一个部署图。
可以加依赖关系
13
8.依赖关系
• 两个构件中的类如果存在使用关系,则构件间
可以加依赖关系
14
7.1.2 构件图
构件图(component diagram): 描述构件及 其相互关系的图。构件之间是依赖关系。
15
7.1.3 几种构件图
1. 源代码文件建模 • 有助于可视化源代码文件之间的编译依赖关系 • 策略:
7.1.3 几种构件图
2.可执行文件和库建模
19
7.1.3 几种构件图
3. 表、文件和文档建模
• 对系统中附属实现构件建模,如数据文件、帮助 文档、脚本、日志文件等
• 策略:
– 识别出作为系统的物理实现部分的附属构件 – 将这些事物建模为构件 – 对这些附属构件与其他可执行程序、库及接口之间的关 系建模
UML2.0划分为部署构件、工作产品构件、执行 构件
5
3.构件的表示
在的名称
• 每个构件都必须有一个不同于其他构件的名
称。构件的名称是一个字符串,位于构件图标
的内部。
• 构件名称通常是从现实的词汇表中抽取出来
的短名词或名词短语,并依据目标操作系统添
加相应的扩展名,例如java和dll。
34
结点中的配置
• 驻留在结点上的构件
35
结点中的配置
• 可以在结点和构件 之间添加一条表示 依赖关系的虚线箭 头,并使用构造型 来表示结点对构件 的包容。
36
7.2.2 部署图的要素
2.连接
连接表示两个结点之间的物理连接关系,用直线表示,
在连接上可以加多重性、角色、约束等。
• 配置图可以显示结点以及它们之间的必要连接,也可以显 示这些连接的类型,还可以显示构件和构件之间的依赖关 系,但是每个构件必须存在于某些结点上。
20
7.1.3 几种构件图
3. 表、文件和文档建模
21
构件图的例子:
22
构件和类的比较
相同点 不同点
两者都有名称;都可以 类描述了软件设计的逻 实现一组接口;都可以 辑组织和意图,而构件 参与依赖关系;都可以 则描述软件设计的物理 被嵌套;都可以有实例;实现,即每个构件体现 都可以参与交互。 了系统设计中特定类的 实现。
37
部署图的例子:
38
构件的分布建模
• 将系统中每个有意义的构件部署到一个给定的结 点上
• 如有必要,可以将同一个构件同时放在多个不同 的结点上
• 构件在结点上的部署
39
嵌入式系统建模
• 识别嵌入式系统中的设备和结点 • 使用构造型结点对处理器和设备建模
• 在部署图中对处理器和设备间的关系进行建模
• 依赖关系(Dependency)
• 在图中,接口和构件之间用实线连接表示实现
关系;而接口和构件之间用虚线箭头连接则表示
依赖关系。
10
8.依赖关系
• 一个构件如果使用另外一个构件的操作,则可
以在该构件和另外一个构件的接口间建立依赖关
系
11
8.依赖关系
• 对象和源码之间
12
8.依赖关系
• 两个构件中的类如果存在泛化关系,则构件间
• 必要时,可以把设备展开,用更详细的部署图对 它的结构进行建模
40
客户-服务器建模
• 识别代表客户和服务器的结点 • 标识出与系统行为有密切关系的设备
• 利用构造型为处理器和设备提供可视化表示
• 在部署图中为这些结点的拓扑结构建模
41
客户-服务器建模
42
实例1:
43
实例2:
44
● 小结
第7章 构件图和部署图