实验8构件图和部署图上机实践
上机实验内容

实验一模型描述在第一个模型里,由一条生产线处理三种物料。
每种物料按正态分布随机到达,之后进入队列等待检验。
检验机1检验物料类别1,检验机2检验物料类别2,检验机3检验物料类别3。
检验之后,物料被输送机运往出口。
整个模型如下图所示:模型数据:物料到达:正态分布N(20,2)队列容量:25检验时间:指数分布l(30)输送机速度:1米/秒物料路线:物料1到检验机1,物料2到检验机2,物料3到检验机3实验二模型描述在第二个模型里,我们使用由两个人组成的一个工作团队来执行检验机的启动程序。
检验机一旦启动,则不在需要操作人员在场。
同时,在启动之前,操作者必须把物料搬运到检验机所在位置。
当物料检验完毕后直接移动到输送机,不再需要操作人员的帮助。
当物料达到输送机的末端时,将被置于一个队列中,之后由叉车送到出口处。
整个模型如下图所示:模型数据:检验机启动时间:10秒产品处理:操作者从队列到检验机,叉车从输送机队列到出口输送机队列容量:10实验三模型描述在模型3中,出口将有3个货架取代,用于产品出厂前的存放。
采用一个表格进行定义,将物料1送到货架2,物料2送到货架3,物料3送到货架1。
再者,使用网络节点设置叉车搬运路线。
整个模型如下图所示:Figure3-1.Model3diagram模型数据:输送机1、2、3将物料输送到输送机队列。
输送队列到货架的路线:采用一个表格定义以下的物料路线——将物料1送到货架2,物料2送到货架3,物料3送到货架1。
设置叉车从输送队列到货架搬运路线的网络节点。
实验4:多产品单阶段制造系统仿真与分析模型描述某工厂加工三种类型产品的过程。
这三类产品分别从工厂其他车间达到该车间。
这个车间有3台机床,每台机床可以加工一种特定的产品类型。
一旦产品在相应的机床上完成加工,所有产品都必须送到一个公用的检验台进行质量检测。
检测合格送往下一个车间,不合格则必须送回相应的机床进行再加工。
问题:检验台能否及时检测加工好的产品,或者检验台是否会空闲,缓存区的大小重要吗?模型数据:产品到达:平均每5秒到达一个产品,到达间隔时间服从指数分布,产品加工:平均加工时间10秒,加工时间服从指数分布。
包图 构件图 与部署图

包图中的关系
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 关于部署图与构件图
部署图与构件图相同的构成元素: 部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、 构件、接口、构件实例、构件向外提供服务、构件要 求外部提供的服务。 求外部提供的服务。 部署图与构件图的关系: 构件图的关系 部署图与构件图的关系: 部署图表现构件实例; 部署图表现构件实例; 构件图表现构件类型的定义。 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态, 部署图偏向于描述构件在节点中运行时的状态,描述了构 件运行的环境; 件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。 构件图偏向于描述构件之间相互依赖支持的基本关系。
《组件图和部署图》PPT课件

C.对物理数据库建模
D.对可适应的系统建模
3.(
)是可复用的,提供明确接口完成特定功能的程序代码块。
A.模块
B.函数
C.用例
D.软件构件
4.组件图展现了一组组件之间的组件和依赖。它专注于系统的(
)实现图。
A.动态
B.静态
C.基础
D.实体
5.(
)是用于把元素组织成组的通用机制。
习题
1.( 实现
)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理
A.部署图
B.类
C.接口
D.组件
2.组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为
四种方式来完成,下面哪种不是其中之一(
)。
A.对源代码建模
B.对事物建模
8.3小结
组件图用于静态建模,是表示组件类型的组织以及各种组 件之间依赖关系的图。组件图通过对组件间依赖关系的描 述来估计对系统组件的修改给系统可能带来的影响。部署 图是用来为面向对象系统的物理实现建模的图。部署图描 述了节点和运行在其上的组件的配置,它用来模拟系统的 静态部署实现。
本章介绍了组件的定义以构成组件的要素,对组件、组件 关系进行了详细的讲解。对使用组件图建模适用领域进行 了说明,并对最为常见的两种场景即可执行程序结构建模、 源代码建模进行了举例说明。还介绍了部署图语义和功能, 通过实例讲解了部署图的应用。
实训报告八:组件图和部署图

