实验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命令即可。
确定系统构件
可以与确定用例中的类和对象一样,根据用例的流程确定系统的构件。
将系统中的类和接口等映射到构件中 将系统中的类、接口等逻辑元素映射到构件中,一个构件不仅仅包含一个类或接口,也可以包含几个类或接口。
- 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.右击所需处理器。