UML实践详细经典教程

合集下载

UML软件建模实验指导书

UML软件建模实验指导书

UML软件建模实验指导书计算机工程学院目录实验一UML用例图和类图 (3)实验二UML序列图和协作图 (29)实验三UML活动图的设计和实现 (42)实验四UML构件图和部署图 (53)实验一UML用例图和类图一、实验题目学校的网上选课系统的用例图和类图二、实验目的1、能够根据系统的功能分析系统的用例组成,正确确定用例图中的角色。

2、能够分析系统的用例、活动者以及它们之间的关系。

3、根据对系统的分析,准确确定相应的类,确定类的属性和操作,正确分析属性和操作的可继承性4、使用Rose软件能正确画出用例图,并说明每一个用例的事件流。

正确使用Rose软件定义类和类的关系和画出完整的类图。

三、实验要求1、根据需求文档确定每一个用例的名称、参与执行者(活动者)、前置条件、主事件流、辅事件流和后置事件流。

2、能从一类单一的对象中抽象出类的定义,并依据实际要求,设计类的属性和操作。

3、能对现实世界中的对象存在各种各样的关系,分析出这些关系,主要有:继承关系;类之间的关联。

并能在类图中反映这些关系。

四、实验内容学校的网上选课系统的用例图和类图的设计和实现五、用例图1、用例图设计实例介绍学校的网上选课系统的用例图的设计和实现2、需求学校的网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。

学生通过客户机浏览器,根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。

同样,通过业务层,这些操作结果存入数据库中。

3、分析本系统涉及的用户包括管理员(Registrar)和学生(student),他们是用例图中的活动者,他们的主要特征相似,都具有姓名和学号等信息,所以可以抽象出“基”活动者People,而Registrar和 Student则从People统一派生。

数据库管理系统是另外一个活动者。

4、事件流下面是系统中出现的一些事件流。

UML面向对象建模 -Rose实验教程

UML面向对象建模 -Rose实验教程
二、访问主Use Case框图 Rose 有个精彩的 Use Case 框图 Main(默认)。要访问主 Use Case 框图,做法如下: 1、单击浏览器中 Use Case 视图旁边的“+”将其打开。 2、出现主 Use Case 框图。注意 Rose 中的 Use Case 框图左边有如下图标: 3、双击主框图将其打开。可以看到 Rose 的主窗口的标题栏变成了“Use Case Diag面有四个视图:Use Case View、Logical View、 Component View 和 Deployment View。利用浏览器可以浏览每个视图的模型元素并进行操作, 例如移动、编程、增加、删除、更名等等。
文档窗口用于建档 Rose 模型元素,例如,为每个角色写一个简要定义。将文档加进类 中时,文档窗口输入的一切都显示为所产生的代码的说明语句,从而可以减少以后系统代码 的说明语句的输入工作。文档还会在 Rose 产生的报表中出现。从浏览器或框图窗口中选择 不同的元素时,文档窗口会自动更新显示。
实验资料: 可视化建模和 Rational Rose 在软件开发过程的几个阶段很有用。在项目开始阶段,Rose 可以产生业务模型、使用案例模型。在细化和构造阶段,Rose 可以开发活动框图,显示事 件流程。Sequence 框图和 Collaboration 框图显示要开发的对象,及其相互间的交互。Rose 开发的类框图显示对象间的相互关系。组件框图显示系统组件间的相关性,并可以产生系统 的框架代码。 在构造阶段,Rose 可以将新开发代码逆向转出工程代码到模型中,将开发阶段出现的 变化反映在模型中。构造之后,进入交接阶段,Rose 主要用于在软件产品完成时更新模型。 实验指导: 实验 1.1 了解 Rose 屏幕组件 下图显示了 Rose 界面的各个部分。

UML组件图和部署图实践课件

UML组件图和部署图实践课件

实验十、十一组件图和部署图一、实验目的1.理解组件图的基本概念。

2.理解组件图的应用:逻辑部署。

3.理解部署图的基本概念。

4.理解部署图的应用:物理部署。

5.掌握组件图和部署图绘制的方法。

二、实验器材1.计算机一台。

2.Rational Rose 工具软件。

三、实验内容某图书管理系统的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:完成系统的组件图。

四、实验步骤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图,出现图10.1,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示,其中具体含义可参看本节“补充图标”一段的介绍。

UML类图详细教程(共109张)

