构件图与部署图

合集下载

包图 构件图 与部署图

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

08,09构件图和部署图

08,09构件图和部署图
构件图和部署图
1 构件图概要
构件图用于静态建模, 构件图用于静态建模,是表示构件类型的组织以 及各种构件之间依赖关系的图。 及各种构件之间依赖关系的图。 构件:可替换的物理部分,包括软件代码、脚本 构件:可替换的物理部分,包括软件代码、 或命令行文件,也可以表示运行时的对象,文档, 或命令行文件,也可以表示运行时的对象,文档, 数据库等。 数据库等。 构件图通过对构件间依赖关系的描述来估计对系 统构件的修改给系统可能带来的影响。 统构件的修改给系统可能带来的影响。
部署图
1 部署图概要 部署图用于静态建模, 静态建模 部署图用于静态建模,是表示运行时过程节点结 构件实例及其对象结构的图。 构、构件实例及其对象结构的图。 如果含有依赖关系的构件实例放置在不同节点上, 如果含有依赖关系的构件实例放置在不同节点上, 部署视图可以展示出执行过程中的瓶颈。 部署视图可以展示出执行过程中的瓶颈。 部署图的两种表现形式: 部署图的两种表现形式:实例层部署图和描述层 部署图(会在后面的实例中给出 会在后面的实例中给出)。 部署图 会在后面的实例中给出 。
5 关于部署图与构件图
部署图与构件图相同的构成元素: 部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、 构件、接口、构件实例、构件向外提供服务、构件要 求外部提供的服务。 求外部提供的服务。 部署图与构件图的关系: 构件图的关系 部署图与构件图的关系: 部署图表现构件实例; 部署图表现构件实例; 构件图表现构件类型的定义。 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态, 部署图偏向于描述构件在节点中运行时的状态,描述了构 件运行的环境; 件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。 构件图偏向于描述构件之间相互依赖支持的基本关系。

第08章_构件图和部署图下载

第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
绘制构件图
确定子构件和接口
显然要有一个构件来实现用户界面,一个构件来完 成与酒店系统的连接和预订,另外还应该有一个负 责将用户的需求与酒店的供给进行匹配的“调度程 序”
提供服务

※ 售票处需要付款和购买提 供服务

构件图、部署图实验报告

构件图、部署图实验报告

UML建模课程
实验三、UML构件图、部署图模型的设计
班级:信息0702 组别:指导老师:徐凯波姓名:王姗学号:2007030331205
一、实验要求:掌握利用UML建模工具建立状态图和活动图的方法。

二、实验内容:利用UML建模工具设计状态图和活动图
三、实验环境:Windows 2000 Professional以上环境、Rational Rose
2003、Sybase Power Designer 10
四、操作步骤:
(一)构件图
(二)部署图
五、遇到的问题和解决方法:
构件图:本学生选课系统包括:课程信息管理系统、学生信息管理系统、选课记录管理系统。

部署图:部署图主要是用来说明如何配置系统的软件和硬件。

本学生选课系统由5个节点构成,应用服务器负责整个系统的总体协调工作:数据库负责数据管理;Web 应用程序模块用于学生进行课程查询、选课;业务操作模块用于管理员处理学生选课、课程信息管理等一般的业务流程:学生信息维护模块用于管理员对学生信息的维护,如添加和修改学生信息、添加和修改课程信息等。

六、实验心得和体会:
学习本堂课我最大的收获就是端正了我的学习态度,以前的我不喜欢信管专业所涉及的课程,学得不好总是以我不喜欢这个专业,将来我不会从事这项工作为借口,可是现在,我明白了许老师上课经常说的:“你连你应该掌握的知识都学不好,别的课程你也学不好”。

今后我会热爱我所学习的课程、我所
从事的职业。

构件图与部署

构件图与部署

使用菜单栏或浏览器添加构件的步骤如下:01 选择Tools | Create | Component命令,此时光标变为“+”号。如果使用浏览器,可右键单击需要添加的包,在弹出的快捷菜单中选择New | Component命令,此时光标也变为“+”号。 以下的步骤与使用工具栏添加构件的步骤类似,按照前面使用工具栏添加构件的步骤添加即可。
部门 / 时间 / 姓名
1 构件图与部署图的基本概念 1.1 构件的基本概念 在构件图中,将系统中可重用的模块封装为具有可替代性的物理单元,称为构件,它是在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用部件。
虚包是一种只包含对其他包的元素进行引用的构件。
系统是指组织起来以完成一定目的的连接单元的集合,在系统中肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被称为主程序。子程序规范和子程序体是用来显示子程序的规范和实现体。 主程序 子程序规范和子程序体 包规范和包体 任务规范和任务体
在部署图中添加节点之间的连接的步骤如下:
02
单击图标,或者选择Tools | Create | Connection命令,此时的光标变为“↑”符号。
03
单击需要连接的两个节点中的任意一个节点。
04
将连接的线段拖动到另一个节点中即可。
如果要将连接从节点中删除,可以通过以下的步骤进行:
选中该连接。
按Delete键或者单击右键,在弹出的快捷菜单中选择Edit | Delete命令即可。
确定系统构件
可以与确定用例中的类和对象一样,根据用例的流程确定系统的构件。
将系统中的类和接口等映射到构件中 将系统中的类、接口等逻辑元素映射到构件中,一个构件不仅仅包含一个类或接口,也可以包含几个类或接口。

