组件图和部署图
- 格式:doc
- 大小:129.50 KB
- 文档页数:4
浅谈UML中常用的几种图1 UML简介2 UML常见图分类3 用况图(用例)4 类图简单类图使用举例5 其他辅助用图●时序图(顺序图)●协作图(Collaboration Diagram/communication Diagram)/通信图●状态图●活动图(Activity Diagram)6 组件图(ComponentDiagram)、配置图(Deployment Diagram)1 UML简介统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
‘UML感兴趣的可以阅读UML 1规范,包含了UML 的所有知识内容。
注:OMG, Object Management Group 对象管理组织2 UML常见图分类UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。
分类:面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。
“序列图”与“协作图”表述的是相似的消息,“活动图”是“状态图”的一种。
•静态结构图Static Structure Diagram•类图Class Diagram•对象图Object Diagram•用况图Use Case Diagram•交互图Interaction Diagram•顺序图Sequence Diagram•协作图Collaboration Diagram•状态图State chart Diagrams•活动图Activity Diagrams•实现图Implementation Diagrams•构件图Component Diagram•部署图Deployment Diagram3 用况图(用例)用例图,展现了一组用例、参与者(actor)以及它们之间的关系。
EA 14种图像以及连线关系一、结构建模1.1 类图类图展示了面向对象系统的构造模块。
描绘了模型或部分模型的静态视图,显示它包含的属性和行为,而不是详细描述操作的功能或完善方法。
类图最常用来表达多个类和接口之间的关系。
泛化(Generalizations),聚合(aggregations)和关联(associations)分别是类之间继承,复合或应用,及连接的表现。
下面的图显示了类之间的聚合关系。
弱聚合(浅色箭头)表现在类 "Account" 使用 "AddressBook",但是不必要包含它的一个实例。
强聚合(图中的黑色箭头)表示了目标类包含源类,例如,"Contact" 和"ContactGroup"值被包含在 "AddressBook"中。
类(Classes)类是定义对象所具有的属性和行为的元素。
行为用类能理解的合适消息和适合每条消息的操作来描述。
类中也可能定义约束,标记值,构造型。
类的标柱(Class Notation)类用矩形表示。
除类的名称外,还可以选择性地显示属性和操作。
分栏分别用来显示类的名称,属性和操作。
在下面图中,类的类名显示在最上面的分栏,它下面的分栏显示详细属性,如:"center" 属性显示初始化的值。
最后面的分栏显示操作,如: setWidth,setLength 和 setPosition 以及他们的参数。
属性和操作名前的标注表示了该属性或操作的可见性: 如果使用 "+"号,这个属性或操作是公共的 ; "-" 号则代表这个属性或操作是私有的。
"#"号是这个属性或操作被定义为保护的," ~" 号代表包的可见性。
接口(Interfaces)接口是实施者同意满足的行为规范,是一种约定。
UML科普⽂,⼀篇⽂章掌握14种UML图前⾔上⼀篇⽂章写了⼀篇建造者模式,其中有⼏个UML类图,有的读者反馈看不懂了,我们今天就来解决⼀哈。
什么是UML?UML是Unified Model Language的缩写,中⽂是统⼀建模语⾔,是由⼀整套图表组成的标准化建模语⾔。
为什么要⽤UML?通过使⽤UML使得在软件开发之前,对整个软件设计有更好的可读性,可理解性,从⽽降低开发风险。
同时,也能⽅便各个开发⼈员之间的交流。
UML提供了极富表达能⼒的建模语⾔,可以让软件开发过程中的不同⼈员分别得到⾃⼰感兴趣的信息。
Page-Jones 在《Fundamental Object-Oriented Design in UML》⼀书中总结了UML的主要⽬的,如下:1. 为⽤户提供现成的、有表现⼒的可视化建模语⾔,以便他们开发和交换有意义的模型。
2. 为核⼼概念提供可扩展性 (Extensibility) 和特殊化 (Specialization) 机制。
3. 独⽴于特定的编程语⾔和开发过程。
4. 为了解建模语⾔提供⼀个正式的基础。
5. ⿎励⾯向对象⼯具市场的发展。
6. ⽀持更⾼层次的开发概念,如协作,框架,模式和组件。
7. 整合最佳的⼯作⽅法 (Best Practices)。
UML图有哪些?UML图分为结构图和⾏为图。
结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。
⾏为图⼜分活动图、⽤例图、状态机图和交互图。
交互图⼜分为序列图、时序图、通讯图、交互概览图。
UML图概览什么是类图?【概念】类图是⼀切⾯向对象⽅法的核⼼建模⼯具。
类图描述了系统中对象的类型以及它们之间存在的各种静态关系。
【⽬的】⽤来表⽰类、接⼝以及它们之间的静态结构和关系。
在类图中,常见的有以下⼏种关系。
泛化(Generalization)【泛化关系】是⼀种继承关系,表⽰⼦类继承⽗类的所有特征和⾏为。
【箭头指向】带三⾓箭头的实线,箭头指向⽗类。
体系结构设计模型的表示方法体系结构设计模型的表示介绍体系结构设计模型是建立软件系统架构的关键步骤之一。
在设计过程中,如何准确地表示和展示系统的架构是十分重要的。
本文将介绍几种常用的体系结构设计模型的表示方法。
1. UMLUML(统一建模语言)是一种常用的软件工程建模语言,用于表示和描述系统的架构。
UML提供了多种图表,如用例图、类图、组件图、部署图等,能够很好地表示系统的结构和关系。
•用例图:用于描述系统功能和用户之间的交互。
•类图:用于描述系统中的类和它们之间的关系。
•组件图:用于描述系统中的模块和它们的依赖关系。
•部署图:用于描述系统的物理架构和部署方案。
2. 架构图架构图是一种更高层次的表示方法,它能够直观地展示系统的组成部分和它们之间的关系。
常见的架构图包括:•静态结构图:用于表示系统的静态组成,如层次结构图、模块图、包图等。
•动态行为图:用于表示系统的动态行为,如时序图、活动图等。
•部署图:用于描述系统的物理架构和部署方案。
3. 代码注释代码注释是一种简单而直接的体系结构表示方法。
通过在代码中添加注释,可以解释和说明代码的结构和设计思路。
代码注释可以采用各种规范和工具,如Javadoc、XML注释等。
4. 文档文档是另一种常用的体系结构表示方法。
通过编写详细的文档,可以描述系统的组成部分、接口细节、设计原理等,从而帮助人们理解和使用系统。
5. 绘图工具绘图工具是一种辅助工具,可以帮助开发人员创建和编辑各种类型的图表。
常见的绘图工具有Visio、Draw.io、Lucidchart等,它们提供了丰富的图形库和编辑功能,能够高效地创建和修改系统架构图。
总结在体系结构设计过程中,合适的表示方法能够更好地帮助开发人员理解和描述系统的架构。
本文介绍了几种常用的体系结构设计模型的表示方法,包括UML、架构图、代码注释、文档和绘图工具。
开发人员可以根据实际需求选择合适的表示方法,从而更好地设计和开发软件系统。
UML中的部署图详解及其在分布式系统中的应用近年来,随着信息技术的飞速发展,分布式系统在各个领域中得到了广泛应用。
而在设计和开发分布式系统时,了解和掌握UML(统一建模语言)中的部署图是非常重要的。
本文将详细介绍UML中的部署图,并探讨其在分布式系统中的应用。
一、UML中的部署图概述部署图是UML中的一种结构图,用于描述系统的物理架构和组件之间的关系。
它展示了系统中的节点(节点可以是硬件设备、服务器、计算机等)以及节点上的组件和连接。
通过部署图,我们可以清晰地了解系统的部署方式和组件之间的交互。
在部署图中,节点由一个方框表示,方框内部可以标识节点的名称和类型。
节点之间的连接线表示节点之间的通信路径,可以是直线或曲线,也可以带有箭头表示方向。
组件则以小方框表示,可以在节点内部或节点之间进行部署。
组件之间的连接线表示组件之间的依赖关系或通信方式。
二、部署图的元素和符号在部署图中,常用的元素和符号有节点、组件、连接线等。
节点可以是物理设备,如服务器、计算机等,也可以是虚拟设备,如虚拟机、容器等。
组件则表示系统中的模块或功能单元,可以是软件组件、库、服务等。
连接线可以是直线或曲线,用于表示节点之间的通信路径。
除了这些基本元素外,部署图还可以使用一些附加符号来增强其表达能力。
例如,可以使用标签来注释节点或组件的特性,如名称、IP地址、端口号等。
还可以使用图标或图形来表示节点的类型或特定功能,如数据库服务器、Web服务器等。
三、部署图在分布式系统中的应用在分布式系统设计中,部署图起着重要的作用。
它可以帮助我们理解系统的整体架构,包括系统的物理拓扑结构、节点之间的通信方式以及组件的部署位置。
通过部署图,我们可以更好地规划和管理分布式系统。
首先,部署图可以帮助我们识别系统中的单点故障。
通过观察部署图,我们可以了解到系统中是否存在单个节点承担过多任务的情况,以及节点之间的依赖关系。
这样,我们可以采取相应的措施,如增加冗余节点、提高节点的可靠性等,以降低系统发生故障的风险。
工资信息管理系统的部署图
部署图是用来显示系统中软件和硬件的物理架构。
从部署图中,可以了解到软件和硬件组件之间的物理关系以及处理结点的组件分布情况。
工资信息管理系统是一个基于局域网(校园网)和数据库的应用系统。
系统的配置图如图所示。
工资信息管理系统的各个部分配置在不同的结点上。
应用程序服务器与数据库通信,数据库服务器向应用程序服务器提供数据库服务。
客户端也按照不同的使用者分别安装在不同的网络结点上。
客户端与服务器不直接通信。
客户端与数据库通信完全靠应用程序服务器作为媒介。
工资信息管理系统是一个客户/服务器结构的分布式结构,数据库服务器和应用程序服务器分别放在人事处的中心计算机上。
系统维护员客户端安装在所有使用该系统的系统维护人员机器上。
工资核算客户端安装在各部门工资核算员的工作计算机上。
人事部门客户端安装在各部门指定的人员专用机上。
实验四 组件图和部署图
一、实验目的
1.理解组件图的基本概念。
2.理解组件图的应用:逻辑部署。
3.理解部署图的基本概念。
4.理解部署图的应用:物理部署。
5.掌握组件图和部署图绘制的方法。
二、实验器材
1.计算机一台。
2.Rational Rose 工具软件。
三、实验内容
TJKD图书管理系统的分析和设计已按计划完成类图和交互图的分析与设计,下一步将
完成系统的组件图和部署图,现系统分析部指派您完成如下任务:
1. 完成系统的组件图。
四、实验步骤
1. 绘制组件图
分析:
在TJKD的图书馆管理系统中,通过分析可以发现类图中的类应分为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图,
(2)在组件视图中,从工具栏中选择MainProgram图标,在右边的绘图区中添加一个
新组件,并取名StartClass.java表明新增一个主程序。
(3)选择新创建的组件,点击鼠标右键,在弹出的菜单中选择“Open Sepcification”,
(4)在对话框中,可以修改组件的名称,设置组件的类型,指定实现的语言。这里新
组件的名称定为“StartClass.java”,组件构型为Main Program(Rose中提供了多种构型,
大部分在补充图标一段中均有简单的介绍),实现语言为JAVA(Rose中默认的是分析
语言Analysis)
(5)组件图描述的是系统的实现视图,因此要指定实现组件功能的文件。点击File选
项卡,在列表框中点击鼠标右键,在弹出的菜单中选择“Insert File”,弹出文件对话框。在
对话框中,键入StartClass.java,点击“打开”按键;
(6)双击StartClass.java,弹出是否创建对话框,询问是否创建文件,选择“YES”,弹
出记事本,这时可输入相应的源程序(注意:如果这里选择的文件已经存在,则不会弹出创
建文件对话框,而是直接显示相应文件内容)。
(7)创建相应的包。选择包图标,在右图中创建。这里同样需要对每个组件打开“Open
Specification”对话框,设置具体的属性,对“包”组件来说需要在Files选项卡中指明
与其对应的目录。绘制的图如下:
(8)选择业务对象包(BO),双击,打开业务对象包的详细组件图,这里根据分析的结
果分别创建Title.java,Item.java,Loan.java,BorrowerInfomation.java,Reservation.java
组件,并设置好每个组件的构型和对应的文件。
(9)创建依赖关系。在本节“关系”一段中,已经描述过依赖关系使用虚线表示,因
此根据分析中的结果,在图中将相互依赖的组件连接即可。完成后的组件图如下图;
2. 绘制部署图
分析:
TJKD的图书管理系统目前开发的是一个单机版系统,其中所有的运算均在一台机器上
完成,但是由于打印报表的需要,系统还应配备一台打印机。因此得出系统中存在2个节点:
① 一台主机,其类型是Processor。
② 一台打印机,其类型是Device。
绘图步骤:
(1)浏览窗口中选择“Deployment View”
(2)在图中添加分别添加一个Processer和Device,并分别命名为“computer with java
support”和“Printer”,
(3)为节点添加连接关系。全图如下图
五、心得体会
对rational rose更加的熟练,了解了更多画图的功能,并进一步熟悉了解组件图和部署图,
熟练使用rational rose绘制组件图和部署图。