《软件工程》――OOSE
学生实训报告
信息技术系软件技术专业076班级
图10.1
(2)在组件视图中,从工具栏中选择MainProgram图标,在右边的绘图区中添加一个
图10.3
图10.5
图10.6
(8)选择业务对象包(BO),双击,打开业务对象包的详细组件图,这里根据分析的结果分别创建Title.java,Item.java,Loan.java,BorrowerInfomation.java,Reservation.java 组件,并设置好每个组件的构型和对应的文件。
创建好的BO包组件图如图10.7。
图10.7
)创建依赖关系。
在本节“关系”一段中,已经描述过依赖关系使用虚线表示,因此根据分析中的结果,在图中将相互依赖的组件连接即可。
完成后的组件图如图10.8
图10.9
)在图中添加分别添加一个Processer和Device,并分别命名为“computer with java
图10.10 (3)为节点添加连接关系。
全图如图10.11。
10.11
机房。
构件图与部署图

45
构件图分类
(1)用户界面层:采用JSP页面实现用户界面。 我们通过构造型《Java Server page》来表示构 件。这一部分的构件,主要由边界类组成。
13
构件图的作用
构件图的基本目的是:使系统人员和开发人 员能够从整体上了解系统的所有物理部件, 同时,也使我们知道如何对构件进行打包, 以便交付给最终客户,最后,构件图显示了 被开发系统所包含的构件之间的依赖关系。
构件图从软件架构的角度来描述一个系统的 主要功能,如系统分成几个子系统,每个子 系统包括哪些类、包和构件,它们之间的关 系以及它们分配到哪些节点上等。
一个构件图可以表示一个系统全部或者部分的构件 体系。从组织内容看,构件图显示软件构件的组织 以及构件之间的依赖关系,包括源代码构件、二进 制代码构件以及可执行构件。
构件图是对OO系统物理方面建模的2个图之一。
9
构件图的概念
构件图主要用于描述各种软件构件之间的依 赖关系,例如,可执行文件和源文件之间的 依赖关系,所设计的系统中的构件的表示法 及这些构件之间的关系构成了构件图。
将整个“在线酒店预订子系统”作为一个构件,考虑 其对外接口。显然它首先需要提供用户界面;其次 还需要与加盟的酒店系统连接,完成预订工作
35
绘制构件图
确定子构件和接口
显然要有一个构件来实现用户界面,一个构件来完 成与酒店系统的连接和预订,另外还应该有一个负 责将用户的需求与酒店的供给进行匹配的“调度程 序”
提供服务
※
※ 售票处需要付款和购买提 供服务
实验八 组件图和部署图及状态图实验报告

青海民族大学物理与电子信息工程学院实验报告实验名称:组件图和部署图及状态图姓名:学号:班级:实验八组件图和部署图及状态图一、实验目的1.理解组件图的基本概念。
2.理解组件图的应用:逻辑部署。
3.理解部署图的基本概念。
4.理解部署图的应用:物理部署。
5.掌握组件图和部署图绘制的方法。
二、实验器材1.计算机一台。
2.Rational Rose 工具软件。
三、实验内容企业进销存系统的分析和设计已按计划完成,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:1.以“仓库管理员将生产的产品放进仓库”的用例为基础创建构件图。
2.一些系统的需求为基础,创建系统的部署图。
四、实验步骤1. 绘制组件图分析:对该用例的流程进行分析,发现包含下列元素。
1.产品类(Products)2.仓库管理员类(Warehouse Manager)3.界面类(Web Interface)4.数据库管理类(Data Manager)5.系统的主程序(Main System)绘图步骤:(1)在组件视图中双击Main图2. 绘制部署图分析:根据系统的物理需求确定系统的节点,①客户机②Web应用服务器③数据库服务器绘图步骤:(2)(1)浏览窗口中选择“Deployment View”,。
(五)实验心得部署图主要是用来说明如何配置系统的软件和硬件。
本学生选课系统由5个节点构成,应用服务器负责整个系统的总体协调工作:数据库负责数据管理;Web 应用程序模块用于学生进行课程查询、选课;业务操作模块用于管理员处理学生选课、课程信息管理等一般的业务流程:学生信息维护模块用于管理员对学生信息的维护,如添加和修改学生信息、添加和修改课程信息等。
状态图一、实验目的1.熟悉状态图的基本功能和使用方法。
2.掌握如何使用建模工具绘制状态图。
二、实验器材1.计算机一台。
2.Rational Rose 工具软件。
三、实验内容通过对前面内容的学习,使我们完成了进销存管理系统的静态模型,构建了分析阶段和设计阶段的类图。
构件图与部署

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