UML类图详细教程(共109张)
第26页,共109页。
类的自反(zì fǎn)关联
第27页,共109页。
关联的导航性 导航性表明类的关联方向(fāngxiàng)。如下图所示。
第28页,共109页。
关联和属性
在类关联和类属性之间存在精密的联系。源类和目标类之间的关联意味着 源类的对象能够承载(chéngzài)到目标类对象的引用。如下图所示。
第41页,共109页。
进一步创建类的关联(guānlián):
增添WebSite类和Logon类
Teacher
view,maintains
contains
Grades
ReportCard
displays
WebSite
generates
OnlineUser
grants access to
view
Logon
性指定默认值,如下图所示。
第11页,共109页。
属性多重性:
多重性为可选项,它表达该类的每个实例的属性值的个数。可以像应用于类 之间的关系(guān xì)中那样把多重性应用于属性。例如,Student类具有属性
Grades。不希望该属性只包含单个值,而是希望它包含该学生的所有成绩,
可以是任意多个。
第3页,共109页。
二、UML类图中的符号(fúhào)
(一)类
类(Class)在UML中通常以实线矩形框表示,矩形框中含有若 干分隔框,分别包含类的名字、属性、操作、约束以及其他成 分等,如下图所示。
类的图形表示和示例
第4页,共109页。
在类图中,根据建模的不同景象,类图标中不一定列出全部的内容。 如在建立分析模型或设计模型时,甚至可以只列出类名,在图中着重 表达的是类与类之间的联系;在建立实现(shíxiàn) 模型时,则应当在类图标中详细给出类的属性和方法等细节。

软件工程项目实践教程 第四版 项目2 UML和Rational Rose建模实践指南

软件工程项目实践教程 第四版 项目2 UML和Rational Rose建模实践指南
了解对象图和包图建模方法; 掌握时序图和协作图建模方法; 掌握状态图和活动图建模方法; 了解组件图和配置图建模方法; 结合案例——网络教学系统,用 Rose能实现面向对象的建模。
项目二 2.1 UML和Rose建模概述
3
• UML的中文含意是统一建模语言(Unified Modeling Language) ,它是一种通用的可视化的建模语言,用于对软件系统进 行描述、可视化处理及构造和建立软件系统的工作文档。 UML包括语义概念、表示法和指导规范,提供了静态、动 态、系统环境及组织结构的模型。
2. 安装步骤
• 首先打开Rose的压缩包,再双击启动IBM Rational Rose 2007的 Setup.exe程序,安装过程开始, 然后依照安装程序向导的提示操作 即可。
项目二 2.1.3 Rational Rose的使用
10
• Rose是菜单驱动式的建模工具,可以通过Rose界面的 工具栏使用其常用功能,Rose共支持8种不同类型的 UML图:
项目二 UML和Rational Rose建模实践指南
1
学习内容
2.1 UML和Rational Rose建模概述 2.2 用例图建模方法 2.3 类图和对象图建模方法 2.4 用Rose设计动态模型 2.5 组件图和配置图
项目二 UML和Rational Rose建模实践指南
2
本章 要点
掌握Rose安装和使用方法; 掌握用例图建模方法; 掌握类图的基本概念及类图建模 方法;
Diagram)
项目二 2.1.3 Rational Rose的使用
11
1.Rose主界面介绍
• 完成系统安装后,我们就可以用Rose建立软件模型了。启动Rational Rose的 作法是:单击【开始】|【程序】,打开【程序】菜单,找到【IBM Rational 】后,运行【IBM Rational Rose Enterprise Edition】,出现IBM Rational Rose 2007的引导界面,然后,弹出的是如下图2-13所示的“新建模型”对话框。 这个对话框用来设置本次启动的初始动作,分为New(新建模型)、Existing (打开现有模型)、Recent(最近打开模型)3个选项卡。

UML2.0详细教程

