实验八构件图和部署图上机实践一、实验目的理解构件图,部署图的涵义和内容了解构件图,部署图的基本功能和使用方法了解如何使用建模工具绘制构件图和部署图的方法二、实验学时: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.右击所需处理器。