uml建模期末实验总结一、实验目的UML建模是软件工程中非常重要的环节,能够帮助开发人员更好地理解需求,并将其转化为可执行的代码。
本实验旨在培养我们的UML建模能力,并加深对软件工程的理解。
二、实验过程本次实验主要分为以下几个阶段:1. 需求分析:根据老师提供的需求文档,我们小组对需求进行仔细分析,了解其业务逻辑和功能。
在这个阶段,我们主要是通过讨论和问答的方式明确需求,理解用户的需求。
2. 用例设计:根据需求文档,我们对系统的功能进行用例设计,确定了系统的主要功能点和用户应该能够完成的操作。
我们使用UML建模工具绘制了用例图,并对每个用例进行了详细描述。
3. 类图设计:在完成用例设计后,我们开始设计类图。
首先,我们根据用例图确定了系统中的主要对象,并分析了它们之间的关系。
然后,我们使用UML类图来表示这些对象和它们之间的关系。
对于每个类,我们明确了其属性和方法,并标记了可见性和数据类型。
4. 时序图设计:在类图设计完成后,我们开始绘制时序图。
时序图可以帮助我们更好地理解对象之间的交互,并展示他们之间的消息流。
我们为每个用例设计了一张时序图,并标明了对象的生命周期和消息的交互流程。
5. 状态图设计:在时序图设计完成后,我们根据需求对系统中的状态进行了分析,并绘制了状态图。
状态图描述了一个对象在不同状态之间的转换,并标明了转换触发的条件。
6. 构件设计和部署图设计:最后,我们根据需求对系统的组成进行了分析,并设计了构件图和部署图。
构件图描述了系统的组成部分和它们之间的关系,而部署图则展示了系统的物理部署。
三、实验收获通过本次实验,我对UML建模有了更深入的理解,掌握了不少UML建模技巧。
首先,我学会了用例图的设计方法,能够准确地描述系统的功能和用户的操作。
其次,我理解了类图的意义和设计原则,并能够根据需求设计符合规范的类图。
此外,我学会了如何使用时序图来展示对象之间的交互,以及如何使用状态图来描述对象的状态转换。
组件图与部署图

11.1 组件图
组件图用来建模软件的组件及其相互之间的关系。这些图由组 件和组件之间的关系构成。
Credit
Flight
Reservation
<<DLL>>
FightServer
1.组件 组件(构件)是系统中可替换的代码模块。例如下面这些软件 部件都是组件。 •源文件 •ActiveX 控件 •JavaBean •Enterprise JavaBean (EJB) •Java servlet •Java Server Page 在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如 下图所示。
例 建模一个网上扫描系统的部署图。其详细的需求如下所示: • 扫描仪用来扫描产品信息。扫描仪通过内部的PCI总线连接到网 卡。需要编写代码来控制扫描仪,代码驻留在扫描仪内部。 • 扫描仪通过无线网卡与插入到Web服务器KONG的无线hub通信, 服务器通过HTTP协议向客户PC机提供Web页。 • Web服务器安装定制的Web服务器软件,通过专用数据访问组件 与产品数据库交互。 • 在客户的PC机上将提供专用的浏览器软件,它运行产品查询插件, 只与定制的Web服务器通信。
第十一周实验-组件图与部署图
实验目的: -制作任务系统中组件图与部署图 要求: -明确小组分工,每人负责一部分组件图 -使用Rose工具
-每小组提交一份文档
地点:U206
第十一周实验-组件图与部署图 【知识点回顾】
· 什么是组件图
· 什么是部署图
· 如何建模组件图与部署图
为什么要建模组件图和部署图? 组件图用来建模系统的各个组件,包括源代码文件、 二进制文件、脚本文件、可执行文件之间的关系,它们 是通过功能或者文件组织在一起的。使用组件图可以帮 助读者了解某个功能位于软件包的哪一位置,以及各个 版本的软件各包含哪些功能。 部署图用来帮助读者了解软件中的各个组件驻留在 什么硬件位置,以及这些硬件之间的交互关系。 总之,组件图和部署图可以用来帮助设计系立彼此的关系,采用从节点到节点绘制实 线来表示关联。这种关系用来表示两种硬件(节点)通过某种方式 彼此通信。其基本通信关联的版型表示,如下图所示。
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包可能包含其他包或类
描述包及其关系的图 基本元素:包、注释、约束 包可以拥有:类、接口、构件、节点、协作、用例 、子包等元素 一个元素只能属于一个包 包间关系:依赖关系和泛化关系
UML实践学习系列8-用Rose创建部署图