UML2.0详细教程
1.7 UML语法描述 语法描述
类 是对一组具有相同属性、相同操 作、相同关系和相同语义的对象 的描述
NewClass
节点
是在运行时存在的物理元素 它由在特定语境中共同完成一定 任务的一组对象间交换的消息组 成 它描述了一个对象或一个交互在 生命期内响应事件所经历的状态 序列
NewPro cessor
包:把元素组织成组的机制
注释事物: UML模型的解释部分,用来对模型中的元素进行说明,解释 注释事物
注解:对元素进行约束或解释的简单符号 注解
UML
-5-
1. 前言
1.4 UML关系 关系
1.4.1依赖 依赖
依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化, 会影响到另一个事物(依赖事物)的语义
UML2.0 详细教程
UML
-1-
目录
1. 前言
1.1前言 前言 1.2UML概述 概述 1.3UML事物 事物 1.4UML关系 关系 1.5各UML图及特征 各 图及特征 1.6各UML图的关系 各 图的关系 1.7UML语法 语法 1.8习题 习题
2. 用例图
2.1用例图概要 用例图概要 2.2用例图中的事物及解释 用例图中的事物及解释 2.3用例图中的关系及解释 用例图中的关系及解释 2.4例子 例子 2.5习题 习题
1.5.8 构件图 构件图(Component Diagram)
※ 构件图为系统的构件建模型—构件即构造应 用的软件单元—还包括各构件之间的依赖关 系,以便通过这些依赖关系来估计对系统构 件的修改给系统可能带来的影响
UML
- 10 -
1. 前言
1.5 各UML图及特征 图及特征

第13章UML项目实训

第13章UML项目实训

13.2 项目需求分析
13.2.1 需求获取
这里要开发的打击游戏属于自己开发产品, 因此需要系统分析员组织项目组成员进行 系统的需求分析 具体的需求可以参考市面上流行的这些小 游戏,根据它们提供的功能特点,游戏特 色,吸引玩家的地方等等 在项目组全体成员的共同努力下,尽量多 的挖掘出系统的需求
13.2 项目需求分析
13.2 项目需求分析
13.2.2 需求描述
事件流:
1.玩家启动游戏,进入游戏界面; 2.玩家点击开始按钮,游戏开始; 3.定时器在界面的某个位置放置一张图片 4.规定时间内,点击图片,图片消失,玩家得分; 5.系统显示玩家的分数; 6.循环3~4; 7.当玩家分数达到一个规定的值时,玩家晋级,显示玩家
13.3 使用UML进行系统设计
13.3.2 系统对象分析
被选对象: ➢系统:System ➢图片:Picture ➢棋盘:Board ➢定时器:Timer ➢级别:GameLevel ➢分数:Score
13.3 使用UML进行系统设计
13.3.2 系统对象分析
玩家要想开始游戏,就需要给发一个开始消 息
从事件流描述中找出所有可能的对象: ➢界面:游戏的界面 ➢图片:打击游戏界面上显示的图片 ➢分数:游戏玩家在玩游戏中赢得的分数 ➢级别:游戏的难度等级,玩家获得的分数 达到一定值,游戏晋级 ➢定时器:控制游戏界面中图片的显示时间
13.3 使用UML进行系统设计
13.3.1 系统备选对象
进一步分析可能还有以下对象: ➢棋盘:游戏界面中的显示图片的区域, 被划分成3行4列共12个单元格,每个单 元格中可以显示图片 ➢系统:控制和管理游戏中的系统事件
displayPic()
Board

最新UML实践学习系列6-用Rose创建对象图

最新UML实践学习系列6-用Rose创建对象图

对象图的组成2010-07-31 23:01 胡荷芬/张帆/高斐清华大学出版社我要评论(0)字号:T | T综合评级:想读(2)在读(0)已读(0)品书斋鉴(0)已有2人发表书评《UML系统建模基础教程》第7章类图与对象图L,本章主要介绍UML类图和对象图的基本概念、图形的表示方法以及如何使用Rational Rose来创建这两类图形。

本小节为大家介绍对象图的组成。

AD:7.4 对象图前面对对象图的概念做了一些基本的介绍,下面将介绍对象图的基本组成元素以及如何创建对象图。

7.4.1 对象图的组成对象图(Object Diagram)是由对象(Object)和链(Link)组成的。

对象图的目的在于描述系统中参与交互的各个对象在某一时刻是如何运行的。

1. 对象(Object)对象是类的实例,创建一个对象通常可以从两种情况来观察。

第一种情况是将对象作为一个实体,它在某个时刻有明确的值;另一种情况是将对象作为一个身份持有者,不同时刻有不同的值。

一个对象在系统的某一个时刻应当有其自身的状态,通常这个状态使用属性的赋值或分布式系统中的位置来描述,对象通过链和其他对象相联系。