Chapter 08-包图、构件图和部署图

Chapter 08-包图、构件图和部署图

Copyright By Chd.Wang,E-Mail:Chdwang@
20
构件与构件图

构建的分类

按照构件在系统中扮演的角色,分为: 配置构件:组成系统的基础构件,是执行其他构件 的基础平台,如OS、Java虚拟机(JVM)、DBMS等 工作产品构件:开发过程的中间产物,如创建构件 的源代码文件、数据文件等,不直接参与系统运行 执行构件:系统运行时创建的构件,如由DLL实例化 的COM+对象,Servlets、XML文档等

示例理解

Copyright By Chd.Wang,E-Mail:Chdwang@
13
绘制包图

步骤


寻找包 确定包之间的关系 标出包内元素的可见性
最大限度减少包之间的依赖 包封装时,避免包之间的循环依赖 最小化每个包的public、protected元素个数 最大化每个包的private元素个数
构件图分类

简单构件图


个人图书馆管理系统的局部构件图 以构件为单位,系统分为3层 用户界面层 版型<<Java Server Page>>表示由边界类实现的JSP 用户界面 业务逻辑层 版型<<Java Beans>>表示由实体类实现的业务逻辑 数据访问层 所有数据访问操作都封装在一个<<Java Beans>>中 (大型应用封装在EJB中),是JDBC的一个实现
包与包图



一种组合机制,用于模型的逻辑组织 UML包对应于Java包 一个Java包可能包含其他包或类
描述包及其关系的图 基本元素:包、注释、约束 包可以拥有:类、接口、构件、节点、协作、用例 、子包等元素 一个元素只能属于一个包 包间关系:依赖关系和泛化关系

实验5 使用Rational Rose绘制构件图和部署图

实验5  使用Rational Rose绘制构件图和部署图

实验五使用Rational Rose绘制构件图和部署图一、实验目的1.理解构件图的基本概念和应用。

2.理解部署图的基本概念和应用。

3.掌握构件图和部署图绘制的方法。

二、实验内容图书管理系统的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的构件图和部署图。

三、实验步骤1. 绘制构件图:在图书馆管理系统中,通过分析可以发现类图中的类应分为4个部分:1.用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog类等。

2.业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。

3.数据存储模块(DB),主要负责处理对数据的存储。

4.通用工具模块(UTIL),包括系统中通用函数。

通过一个主程序StartClass来启动。

由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建构件图,BO模块中包括Item类:书目类,表示一本实际存在的书籍或杂志Loan类:借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书BorrowerInfomation类:借阅者信息类,表示一个借阅者。

Title类:表示一种书或一种杂志。

如《C++编程思想》就是一种书,用1个title表示,如果有2本这样的书,则需要用2个Item表示。

Reservation类:预定信息类,表示一个预定信息。

Item类和Loan类之间互相依赖,Loan类和BorrowerInfomation类之间互相依赖,BorrowerInfomation类和Reservation类之间互相依赖,Reservation类和Title之间互相依赖,Title和Item类之间互相依赖。

绘图步骤:(1)在构件视图中双击Main图,出现图5.1,为编辑构件图做好准备,其中具体含义可参看本节“补充图标”一段的介绍。