创建部署图(1)2010-07-31 23:01 胡荷芬/张帆/高斐清华大学出版社我要评论(0)字号:T | T综合评级:想读(2)在读(0)已读(0)品书斋鉴(0)已有2人发表书评《UML系统建模基础教程》第12章构件图和部署图,本章主要介绍构件图和部署图的基本概念和在实际中的运用。
本小节为大家介绍创建部署图。
AD:12.2.2 创建部署图(1)在部署图的工具栏中,我们可以使用的工具图标如表12-4所示,该表中包含了所有Rational Rose 2003默认显示的UML模型元素。
同样部署图的图形编辑工具栏也可以进行定制,其方式和在类图中定制类图的图形编辑工具栏的方式一样。
表12 4 部署图的图形编辑工具栏图标在每一个系统模型中只存在一个部署图。
在使用Rational Rose 2003创建系统模型时,就已经创建完毕,即为Deployment View(部署视图)。
如果要访问部署图,在浏览器中双击该部署视图即可。
1. 创建和删除节点如果需要在部署图中增加一个节点,也可以通过工具栏、浏览器或菜单栏三种方式进行添加。
通过部署图的图形编辑工具栏添加一个处理器节点的步骤如下。
(1) 在部署图的图形编辑工具栏中,选择图标,此时光标变为"+"号。
(2) 在部署图的图形编辑区内任意选择一个位置,然后使用鼠标单击左键,系统便在该位置创建一个新的处理器节点,如图12-22所示。
(3) 在处理器节点的名称栏中,输入节点的名称。
使用菜单栏或浏览器添加处理器节点的步骤如下。
(1) 在菜单栏中,选择"Tools"(浏览)下的"Create"(创建)选项,在"Create"(创建)选项中选择"Processor"(处理器),此时光标变为"+"号。
如果使用浏览器,选择Deployment View(部署视图),单击右键,在弹出的快捷菜单中选择"New"(新建)选项下的"Processor"(处理器)选项,此时光标也变为"+"号。
[UNL课件] 第12章 构件图与部署
![[UNL课件] 第12章 构件图与部署](https://img.taocdn.com/s3/m/dcba6243be23482fb4da4c7e.png)
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、用法
– 部署图用于对系统的静态部署视图建模。 – 主要来解决构成物理系统的各组成部分的分布、 提交和安装。 – 使用情况
UML构件图和部署图实验

实验八构件图和部署图
一、实验目的与要求
理解构件、构件图、部署、部署图的概念、作用、组成,绘制图。
二、实验原理
什么是构件?如何表示构件及关系?
部署图的作用?
三、预习与准备
掌握基本的概念及原理。
四、实验内容
以“聊天系统”为例,对客户端进行构件及部署。
(1)确定用户下载客户端,并进入进入登陆功能
(2)聊天构件
(3)添加构件
(4)删除构件
(5)修改构件
(6)退出构件
构图过程:
(1)启动StarUML,在用例模型上新建部署图modle(部署图:聊天系统);
(2)添加部署图工程
(3)添加构件及对象
(4)然后连接组件组件之间的关系
(7)确认是否无误
五、实验过程
user
六、实验总结与体会
在本次试验中,我知道了如何创建构建图和部署图,并且也学到了许多以前没有读到的知识。
总体来说,我到目前为止还是学到了挺多的关于UML方面的知识,虽然我们每一次上课的时候学到的知识并不算多,但是日积月累以后,最后的成果应该来说是颇丰的。
构件图和部署图[系统部署模型]
![构件图和部署图[系统部署模型]](https://img.taocdn.com/s3/m/005d38227375a417866f8f7e.png)
构件组件图和部署图()学习内容¢¢¢构件图和部署图的基本概念使用创建构件图和部署图用部署一个实际的项目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. 部署图的基本概念¢¢部署图()描述了一个系统运行时的硬件结点,以及在这些结点上运行的软件构件将在何处物理地运行,以及它们将如何彼此通信的静态视图。
构件图和部署图

2、子程序规范和子程序体 子程序是一个单独处理元素的包,通常 用它代指一组子程序集。用来显示子程序 的规范和实现体。如图:
3、主程序 是指组织起来以完成一定目的连接单元的 集合,在系统中,肯定有一个文件用来指 定系统的入口,也就是系统程序的根文件, 这个文件被称为主程序。如图:
4、数据库 在Rational Rose中,数据库也被认为是 一种构件
1、处理器 是指那些本身具有计算能力,能够执行各 种软件的节点,如服务器、工作站等这些 具有处理能力的机器。如下图:
处理器通常表示一个硬件设备而不是软件实体
ቤተ መጻሕፍቲ ባይዱ
由于处理器是具有处理能力的机器,所 以在描述处理器方面应当包含了处理器的 调度和进程。 (1)调度 调度是指在处理器处理其进程中为实现一 定的目的而对共同使用的资源进行时间分 配。 有时需要指定该处理器的调度方式,从而 使得处理达到最优或比较优的效果。
关于构件图和部署图
部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、构件要求 外部提供的服务。 部署图与构件图的关系: 部署图表现构件实例; 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态,描述了 构件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。
※ ※ ※ ※
图中实现关系包括: 信用卡付款提供付款服务 票数据库提供购买和状态查询服务 售票处提供预订购买、个人购买和团 体购买服务
部署图例子
实例1 实例层部署图 ※ 实例层部署图描述各节 点和它们之间的连接。
※ 本图中的信息与上张描 述层部署图中的内容是 相互对应的。
※ 图中的关系是各个节点 之间存在的通信关系。
构件图例子
※ 实例1. ※ 图中的构件名称是Dictionary字典。 ※ 该构件向外提供两个接口,即两个服务Spell-check拼写检查、Synonyms同义词。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八构件图和部署图上机实践一、实验目的理解构件图,部署图的涵义和内容了解构件图,部署图的基本功能和使用方法了解如何使用建模工具绘制构件图和部署图的方法二、实验学时:2学时三、实验类型:设计型四、实验平台及实验准备计算机一台;面向对象可视化建模工具Rational Rose 2003或者IBM Rational Rose都可以五、实验内容及步骤实验内容根据简易教务系统已经设计出的逻辑模型,进行构件图和部署图的绘制实验步骤构件图工具箱如下:创建Component框图在Rose中,可以在Component框图中创建Component框图,创建框图后,可以直接在框图中创建组件或将现有组件从浏览器中拖动到框图中。
在浏览器中,Component组件用下列图标显示:要在Component框图中创建Component框图:1.在浏览器中,右单击包含Component框图的包。
2.从弹出菜单选择New>Component Diagram。
3.输人新Component框图名。
或1.选择Browse>Component Diagram,打开Select Component Diagram 窗口。
2.选择所要的包3.从Component Diagram框中选择<New>;并单击OK。
4.输入新Component框图名并单击OK。
要删除Component框图:1.在浏览器中,右单击Component框图。
2.从弹出菜单选择Delete。
或l.选择Browse>Component,打开Select Component Diagram窗口。
2.选择所要的包。
3.选择要删的组件。
4.单击Delete按钮。
增加组件创建Component框图后,下一步要增加组件。
首先创建一般性组件,然后对其指定相应版型。
在Component框图工具栏中,列出了上述图标的按钮。
还可以将文档加进组件中。
文档包括组件用途说明和组件类说明。
和类一样,组件可以包装或组织。
通常.对每个逻辑视图包创建一个组件视图包。
例如,如果逻辑视图包Orders包含Order、OrderItem和OrderForm类,则对应的组件视图包包含Order、OrderItem和OrderForm类的组件。
要增加组件:1.选择工具箱工具栏中的Component。
2.单击框图中要放新组件的位置。
3.输入新组件名。
或1.选择Tools>Create>Component。
2.单击框图中要放新组件的位置。
“3.输入新组件名。
或1.在浏览器中右单击组件所在的包。
2.从弹出菜单选择New>Component。
3.输人新组件名。
要将文档加进组件中:1.右单击所要组件。
2.从弹出菜单选择Open Specification打开组件规范窗口。
3.选择General标签。
4.在Documentation字段中输入文档。
或1.双击所要组件,打开组件规范窗口。
2.选择General标签。
3.在Documentation字段中输入文档。
或1.选择所要组件。
2.选择Browse>Specification,打开组件规范窗口。
3.选择General标签。
4.在Documentation字段中输入文档。
或1.选择所要组件。
2.在Documentation字段中输入文档。
要从框图中删除组件:1.从框图中选择组件。
2.按Delete。
说明:组件从框图中删除,但在浏览器和其他Component框图中仍然存在。
要从模型中删除组件:1.从Component框图中选择组件。
2.选择Edit>Delete from Model按Ctrl+D。
或1.右单击浏览器中的组件。
2.从弹出菜单中选择Delete。
说明:组件从浏览器和所有Component框图中删除。
组件的属性说明如下:General标签:Name(名称)Stereotype(构造型)Language(语言)Documentation(说明)Detail标签:Declarations(声明):声明文本框包含一个声明列表,如类名、变量以及其它一些语言专有特性(#includes或类似的结构)。
Realizes标签Show all Classes:显示所有的类Classes Name:类名Logical Package Name:逻辑包名Language:语言Files标签通过单击快捷菜单中的“Insert File”,可以插入一个新的与构件相关的文件;或者,单击“Insert URL”,将一个新的URL与构件相连接。
类生成类的代码之前,要先将类映射组件。
这个映射能使Rose知道类代码应存放在哪个物理文件中。
每个组件可以对应一个或几个类。
将类映射组件后,组件名会出现在逻辑视图中类后面的括号内,如下所示:要将类映射组件:1.打开所要组件的标准规范窗口。
2.选择Realizes标签,如图10.4。
3.右单击要映射的类。
4.从弹出菜单选择Assign.或1.在浏览器中选择要映射的类。
2.将类拖动到浏览器或框图中所要的组件上。
增加组件依赖性组件之间存在的惟一关系是组件依赖性。
组件依赖性指一个组件依赖于另一组件。
组件依赖性画成组件之间的虚线箭头。
本例中,组件A依赖于组件B。
换句话说,A中的有些类依赖于B中的有些类。
这种组件依赖性在编译时有意义。
本例中,由于A依赖于B.因此要先编译B之后才能编译A。
别人看了这个框图就知道要先编译B之后才能编译A。
和包依赖性一样,要避免循环组件依赖性。
如果A依赖于B,B又依赖于A,则两者都等待对方先编译。
这样,就要把两者当作一个大组件处理。
必须先删除循环依赖性之后才能生成代码。
组件依赖性还有维护意义。
如果A依赖于B,则B中的任何改变均会影响A。
维护人员可以用这个框图评估改变时的影响。
一个组件依赖的组件越多。
就越会受到改变的影响。
最后依赖性还可以确定复用性。
本例中A很难复用,因为A依赖于B,必须复用B才能复用A。
而B则很容易复用,因为它不依赖于任何其他组件。
一个组件依赖的组件越少,复用性越好。
要增加组件依赖性:1.选择工具栏中的Dependency图标。
2.从Client组件向Supplier组件拖动一条依赖性线。
或1.选择Tools>Create>Dependency。
2.从Client组件向Supplier组件拖动一条依赖性线。
要删除组件依赖性:1.选择所要组件依赖性。
2.按Delete键。
或1.选择所要组件依赖性。
2.选择Edit>Delete。
配置图Deployment视图包含处理器、设备、进程和处理器与设备之间的连接。
这一切都显示在Deployment框图上。
每个系统只有一个Deployment框图,因此每个Rose模型只有一个Deployment框图。
·创建和使用Deployment框图·增加处理器·增加设备。
·增加连接·增加处理器Deployment框图Deployment框图显示网络上的所有结点、结点间的连接和每个结点上运行的进程。
图11.1是个Deployment框图的例子。
打开Deployment框图Rose中Deployment框图是在Deployment框图中创建的。
由于只有一个Deployment框图,因此不在浏览器中显示。
要访问Deployment框图,可以使用浏览器。
要打开Deployment框图:1.双击浏览器中的Deployment View字样。
2.Rose打开模型的Deployment框图下面介绍Deployment框图的每个部分。
添加处理器处理器是任何具有处理功能的机器。
服务器、工作站和其他具有处理功能的机器都是处理器。
在UML中,处理器用下列符号显示:要添加处理器:1.选择工具箱中的Processor。
2.单击Deployment框图放上处理器。
3.输入处理器名。
或1.选择Tools>Create>Processor2.单击Deployment框图放上处理器。
3.输入处理器名。
或l.右击浏览器中的Deployment视图。
2.从弹出菜单选择Mew>Processor。
3.输入处理器名。
要将文档加进处理器中:1.右击所需处理器。
2.从弹出菜单选择Open Specification,打开处理器规范窗口。
3.选择General标签。
4.在Documentation字段中输入文档。
或1.双击所需处理器,打开处理器规范窗口。
2.选择General标签。
3.在Documentation字段中输入文档。
或1.选择所需处理器。
2.选择Browse>Specification。
打开处理器规范窗口。
3.选择General标签。
4.在Documentation字段中输入文档。
或1.选择所需处理器。
2.在文档窗口输入文档。
要删除框图中的处理器:1.选择框图中的处理器。
2.按Delete键。
或1.选择框图中的处理器。
2.选择Edit>Delete。
说明:从框图中删除处理器后,它在浏览器中仍然存在。
要从模型中删除处理器:1.选择Deployment框图中的处理器。
2.选择Edit>Delete from Model或按Ctrl+D。
或1.右击浏览器中的处理器。
2.从弹出菜单选择Delete。
说明:Rose从Deployment框图和浏览器中删除处理器。
添加处理器细节在处理器规范窗口中,可以添加处理器版型、特性和计划的信息。
和其他模型元素一样,版型将处理器进行分类。
例如,可能有Unix机和PC机,这两种机型可以分别定义不同版型。
处理器特性是处理器的物理描述。
例如。
它可以包括处理器速度和内存量。
计划字段记录处理器使用的进程计划。
选项包括:Preemptive表示高优先级进程可以抢先于低优先级进程。
Non-Preemptive表示进程没有优先级。
当前进程或执行完毕之后再执行下一进程。
Cyclic表示进程间的控制循环。
每个进程有一定的执行时间,然后将控制传递给下一个进程。
Executive表示用某种计算算法控制计划。
Manual 表示进程由用户进行计划。
要指定版型:1.打开所需处理器的规范窗口。
要将特性加进处理器中:3.选择General标签,如图11.2。
3.在Steretype字段中输入版型。
或l.选择所需处理器。
2.在<<>>中输入版型:<<Name>>。
要将特性加进处理器中:1.打开所需处理器的规范窗口。
2.选择Detail标签,如图11.3。
3.在Characteristics字段中输入特性。
要设置处理器计划:1.打开所需处理器的规范窗口。
2.选择Detail标签。
3.选择下列计划之一:Preemptive、Non-Preemptive、Cyclic、Executive或Manual 要在框图上显示计划:1.右击所需处理器。