对象可以通过声明的方式拥有唯一的句柄引用,句柄可标识对象,提供对对象的访问,代表了对象拥有唯一的身份。

对象通过唯一的身份与其他对象相联系,彼此交换消息。

对象不仅可以是一个类的直接实例,如果执行环境允许多重类元,则可以是多个类的直接实例。

对象也拥有直属和继承操作,可以调用对象执行任何直属类的完整描述中的任何操作。

对象也可以作为变量和参数的值,变量和参数的类型被声明为与对象相同的类或该对象直属类的一个祖先,它的存在可简化编程语言的完整性。

对象在某一时刻,其属性都是有相关赋值的,在对象的完整描述中,每一个属性都有一个属性槽,即每一个属性在它的直属类和每一个祖先类中都进行了声明。

当对象的实例化和初始化完成后,每个槽中都有了一个值,它是所声明的属性类型的一个实例。

UML实践学习系列8-用Rose创建部署图

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"(处理器)选项,此时光标也变为"+"号。

UML类图教程

UML类图教程

UML类图教程:理解、设计和构建软件系统UML类图是一种在软件开发过程中用于描述系统结构的静态结构图。

它显示了类、属性、操作以及对象之间的关系。

以下是关于如何绘制UML类图的详细教程:一、UML类表示法在UML中,类表示封装状态(属性)和行为(操作)的概念。

类图中的每个类都包含一个类名、属性(成员变量)和操作(成员方法)。

下面是一个简单的Java类的UML表示法示例:public class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}对应的UML类图表示法如下:Class Diagram: Person Class+name: String+age: int#constructors: Person(String name, int age) [e2e], Person(String name, int age) -> e2e [e2e]#getters: getName() [e2e], setName(String name) [e2e]#setters: setAge(int age) [e2e]在类图中,类名通常使用“+”表示公共、"-"表示私有或"#"表示受保护的访问修饰符来表示。

属性使用"+"表示公共、"-"表示私有或"#"表示受保护的访问修饰符,而操作使用同样的修饰符或使用"()"表示方法。

UML实战指南

UML实战指南

UML实战指南目录第一章概述 (1)1.1 UML1.X (1)第二章模型图分类 (2)2.1 静态模型 (2)2.2 行为模型 (2)第三章技术要点 (3)3.1 类图 (3)3.1.1 表示 (3)3.1.2 关系 (3)3.2 对象图 (4)3.2.1 表示 (4)3.2.2 关系 (4)3.3 构件图 (4)3.3.1 概述 (4)3.3.2 表示 (5)3.3.3 接口 (5)3.3.4 关系 (6)3.4 配置图 (6)3.4.1 概述 (6)3.4.2 表示 (6)3.4.3 元素 (6)3.5 用例图 (6)3.5.1 概述 (6)3.5.2 表示 (7)3.5.3 关系 (8)3.5.4 误区 (8)3.6 时序图 (9)3.6.1 概述 (9)3.6.2 元素 (9)3.6.3 表示 (9)3.6.4 消息 (9)3.7 协作图 (10)3.7.1 概述 (10)3.7.2 元素 (10)3.7.3 表示 (11)3.8 状态图 (11)3.8.1 概述 (11)3.8.2 表示 (12)3.9 活动图 (12)3.9.1 概述 (12)3.9.2 元素 (12)3.9.3 表示 (13)第一章概述1.1UML1.X表1:UML1.x 模型第二章模型图分类2.1静态模型表2:静态模型2.2行为模型表3:行为模型第三章技术要点3.1类图3.1.1表示图1:类图3.1.2关系表4:类间关系及表示3.2.1表示图2:对象图3.2.2关系3.3构件图3.3.1概述组件图描述了软件的各种组件和它们之间的依赖关系。

组件图中通常包含3种元素:组件(Component)、接口(Interface)和依赖(Dependency)。

每个组件实现一些接口,并使用另一些接口。