图5.1(2)在构件视图中,从工具栏中选择MainProgram图标,在右边的绘图区中添加一个新构件,并取名StartClass.java表明新增一个主程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
?源代码构件也称为工作产品构件,是开发过程 的产物。如包含源代码或数据的文件、 Web 文 件、文档。
?二进制构件(连接时构件)
?源代码构件编译后产生的目标代码,如静态库 或动态库。
?可执行构件(运行时构件)
?表示处理机上运行的一个可执行单元。数据库 表也可看作运行时使用的构件。
<<file>> <<sifginlael.>h> s{iv{vgeenr rassliio.onhn==33..55}}
? 类A 包含一个类型为B类的属性
public class A { private B alink; ……
}
?系统的设计要尽量避免循环依赖。
这样可以由下向上访问它的构件,每次只考 虑一个构件。
库存控制系统的依赖图
第12章 配置图/部署图
?配置图描述了运行软件的系统中硬件和软件的 物理架构。 ?配置图可以显示计算机节点的拓扑结构和通信 路径、节点上执行的软件构件、硬件设备的配置。 ?配置图中通常包含 2个元素:
② 设备(Device):设备是没有计算能力的节 点,通常情况下都是通过其接口为外部提供 某种服务。
处理器(Processor ) 设备(Device )
?节点属性
?象类一样,可以为一个节点提供属性描述, 如,处理器速度、内存容量、网卡数量等 属性。可以为节点其提供启动、关机等操 作属性 。
2 节点中的配置
? 在UML 中,构件图中依赖关系的表示方法是一个由 客户指向提供者的虚线箭头。
供应者不存在该客户就不能活动,或不能被完整 地定义或实现。
? 通常,当一个构件被修改时,任何依赖于它的 构件可能也必须修改。
? “使用”依赖(没有注明的依赖 )是传递的。
常见的依赖关系 1. 引入源代码
?Java 中, 可以在源文件中引入包
可以清晰地表示出软件的所有源文件之间的关系, 有了这样的构件图,开发者能更好地理解各个 源代码文件之间的依赖关系。
?构件图的基本目的是 :使系统人员和开发人员能够 从整体上了解系统的所有物理构件。
? 同时 ,也使我们知道如何对构件进行打包,以交付 给最终客户。
? 构件图显示了所开发的系统的构件之间的依赖关 系.依赖关系符号 (------>)表示构件之间的关系 .
?配置图可以将节点和构件结合起来,以建 模处理资源和软件实现之间的关系。
?当构件驻留在某个节点时,可以将它建模 在图上该节点的内部。
? 驻留在节点上的构件
对节点内驻留的构件描述
? 可以在节点和构件之 间添加一条表示依赖 关系的虚线箭头,并 使用构造型来表示节 点对构件的包容。
? 构件可以是源代码构件、二进制构件或一 个可执行的构件。
构件图Байду номын сангаас例:供销存管理系统
构件图应用
?对可执行程序建模
可以清晰地表示出各个可执行文件、链接库、数 据库、帮助文件和资源文件等其它可运行的物理 构件之间的关系。
语音呼叫中心程序 callcenter.exe
构件图应用……
? 对源代码进行建模
第11章 构件图(Component Diagrams )
?构件图
?构件图概述 ?构件(组件)的表示和分类 ?构件间的依赖关系
一、 概述
? 构件图描述了软件的各种构件和它们之间 的依赖关系。
? 构件是定义了良好接口的物理实现单元, 是系统中可替换的物理部件。每个构件体 现了系统设计中的特定类的实现 。
矩形,并在左侧加上两个突出的更小的矩形);
? 第三种是直接使用构件图标,但在UML2.0中已经不使 用第三种方法了。
2) 标识接口的构件表示方法也有3种
2. 构件的种类
? 在对软件系统建模的过程中,存在3种类 型的构件:
① 源代码构件 ② 二进制代码构件 ③ 可执行代码构件
?源代码构件(编译时构件)
二、 构件
1. 构件的表示
每个构件定义了 2组接口(一组是供给接口,表明 它能提供的服务,一组是需求接口,表明它需要 的服务 ). 构件本身已经实现了供给接口声明的功能。 表示构件图标的方法有两种:
? 在构件图标中没有标识接口 ? 在构件图标中标识了接口
1) 没有标识接口的构件表示法
? 第一种是表示为标有构造型《component》的矩形; ? 第二种是在矩形的右上角放置一个构件图标(一个小
节点(Node ) 关联(Association )
? 配置图示例:
一、节点
?节点是在运行时代表计算资源的的物理元素。 ?节点通常拥有一些内存,并具有处理能力。 ?在UML中,节点用一个立方体来表示。
1 节点的种类
在实际的建模过程中,可以把节点分为两种类 型:
① 处理器(Processor):处理器是能够执行 软件、具有计算能力的节点。
<<file>> <s{s{<ivivgfgeeninrralasslieli.oc>.onp>cn=pp=4p4..11}}
<<<<ffiille>>>> iirrqq..hh
<<file>> device.cpp
对源代码建模
对可执行文件和库建模
对表、文件和文档建模
三、 依赖关系
? 把提供服务的构件称为提供者,把使用服务的构件 称为客户
<<file>> <s{s{<ivivgfgeeninrraslaslieli.oh>.on>hn==44..00}}
<i<in<n<tftefieirllrpeep.>c>.>p>cppp
<<file>> <s{s{<ivivgfgeeninrrlasaslelii.o>.ohn>hn==44..11}}
?C++中, 在文件中引入头文件
2.编译依赖
源文件和目标文件之间存在着依赖,源文件的任 何改变必须重新编译并生成目标代码。
3. 档案文件和库
(目标文件的集合,包含其他构件的构件,在 java 中为jar 文件)
4. 编译依赖
当一个程序文件改变后,包含此文件的其它 文件都可能需要重新编译。
public class X {
private Y they; ……
}
public class Y {
private X thex; ……
}
? 基于泛化的依赖
从子类到超类存在依赖;超类的改变可能 会影响子类。
? 类A 的操作接口中使用了类B
public class A {
public void anOperation(B theB){ …… } }
相关文档
最新文档