第7章构件图和部署图

合集下载

10讲 包图 构件图和部署图

10讲 包图 构件图和部署图

包图的定义
包图和包 在UML中创建包图的目的有以下三个: 1. 在逻辑上把一个复杂的系统模块化 2. 组织源代码 3. 描述需求高阶概况 4. 描述设计的高阶概况
包的组成
名称
在UML中,包的标准形式是使用两个矩形进行表示的,一个小 矩形和一个大矩形,小矩形紧连结在大矩形的左上角上,包的名称 位于大矩形的中间 包的名称是一个字符串,它有两种形式:简单名和路径名。其 中,简单名仅包含一个名称字符串;路径名是以包处于的外围包的 名字作为前缀并加上名称字符串,如下图所示。
软件系统体系结构建模——包图
• 2、系统业务对象层
系统服务接口界面包:起承上启下的作用,设置用 户窗口与系统各种实现具体功能的接口界面的连接
业务对象管理包:根据用户窗口接口界面的要求, 实施对系统的业务对象的有效管理
外部业务对象包:对过去系统遗留下来的有使用价 值部分进行包装 实际业务对象包:形成能实现系统功能的实际的业 务对象集,包括系统新创建的业务和外部业务对象
系统体系结构设计 数据结构设计 用户界面设计 算法设计
系统体系结构概述
• 系统体系结构用来描述系统各部分的结构、 接口以及它们用于通信的机制。 • 系统体系结构建模首先要建立基本的模型, 并把这些模型映射到系统需要的硬件单元 上。
系统体系结构概述
• 体系结构设计过程中的主要活动:
系统分解:将系统分解为若干个相互作用的子系统 模块分解:将子系统进一步划分为模块
包图中的关系
泛化关系
泛化关系表示了事物的一般和特殊的关系。如果二个 包之间存在有泛化关系,就是指其中的特殊性包必须遵 循一般性包的接口。包之间的泛化联系与类之间的泛化 关系十分类似,类之间的泛化的概念和表示在此大都可 以使用如下图所示。

包图 构件图 与部署图

包图 构件图 与部署图
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

系统分析与设计课后习题答案

系统分析与设计课后习题答案

第一章1.什么是系统?信息系统一般具有那些特性?答:系统是一组为实现某些结果相互联系相互作用的部件的集合。

1.可分解性2.边界性2.从应用范围来看,信息系统可以分为哪些类型?答:1.事物处理系统2.管理信息系统3.智能支持决策系统4.办公自动化系统3.信息系统中典型的关联人员有哪些?他们的角色是什么?答:系统所有者(通常是中层或者高层经理,对于小型系统来说,可能是中层经理或者主管)、用户、分析设计人员(都代表信息系统的技术专家角色)、外部服务者(业务顾问和系统顾问等)以及项目经理(团队的领导者)4.请解释系统内部用户和外部用户的区别是什么?答:内部系统用户主要是指系统实际操作人员,这些人员往往专注于信息系统的处理速度和处理事务的正确性。

外部系统用户主要是指系统的直接或者间接使用人员,所有这些外部系统用户最关注的是使用系统的服务操作是否简单易学,方便操作。

5.什么是模型驱动分析?为什么要使用此方法?举例说明。

答:模型驱动分析法强调绘制图形化系统模型来记录和验证现有的或建议的系统。

系统模型最终将成为设计和构造一个改进系统的蓝图。

结构化分析、信息工程和面向对象分析都是基于模型驱动的分析方法。

6.什么是系统开发生存周期?在项目启动阶段涉及的主要活动有哪些?答:开发一个完整的系统项目总会经历“目标、计划、分析、设计、实现、维护”这样的过程或步骤,这就是系统开发的生存周期(系统项目启动、业务需求分析、详细系统设计、系统实现与维护)。

启动阶段的主要涉及5个活动:定义问题域、制定项目的进度表、确认项目的可行性、安排项目人员、启动项目。

7.为什么引入系统原型开发方法?它的优缺点是什么?答:采用最经济的方法,尽快设计出一个可以实际运行的系统原型。

优点:提高了用户参与的主动性;系统开放周期短;能更好的适应需求的变化并减少误解,能有效的提高最终系统的质量,特别是用户接受性,为保证将系统提供给用户使用奠定了基础。

缺点:1.系统分析和功能设计贯穿于整个开发过程中,使得系统的总体结构变得不明确;2.原型选取的不确定性可能降低系统开放速度;3.对原型进行分析设计时,依然沿袭结构化方法,自顶向下模块化的设计思想,数据和功能相互分离的缺陷在原型法中依然存在,不利于软件构件的重用;4.开发过程中不断引入用户需求的变化,造成了系统开发的不确定性。

《组件图和部署图》PPT课件

《组件图和部署图》PPT课件
在UML1.x中,节点被划分为两种类型:处理器(processor)和设 备(device)。处理器(Processor)是能够执行软件组件、具有计 算能力的节点。设备(Device)是不能执行软件组件的外围硬件, 没有计算能力的节点,通常是通过其接口为外界提供某种服务,例 如打印机、扫描仪等都是设备。尽管这种区分并没有在UML1.x 中 形式化,但是它很有用。
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

T7构件图和部署图.ppt

部署图——部署图的要素
连接
连接表示两个结点之间的物理连接关系,用直线表示,在连接 上可以加多重性、角色、约束等。
部署图示例
部署图示例
部署图示例
总结
构件图的作用是什么? 什么叫构件,构件有哪几种类型,构件怎么表示? 部署图的作用是什么?
构件图 部署图
本章目标
构件图——构件
构件的概念
构件(component):是一个相对独立的可装配的物理块,一 般作为一个独立的文件存在。
构件具有确定的接口,相互之间可以调用,构件之间存在依赖 关系。
构件图——构件
构件的类型
《源代码件》:源程序文件块. 《执行件》:编译的结果,可投入运行。 《文件》:信息的存储体。 《库》:可以是类库、动态链接库、数据库等。 《表》:表示数据库中的数据表。 《文档》:泛指形成的所有文字材料。
第七章
构件图和部署图
回顾
1:在状态图中可以表示的概念有( ).(多选) A 动作 B 事件 C 转移 D 用例
回顾
2:如果要对一个企业的工作流程建模,下面四个图中( ) 是最有用的。 A 交互图 B 活动图 C 状态图 D 类图
回顾
3:下面说法错误的是: A 状态可以用来描述涉及多个用例的对象的行为 B 一些高级的状态图可以用来描述多个对象之间的关系 C 活动图可以用来描述企业中的业务流程 D 活动图可以用来描述多个用例间多个对象间的行为
构件图——构件
构件的表示
在UML中,构件通过以下形式来表示:
构件图
构件图(component diagram):描述构件及其相互 关系的图。构件之间是依赖关系。
构件图的作用
1:对源代码文件之间的相互关系建模
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
25
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章 构件图和部署图
相关文档
最新文档