图3:构件图3.3.3接口接口和组件之间的关系分为两种:实现关系(Realization)和依赖关系(Dependency)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下面是一个顾客从零售商处预定商品的模型的类图。中心的类是 Order。连接它的是购买货 物的 Customer 和 Payment。Payment 有三种形式:Cash,Check,或者 Credit。订单包括 OrderDetails(line item),每个这种类都连着 Item。
UML 类的符号是一个被划分成三块的方框:类名,属性,和操作。抽象类的名字,像 Payment 是斜体的。类之间的关系是连接线。 类图有三种关系。 •关联 association-表示两种类的实例间的关系。如果一个类的实例必须要用另一个类的实 例才能完成工作时就要用关联。在图中,关联用两个类之间的连线表示。 •聚合 aggregation-当一个类属于一个容器是的一种特殊关系。聚合用一个带菱形的连线, 菱形指向具有整体性质的类。在我们的图里,Order 是 OrderDetails 的容器。 •泛化 generalization-一个指向以其他类作为超类的继承连线。泛化关系用一个三角形指向 超类。Payment 是 Cash,Check 和 Credit 的超类。 一个关联有两个尾端。每个尾端可以有一个角色名 role name 来说明关联的作用。比如,一 个 OrderDetail 实例是一个 Order 实例的项目。 关联上的方向性 navigability 箭头表示该关联传递或查询的方向。OrderDetail 类可以查询他 的 Item,但不可以反过来查询。箭头方向同样可以告诉你哪个类拥有这个关联的实现;也 就是,OrderDetail 拥有 Item。没有方向性的箭头的关联是双向。 关联尾端的数字表示该关联另一边的一个实例可以对应的数字端的实例的格数,通过这种方 式表达关联的多样性 multiplicity。多样性的数字可以是一个单独的数字或者是一个数字的范 围。在例子中,每个 Order 只有一个 Customer,但一个 Customer 可以有任意多个 Order。
活动图可以被分解成许多对象泳道 swimlanes ,可以决定哪些对象负责那些活动。每个活动 都有一个单独的转移 transition 连接这其他的活动。
转移可能分支 branch 成两个以上的互斥的转移。保护表达式(在[]中)表示转移是从一个分 支中引出的。分支以及分支结束时的合并 merge 在图中用菱形表示。
面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象 出。许多建模工具封装了 UML(也就是 Unified Modeling Language™),这篇课程的目的是展 示出 UML 的精彩之处。
UML 中有九种建模的图标,即:
•用例图 •类图 •对象图 •顺序图 •协作图 •状态图 •活动图 •组件图 •配置图 本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题, 测试一下你对这个部分的理解。
物理上的硬件使用节点 nodes 表示。每个组件属于一个节点。组件用左上角带有两个小矩形 的矩形表示。
状态是用圆角矩形来表示的。转移则是使用带箭头的连线表示。触发转移的事件或者条件写 在箭头的旁边。我们的图上有两个自转移。一个是在 Getting SSN,另一个则在上 Getting PIN。 初始状态(黑色圆圈)是开始动作的虚拟开始。结束状态也是动作的虚拟结束。 事件或条件触发动作时用(/动作)表示。当进入 Validating 状态时,对象并不等外部事件触 发转移。取而代之,它产生一个动作。动作的结果决定了下一步的状态。 活动图 活动图 activity diagram 是一个很特别的流程图。活动图和状态图之间是有关系的。状态图把 焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程。活动图告诉了我 们活动之间的依赖关系。 对我们的例子来说,我们使用如下的过程。 “通过 ATM 来取钱。” 这个活动有三个类 Customer, ATM 和 Bank。整个过程从黑色圆圈开始到黑白的同心圆结束。 活动用圆角矩形表示。
对象拥有行为和状态。对象的状态是由对象当前的行动和条件决定的。状态图 statechart diagram 显示出了对象可能的状态以及由状态改变而导致的转移。 我们的模型例图建立了一个银行的在线登录系统。登录过程包括输入合法的密码和个人账号, 再提交给系统验证信息。 登录系统可以被划分为四种不重叠的状态:Getting SSN, Getting PIN, Validating, 以及 Rejecting。每个状态都有一套完整的转移 transitions 来决定状态的顺序。
对象图 Object diagrams 用来表示类的实例。他们在解释复杂关系的细小问题时(特别是递 归关系时)很有用。
这个类图示一个大学的 Department 可以包括其他很多的 Departments。
这个对象图示上面类图的实例。用了很多具体的例子。 UML 中实例名带有下划线。只要意思清楚,类或实例名可以在对象图中被省略。
转移也可以分解 fork 成两个以上的并行活动。分解以及分解结束时的线程结合 join 在图中 用粗黑线表示
组件与配置图
组件 component 是代码模块。组件图是是类图的物理实现。
配置图 Deployment diagrams 则是显示软件及硬件的配置。
下面的配置图说明了与房地产事务有关的软件及硬件组件的关系。
类 Classes 是对象的“蓝图”。一个类在一个单独的实体中封装了属性(数据)和行为(方法 或函数)。对象是类的实例 instances。
用例图
用例图 Use case diagrams 描述了作为一个外部的观察者的视角对系统的印象。强调这个系统 是什么而不是这个系统怎么工作。
用例图与情节紧紧相关的。情节 scenario 是指当某个人与系统进行互动时发生的情况。下面 是一个医院门诊部的情节。 “一个病人打电话给门诊部预约一年一次的身体检查。接待员找出在预约记录本上找出最近 的没有预约过的时间,并记上那个时间的预约记录。” 用例 Use case 是为了完成一个工作或者达到一个目的的一系列情节的总和。角色 actor 是发 动与这个工作有关的事件的人或者事情。角色简单的扮演着人或者对象的作用。下面的图是 一 个 门 诊 部 Make Appointment 用 例 。 角 色 是 病 人 。 角 色 与 用 例 的 联 系 是 通 讯 联 系 communication association(或简称通讯 communication)
UML 被应用到面向对象的问题的解决上。想要学习 UML 必须熟悉面向对象解决问题的根本 原则――都是从模型的建造开始的。一个模型 model 就是根本问题的抽象。域 domain 就是 问题所处的真实世界。
模型是由对象 objects 组成的,它们之间通过相互发送消息 messages 来相互作用的。记住把 一个对象想象成“活着的”。对象有他们知道的事(属性 attributes)和他们可以做的事(行 为或操作 behaviors or operations)。对象的属性的值决定了它的状态 state。
协作图 协作图也是互动的图表。他们像序列图一样也传递相同的信息,但他们不关心什么时候消息 被传递,只关心对象的角色。在序列图中,对象的角色放在上面而消息则是连接线。
对象角色矩形上标有类或对象名(或者都有)。类名前面有个冒号(:)。 协作图的每个消息都有一个序列号。顶层消息的数字是 1。同一个等级的消息(也就是同一 个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀 1,2 等等。 状态图
为了简单地表示出复杂的类图,可以把类组合成包 packages。一个包是 UML 上有逻辑关系 的元件的集合。下面这个图是是一个把类组合成包的一个商业模型。
dependencies 关系。如果另一个的包 B 改变可能会导致一个包 A 改变,则包 A 依赖包 B。
包是用一个在上方带有小标签的矩形表示的。包名写在标签上或者在矩形里面。点化线箭头 表示依赖
每个类图的矩形对应了一个单独的实例。实例名称中所强调的 UML 图表。类或实例的名称 可能是省略对象图表只要图的意义仍然是明确的。 顺序图 类图和对象图是静态模型的视图。交互图是动态的。他们描述了对象间的交互作用。 顺序图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了 在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线 表示,当对象的过程处于激活状态时,生命线是一个双道线。 消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到 下排列。
为什么 UML 很重要?
为了回答这个问题,我们看看建筑行业。设计师设计出房子。施工人员使用这个设计来建造 房子。建筑越复杂,设计师和施工人员之间的交流就越重要。蓝图就成为了这个行业中的设 计师和施工人员的必修课。
写软件就好像建造建筑物一样。系统越复杂,参与编写与配置软件的人员之间的交流也就越 重要。在过去十年里 UML 就成为分析师,设计师和程序员之间的“建筑蓝图”。现在它已经 成为了软件行业的一部分了。UML 提供了分析师,设计师和程序员之间在软件设计时的通 用语言。
角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线。 一个用例图是角色,用例,和它们之间的联系的集合。我们已经把 Make Appointment 作为 一个含有四个角色和四个用例的图的一部分。注意一个单独的用例可以有多个角色。
用例图在三个领域很有作用。 •决定特征(需求)。当系统已经分析好并且设计成型时,新的用例产生新的需求 •客户通讯。使用用例图很容易表示开发者与客户之间的联系。 •产生测试用例。一个用例的情节可能产生这些情节的一批测试用例。 类图 类图 Class diagram 通过显示出系统的类以及这些类之间的关系来表示系统。类图是静态的 -它们显示出什么可以产生影响但不会告诉你什么时候产生影响。
下面这个表给出了最普遍的多样性示例。
多样性 0..1 0..* or * 1 1..*
相关文档
最新文档