第6章 类图和对象图

合集下载

类图和对象图推荐优秀PPT

类图和对象图推荐优秀PPT

course的 多重性
➢n
关联
关联类(association class)
➢ 关联本身也可以有特性,通过建立关联类可以进一步描述 关联的属性、操作和其他信息。
➢ 通过虚线与关联连接。
改成#,代码如 何修改?
public class Company {
private String companyName; public Person employee[ ]; } public class Person { private String personName; public Company employer; } public class Contract { private Double salary; }
类之间的关系
常见的类之间的关系包括: 关联、聚集、组合、泛化、 依赖、实现.
关联
关联(association)表示类与类之间的关系
链(link)表示的是对象与对象之间的关系,链是关联的实例。
一个关联可以有两个或多个关联端(association end),每个关 联端连接到一个类。
关联可以是单向的uni-directional 或 双向的bi-directional
➢ 描述系统中类之间的各种静态的联系。 类图是一种静态结构图,它描述的是系统的静态结构,而不
是系统的行为。 类之间的静态联系主要类型有:关联、聚合、复合、继承、
依赖等
类的定义
什么是类(class)
具有相似结构、行为和关系的一组对象的描述符
类的组成 类名
属性 操作 UML中,类表示为划分 为三格的矩形
性}] 类是抽象、对象是具体 。
public B theB;
可见性:可访问性 public A() { }

UML类图和对象图

UML类图和对象图

1
OnlineUser
use
Administrator WebSite
2.确定属性和操作 现在我们已经创建好了类和关联,可以开始添加属性和操作 以便提供数据存储和需要的功能来完成系统功能。 在下图中可以看到,表示参与者的类没有显示属性和操作, 这并不意味着它们不存在,而只是表示类图不需要该细节。
最后,为属性和操作提供参数、数据类型和初始值。 如下图所示:
student
Administrator
generates
ReportCard
进一步创建类的关联:增添WebSite类和Logon类
Teacher
view,maintains
contains
Grades
displays
ReportCard
generates
WebSite
grants access to
类的图形表示和示例
在类图中,根据建模的不同景象,类图标中不一定列出全 部的内容。如在建立分析模型或设计模型时,甚至可以只列出 类名,在图中着重表达的是类与类之间的联系;在建立实现 模型时,则应当在类图标中详细给出类的属性和方法等细节。
1. 属性 属性(Attribute)在UML类图标的矩形框中用文字串说 明,如下图所示。
多重性是一个数值或者数值范围,用来指示一个类的几个对 象与另一个类的一个对象相关。如下图所示。
关联的多重性
三、学习如何建模类图 创建类图需要两个反复执行的步骤: 1)确定类及其关联。 2)确定属性和操作。 开始创建类图的好起点就是用例图。如下面成绩管理的用例图 所示。
1.确定类和关联 首先要做的是通过分析用例图确定类及其关联。找到第一批 类,确定它们的内容。 在用例图中,首先确定了Grades类和ReportCard类。接下来, 通过同时使用参与者名称确定附加的类。这时将会确定Teacher类, Student类和Administrator类。 下面检查用例图并且确定各个功能所属的类: 发布报告卡一ReportCard类 记录分数一Grades类 更新分数一Grades类 保存分数一Grades类 加载分数一Grades类 登录一? 查看分数一Grades类 生成报告卡一ReportCard类 首先发现的是登录没有所属的类。可以添加一个Logon类来处 理Logon用例。

类图和对象图

类图和对象图

{ . .. }
参数
MyReferencedClass myFunction2( … ) { . .. }
void myFunction3( … ) { MyReferencedClass m … } }
or 返回类型 or 局部变量
派生属性和派生关联
派生属性(关联)指可以由其他 属性(关联)计算得到的属性, 名字前加”/”.
用户
操作员
管理员
泛化关系
泛化的目的
自顶向下的属性继承。可以使得子类共享父类的属性和操 作,实现继承。
自底向上的实例替换。可以使得子类的实例用于任何父类 被声明使用的地方,实现多态。
继承
Rose中可以看到子类已继承了父类的属性 private、implementation属性不被继承 public、protected属性可被继承
关联
关联角色(role)
关联两端的类可以以某种角色参与关联。 如果在关联上没有标出角色名,则隐含地用类名作为角
色名。 生成代码后会有和角色名相应的属性出现。 自返关联通常必须标明角色。
关联角色 + 表示可见性
关联角色 n 表示多重性
Company +employer #employee Person
monitor
n student
关联
限定关联
在关联端紧靠源类图标处可以有限定符(qualifier),带 有限定符的关联称为受限关联或限定关联。
限定符的作用就是在给定关联一端的一个对象和限定符之 后,可以唯一确定另一端的一个对象或对象集。
受限关联用于一对多或多对多的关联。将目标类的多重性 从“多”降为“一”。
类图和对象图

UML类图对象图两者之间的异同

UML类图对象图两者之间的异同

Person employee
employer Company
Worksfor
❖ 多重性
关联的多重性是指有多少对象可以参与该关联,多重 性可以用来表达一个取值范围、特定值、无限定的 范围或一组离散值。
在UML中,多重性是用数字范围来表示的
每个数字范围是一对由圆点分割开来的整数,如0..9 可用特殊的符号*来表示一个没有上界的范围,也即可以
❖ 接口之间可以存在泛化关系,因此接口实质上和不具有属性 和方法、仅具有抽象操作的抽象类很相似
❖ 与类一样,接口也可以参与泛化、关联、依赖和实现关系
❖ 实现关系将一种元素(如类)与另一种模型元素(如接口) 连接起来,其中接口只是行为的说明而不是结构或实现。
❖ 可用两种方法来表示接口
简化形式。把接口和实现关系画成一个从类伸出 的、且一端带有小圆圈的直线
1
M ailM es s ag e
*
1 Header
1 Body
* Attachment
4、实现关系
❖ 实现关系通常在两种情况下被使用:
① 在接口与实现该接口的类之间
② 在用案以及实现该用案的协作之间。
Hashable * contents
Comp arable
HashTable <<use>>
实现关系(扩展形式)
<<interface>> Comp arable
isEqual(String) : Boolean hash() : Integer
三、类之间的关系
❖ 依赖关系(Dependency) 表示类之间的使用关系
❖ 在UML中,关联关系用一条连接两个类的实现表示。

统一建模语言UML基础专题之类图和对象图资料

统一建模语言UML基础专题之类图和对象图资料

统一建模语言UML基础专题之类图和对象图类图表示不同的实体(人、事物和数据)如何彼此相关,显示了系统的静态结构。

类图可用于表示逻辑类,逻辑类通常就是业务人员所谈及的事物种类,比如摇滚乐队、CD、广播剧,或者贷款、住房抵押、汽车信贷及利率的抽象描述。

类图还可用于表示实现类,实现类就是程序员要编写的类。

实现类图与逻辑类图可能会用来描述一些相同的类。

然而,实现类图与逻辑类图不会使用相同的描述属性。

类图是一个分为三个部分的矩形。

最上面的部分显示类的名称,中间部分显示类的属性,最下面的部分显示类的操作(或者说“方法”)。

实际上,最常用、最简单的类图就是一个在里面显示了类名的长方形,因为在UML中,大多数类只要有一个能够清楚表达的命名就可以了。

在类名部分还可以显示类的构造类型。

类的构造型显示在一对双角括符号“«»”之间,经常放在类的名称上面。

常见的构造类型包括实现类(直接显示类名)、接口(在类名上面显示«interface»),以及工具类(在类名上面显示«utility»)。

如果类名用斜体表示,或者在类名下面标上{abstract},就表示这个类是一个抽象类。

在属性和方法的前面有一个字符用来表示属性或方法的作用域,它们的意义如下:—“-”表示属性或方法是私有的(private);—“#”表示属性或方法是保护的(protected);—“+”表示属性或方法是公用的(public)。

紧接在属性或方法的参数名称的冒号(:)号之后,显示了属性的类型或方法的参数的类型。

方法的返回值类型显示在方法后面的冒号之后。

下图显示了一个类Person的类图,它对应的类的C#源代码如下:Person+name: string+sex: char-age: int+Work(in type: string): void+Person(in name: string, in sex: char, in age: int): void +Speak(): void+Eat(): void类图示意类图示意class Person{public string name;public char sex;private int age;public Person(string name, char sex, int age){}public void Eat(){}public void Speak(){}public void Work(string type){}}对象图用来表示类的实例化对象。

[UNL课件] 第6章 类图与对象图

[UNL课件] 第6章 类图与对象图
?常见软件的关键问题企业管理软件工作流游戏软件控制和游戏引擎等63类图的创建3领域模型相关问题?1为什么需要建立领域模型用例分析方法?只能够分析功能性需求特别适合于交互密集型的需求?对于非功能性需求计算密集型需求显得无力
第6章 用例图
6.1 类图与对象图的基本概念
6.2 类图的组成
6.3 类图的创建概述
– 3. 接口细分
• 接口详述了类或构件的合约而不指定其实现。
6.2 类图的组成
• 一个类或构件可以实现多个接口。---- 供接口
– 如果类或构件正确的实现定义在接口中的操作,那么承诺提 供这组服务的接口,称为供接口(provided interface)。
• 一个类或构件可以依赖很多接口,希望这些服务能够被其
• 1)可见性
– 同属性
• 2)操作名称
– 动词、动词短语。 – 首字母小写(多个单词组合,仅首单词首字母小写).
6.2 类图的组成
– 3. 操作(续)
[可见性] 操作名称 [(参数列表)][:返回值类型] [{属性字符 串}]
• 3)返回值类型
– 返回值的数据类型 – 可以是任意类型(系统中定义的或者自定义的)
6.2 类图的组成
– 2. 属性(续)
• origin • + origin • origin : Point • name : String[0..1] • origin : Point = (0,0) • id : Integer { readonly } 只有属性名
可见性和属性名
属性名和类型 属性名、类型和多重性 属性名、类型和初始值 属性名、类型和特性
• 4)多重性
– 定义属性值的长度
6.2 类图的组成

第6章统一建模语言UML

第6章统一建模语言UML

* 窗口 1 包含 *
列表框
按钮 菜单
*
/
(2)泛化关系

UML中的泛化关系就是通常所说的继承关系,它是 通用元素和具体元素之间的一种分类关系。 在UML中,用一端为空心三角形的连线表示泛化关 系,三角形的顶角紧挨着通用元素。
汽车 车厢
客车 客车车厢 载客
货车 货车车厢 载货
/
(3)依赖关系

/
2.用例
自动售货机系统 售货
顾客
供货
取货款
供货人
收银员
/
2.用例

概括地说,用例具有以下特点:
– 用例代表某些用户可见的功能,实现一个具体的 用户目标。 – 用例由执行者激活,并提供确切的值给执行者。 – 用例可大可小,但它必须是对一个具体的用户目 标实现的完整描述。

注意:用例是一个类,它代表一类功能而不 是使用该功能的某个具体实例。
/
2.UML的表示法
UML由视图、图、模型元素、通用机制和扩展机制 组成。 (1)视图

– UML视图有:静态视图、用例视图、实现视图、部署视图、 状态视图、活动视图、交互视图、模型管理视图8种。
(2)图
– 共五类图:用例图、静态图、行为图、交互图、实现图。
(3)模型元素 (4)通用机制 (5)扩展机制

/
保险单填写 界面 系统内部
保险单
客户
Oracle界面 数据库界面 {abstract}
Sybase界面
6.2.3 构件图和配置图
1.构件图 构件图代表的是实现环境中的软件模块。类 图和包图对软件的逻辑设计建模,而构件图 模拟的是实现视图,是实际的软件模块。 2.配置图 配置图描述处理器、硬件设备和软件构件在 运行时的架构,它显示系统硬件的物理拓扑 结构,以及在此结构上执行的软件。

第六章 类图和对象图

第六章 类图和对象图

Java代码 public class SavingsAccount extends Account {}
3. 类图
3.4.4 实现关系的映射
Shape + Draw ()
Circle - ptCenter : Point - nRadius : int + Draw ()
Rectangle - ptUpperLeft : Point - nWidth : int - nHeight : int + Drarw ()

3.3.3 实现关系

对应于类和接口之间的关系
Shape
UML表示法
+ Draw ()
Circle + Draw ()
Rectangle + Drarw ()
类Circle、Rectangle 实现了接口Shape的 操作
3.3.4 依赖关系
※描述了一个类的变化对依赖于它的类产生影响的情况。有多种表现形式, 例如绑定(bind)、友元(friend)等
第六章 类图和对象图
学习内容

类图和对象图的概念 类图的组成 使用Rose创建类图 对象图 使用Rose创建类图案例分析
类图和对象图的概念
1. 类图的含义 类图(Class diagram)显示了系统的静态结构,而系 统的静态结构构成了系统的概念基础。 类图,就是用于对系统中的各种概念进行建模,并描 绘出它们之间关系的图。 在大多数的 UML 模型中,我们可以将这些概念的类型 概括为以下四种,分别是: (1) 类 (2) 接口 (3) 数据类型 (4) 构件
类图和对象图的概念
4. 对象图在项目开发中的作用

对象图作为系统在某一时刻的快照,是类图中的各个 类在某一个时间点上的实例及其关系的静态写照,可 以通过以下几个方面来说明它的作用: (1)说明复杂的数据结构。对于复杂的数据结构,有时 候很难对其进行抽象成类表达之间的交互关系。使用 对象描绘对象之间的关系可以帮助我们说明复杂的数 据结构某一时刻的快照,从而有助于对复杂数据结构 的抽象。 (2)表示快照中的行为。通过一系列的快照,可以有效 表达事物的行为。

第六章 类图与对象图

第六章 类图与对象图

类——职责
职责是类的契约或责任。当创建一个类时,就声明了这个类的所有 对象具有相同种类的状态和相同种类的行为。在较高的抽象层次上, 这些相应的属性和操作正式要完成类的职责的特征。 类的职责是自由形式的文本,在非正式的类图中,可以将职责列在 类图操作下的另一分割栏中。
接口
接口是一个被命名的操作集合,用于描述类或组件 的一个服务。 接口不包含属性与方法实现,但可以有一些操作。 接口的所有内容都是公有的。 接口代表了一份契约,实现该接口的类元必须履行 它。
对操作名添加下划线修饰表示该属性为静态操作。
类——操作
可见性:同样描述该操作在那些范围内可以使用,与属性的可见性 相同。 参数列表:是一些按照顺序排列的属性定义了操作的输入。例如: OPER(OUT ARG1:INT, ARG2:DOUBLE=3.2) 返回类型即回送调用对象消息的类型。VOID关键字表示无返回值。 特性是对操作性质的约束说明。
对象 链
对象图概述
obj ect Logical View
对象图显示了某一时刻的一组对 象及它们之间的关系。 对象图可以看做是类图的实例, 用来表达各个对象在某一时刻的 状态。对象图中的建模元素主要 有对象和链,对象是类的实例, 链是类之间的关联关系的实例。
+class c1: Loader classNO = 1
s: Time
+class c2: Loader classNO = 2
+monitor stu: Student name = "张三" studenyID = 1001 +contact :ContactInfomation address = " 北京航空航天大学"

UML课后题答案

UML课后题答案

UML课后题答案第6章用例图3. 简答题(1)试述识别用例的方法。

答:识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。

当找到参与者之后,我们就可以根据参与者来确定系统的用例,主要是看各参与者如何使用系统,需要系统提供什么样的服务。

对于这个被选出的用例模型,不仅要做到易于理解,还要做到不同的涉众对于它的理解是一致的(4)请简述为何在系统设计时要使用用例图及其对用户有什么帮助?答:用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。

借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。

第7章类图与对象图3. 简答题(3)简述使用类图和对象图的原因。

答:在面向对象分析方法中,类和对象的图形表示法是关键的建模技术之一。

它们能够有效的对业务领域和软件系统建立可视化的对象模型,使用强大的表达能力来表示出面向对象模型的主要概念。

UML中的类图和对象图显示了系统的静态结构,其中的类、对象是图形元素的基础。

(4)请简要说明类图和对象图的关系和异同。

答:在类中包含三个部分,分别是类名、类的属性和类的操作。

类的名称栏只包含类名。

类的属性栏定义了所有属性的特征。

类中列出了操作类中使用了关联连接,关联中使用名称、角色以及约束等特征定义。

类是一类的对象的抽象,类不存在多重性。

对象包含两个部分:对象的名称和对象的属性。

对象的名称栏包含“对象名:类名”。

对象的属性栏定义了属性的当前值。

对象图中不包含操作内容,因为对属于同一个类的对象,其操作是相同的。

对象使用链进行连接,链中包含名称、角色。

对象可以具有多重性。

类与类之间的主要关系有几种?它们的含义是什么?答:a.泛化关系:泛化是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。

类图和对象图教程-类(Class)、接口(Interface)、协作(collaborat。。。

类图和对象图教程-类(Class)、接口(Interface)、协作(collaborat。。。

类图和对象图教程-类(Class)、接⼝(Interface)、协作(collaborat。

类图的概念 (转)⼀、概述类图(Class Diagram)是描述类、接⼝、协作以及它们之间关系的图,⽤来显⽰系统中各个类的静态结构。

类图是定义其他图的基础,在类图基础上,可以使⽤状态图、协作图、组件图和配置图等进⼀步描述系统其他⽅⾯的特性。

类图包括7个元素:类(Class)、接⼝(Interface)、协作(collaboration)、依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)以及实现关系(Realization)。

⼆、类类定义了⼀组有着状态和⾏为的对象。

其中,属性和关联⽤来描述状态。

属性通常⽤没有⾝份的数据值表⽰,如数字和字符串。

关联则⽤有⾝份的对象之间的关系表⽰。

⾏为由操作来描述,⽅法是操作的实现。

对象的⽣命期则由附加给类的状态机来描述。

1、名称:类的名称是每个类中所必有的构成元素。

2、属性(Attribute)(1)可见性:类中属性的可见性主要包括公有(public)、私有(Private)和受保护(Protected)。

在UML中,公有类型的⽤“+”表达,私有类型⽤“-”表达,⽽受保护类型则⽤“#”表达。

UML的类中不存在默认的可见性,如果没有显⽰任何⼀种符号,就表⽰没有定义该属性的可见性。

(2)属性名:按照UML的约定,单字属性名⼩写。

如果属性名包含多个单词,这些单词要合并,且除了第⼀个单词外其余单词的⾸字母要⼤写。

(3)属性字符串。

属性字符串⽤来指定关于属性的其他信息,例如某个属性应该是永久的。

任何希望添加在属性定义字符串值但⼜没有合适地⽅可以加⼊的规则,都可以放在属性字符串⾥。

(4)类属性。

属性也可以作为⼀个类属属性来定义,这就意味着此属性被该类的所有对象共享。

在类图中,类属性带有⼀条下划线。

3、操作。

类的操作是对类的对象所能做的事务的抽象,相当于⼀个服务的实现。

Rational Rose建模 第6章 类图和对象图

Rational Rose建模 第6章 类图和对象图

类图和对象图的概念
4. 对象图在项目开发中的作用

对象图作为系统在某一时刻的快照,是类图中的各个 类在某一个时间点上的实例及其关系的静态写照,可 以通过以下几个方面来说明它的作用: (1)说明复杂的数据结构。对于复杂的数据结构,有时 候很难对其进行抽象成类表达之间的交互关系。使用 对象描绘对象之间的关系可以帮助我们说明复杂的数 据结构某一时刻的快照,从而有助于对复杂数据结构 的抽象。 (2)表示快照中的行为。通过一系列的快照,可以有效 表达事物的行为。
使用Rose创建类图
1. 创建类
(1)在图形编辑工具栏中, 选择 按钮,此时光标变为 “+”号。 (2)在类图中单击选择任意 一个位置,系统在该位置创 建一个新类。系统产生的默 认名称为“NewClass”。 (3)在类的名称栏中,显示 了当前所有的类的名称,我 们可以选择清单中的现有类, 这样便把在模型中存在的该 类添加到类图中。如果创建 新类,将“NewClass”重新命 名成新的名称即可。
类图的组成
1. 类

类是面向对象系统组织结构的核心。类是对一组具有相同属性、操作、 关系和语义的事物的抽象。 在UML的图形表示中,类的表示法是一个矩形,这个矩形由三个部分 构成,分别是:类的名称(Name)、类的属性(Attribute)和类的操 作(Operation)。
类图的组成

类的名称是每个类的图形中所必须拥有的元素,用于 同其它类进行区分。类的名称通常来自于系统的问题 域,并且尽可能地明确表达要描述的事物,不会造成 类的语义冲突。
类图和对象图的概念


在类图中,具 体来讲它一共 包含了以下几 种模型元素, 分别是:类、 接口、依赖关 系、泛化关系、 关联关系以及 实现关系。 类图可以创建 约束、注释和 包等。

《类图及对象图》PPT课件

《类图及对象图》PPT课件
该操作对外部实体的显现程度. 可见public : + 受限protected: # 私有private : -
17 of 70
5.1.3 类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。
2.操作的格式
[可见性]操作名[(参数列表):返回类型][{特性}]
该操作的输入参数,可以为空. 例如: #create() +hide() -ttachXWindow(xwin:Xwindow)
表示属性值的取值,及有序性: 例如: name:String[0..1]
表示属性”name”可能无值,也 可能仅有一个值.
points:Point[2..* ordered] 表示有两个或多个值,有序
11 of 70
5.1.2 类的属性
1. 属性的含义 属性(attribute): 描述类所表示事物的静态性质。
18 of 70
5.1.3 类的操作
1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。
2.操作的格式
[可见性]操作名[(参数列表):返回类型][{特性}]
该操作的返回值的类型. 例如: +display():Locatein
19 of 70
? 问题4:
1、指出下面操作名的含义。
2.属性的格式 [可见性]属性名[:类型][‘[ ’多重性[次序]‘]’][=初始值][{特性}]
表示属性约束说明: 例如: #visibility:Boolean=false{读写}
表示属性”visibility”可读,写
13 of 70
? 问题3:
1、指出下面属性名的含义。
+studentName:String=“黎明” #studentBirthDay:Date=‘1999-10-21’ -price:float=12.01{R/W}

教程类图和对象图

教程类图和对象图
41
实现关系
▪ 规格说明和其实现之间的关系。 ▪ 客户必须至少支持提供者的所有操作。 ▪ 泛化和实现都可以将一般描述与具体描述联系
起来: ▪ 泛化将同一语义层上的元素连接起来,并且通
常在同一模型内。 ① 实现将不同语义层内的元素连接起来,并且通
常建立在不同的模型内。
42
6.2 类图建模技术
▪ 6.2.1 对简单协作建模 ▪ 6.2.2 对逻辑数据库模式建模 ▪ 6.2.3 正向工程和逆向工程
26
依赖关系
▪ 1. 使用依赖(Usage) ▪ 2. 抽象依赖(Abstraction) ▪ 3. 授权依赖(Permission) ▪ 4. 绑定依赖(Binding)
27
1. 使用依赖
▪ 表示客户使用提供者提供的服务以实现它 的行为,包括:
▪ 使用(《use》) ▪ 调用(《call》) ▪ 参数(《parameter》) ▪ 发送(《send》) ① 实例化(《instantiate》)
4
名称
▪ 应该来自系统的问题域。 ▪ 应该是一个名词,且不应该有前缀或后缀。 ▪ 分为简单名称和路径名称。
5
属性
▪ 描述了类在软件系统中代表的事物(即对象)所 具备的特性。
▪ 类可以有任意数目的属性,也可以没有属性。 ▪ 在UML中,类属性的语法为:
6
属性
▪ 1. 可见性 ▪ 2. 属性名 ▪ 3. 类型 ▪ 4. 初始值 ▪ 5. 属性字符串
43
6.2.1 对简单协作建模
▪ 识别要建模的机制。 ▪ 对每种机制,识别参与协作的类、接口和
其他协作,并识别这些事物之间的关系。 ▪ 用协作的脚本检测事物。 ▪ 把元素和它们的内容聚合在一起。

第6章 类图和对象图

第6章 类图和对象图

(3) 类型
① ② ③ ④ 简单类型: 整型 布尔型 实型 枚举类型 系统中的其他类
(4) 初始值
目的: ① 保护系统的完整性,防止漏掉取值或被非 法的值破坏系统的完整性。 ② 为用户提供易用性。
(5) 属性字符串
指定关于属性的其他信息。 任何希望添加在属性定义字符串值但又没 有合适地方可以加入的规则,都可以放在 属性字符串里。
对象图的作用: ① 有利于表达复杂数据结构的抽象。 ② 可表示快照中的行为。 ③ 有助于记录测试用例及讨论示例。
6.2 类图的组成
类图是由类、接口等模型元素以及它们之间的关 系构成的。 类图用于描述系统的构成方式,而不是系统如何 协助运行的。
6.2.1 类
面向对象系统组织结构的核心。 对一组具有相同属性、操作、关系和语义的对象 的抽象。 包括名称部分(Name)、属性部分(Attribute) 和操作部分(Operation)。
3、类的操作
对类的对象所能做的事务的抽象。 一个类可以有任意数量的操作或者根本没有 操作。 返回类型、名称和参数一起被称为操作签名。 方法是类中操作的实现。 在UML中,类操作的语法为:
操作
1. 2. 3. 4. 5. 可见性 操作名 参数表 返回类型 属性字符串
类的构造型:
是一种可以将类进行划分的依据。 Actor的构造型是Actor,接口的构造型是 Interface。 在Rational Rose2003中的有3中常用的构造型: Boundary Control Entity
Boundary :边界类。位于系统于外界的交界处, 包括所有窗体、报表、打印机和扫描仪等硬件接 口以及其他系统的接口。 Control:控制类。负责协调其他类的工作。通 常其本身并不完成任何功能,其他类也不向其发 送很多消息,而是由控制类以委托负责的形式向 其他类发出消息。控制类有权知道和执行机构的 业务规则,并可以执行其他流和知道在发生错误 时该如何进行处理。 Entity:实体类。实体类中存放永久存储体的信 息,如数据库中的每一个表所对应的类。 允许自己创建构造型。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.1 类图
6.1.2 类的组成
6.1.2.4 类的职责
► 在标准的UML定义中,有时还应当指明类的另一种
信息,那就是类的职责。类的职责指的是对该类的 所有对象所具备的那些相同的属性和操作共同组成 的功能或服务的抽象。 ► 在声明类的职责的时候,可以非正式的在类图的下 方增加一栏,将该类的职责逐条描述出来。 ► 类职责的描述并不是必须的,因此也可以将其作为 文档的形似存在,也就是说类的职责其实只是一段 或多段文本描述。 ► 一个类可以有多种职责,设计得好的类一般至少有 一种职责。
6.3 类图到数据库的转换
6.3.4 完整性与约束验证

UML模型中类与类之间的关系是对现实世界商业规 则的反映,在将类图模型映射为关系数据库时,应 当定义数据库中数据上的约束规则。 ► 如果使用对象标识符的方法映射数据库表的主键, 在更新数据库时就不会出现完整性问题,但是对对 象之间的交互和满足商业规则来说,进行约束验证 是有意义的 。 1. 父表的约束 2. 子表的约束
6.1 类图
6.1.2 类的组成
6.1.2.5 类的约束
► 类的约束指定了该类所要满足的一个或多个规则。
► 在UML中,约束是用一个大括号括起来的文本信息。 ► 在使用Rational
Rose进行表达类与类之间的关联时, 通常会对类使用一些约束条件。如下图所示的是在 “Student”类和“Copy”类之间应当满足的约束。
6.1 类图
6.1.2 类的组成
6.1.2.2 类的属性
► 属性是类的一个特性,也是类的一个组成部分,描
述了在软件系统中所代表的对象具备的静态部分的 公共特征抽象,这些特性是这些的对象所共有的。 ► 在UML中,类的属性的表示语法为([ ]内的内容是 可选的):[可见性] 属性名称 [:属性类型] [=初 始值] [{属性字符串}]。 ► 例如,在“Goods”类中包含两个属性如下图所示。

6.5 绘制类图
6.5.3 类属性的创建
1. 双击类图中的“Borrower ”类, 弹出 “Class Specification for NewClass” 对话框,该对话框 用于对类的各种属性的设置。 2. 点击“Attributes” 选项卡,在 空白窗口区域单击鼠标右键, 在弹出的快捷菜单中选择 “Insert” 命令。 3. 在空白窗口区域出现右图所示 的添加属性编辑列表,在 “Name”属性项上单击,输入 属性名称“userid”;单击 “Type” 类型属性项,输入数 据类型“String”,最后单击 “OK” 按钮。
6.1 类图
6.1.4 类的构造型
► 在Rational
Rose中,包含一些内置构造型,包括 Actor、boundary、Business Actor、Business Document、Business Entity、Business Event、 Business Goal、Business Worker、control、 Domain、entity、Interface、Location、Physical Worker、Resource、Service、Table、View等。 ► 其中Action、boundary、control和entity是比较常用 的构造型。 ► 在用例图中的Actor是构造型为Actor的类,接口是 一种构造型为Interface的类。
6.1 类图
6.1.1 类图的概念
► 在类图中,具体来讲它一共包含了以下几
种模型元素,分别是:类、接口、依赖关 系、泛化关系、关联关系以及实现关系。 ► 类图可以创建约束、注释和包等。
6.1 类图
6.1.1 类图的概念
► 类图的作用是对系统的静态视图进行建模。
当对系统的静态视图进行建模时,通常是以 以下三种方式来使用类图。 1. 为系统的词汇建模。 2. 模型化简单的协作。 3. 模型化逻辑数据库模式。

6.5 绘制类图
6.5.2 类的绘制
我们在“图书管理系统”类图中创建一个名为“Borrower”的借阅者类, 具体步骤如下所示: 1. 在图形编辑工具栏中,选择“ ” 按钮,此时光标变为“+”号。 2. 在类图中单击选择任意一个位置,系统在该位置创建一个新类。系统产 生的默认名称为“NewClass”。 3. 在类的名称栏中,显示了当前所有的类的名称,我们可以选择清单中的 现有类,这样便把在模型中存在的该类添加到类图中。如果创建新类, 将“NewClass”重新命名成新的名称“Borrower”即可。
6.2 类图中的关系
6.2.1 依赖关系
► 依赖关系表示的是两个或多个模型元素之间语义上
的连接关系。它只将模型元素本身连接起来而不需 要用一组实例来表达它的意思。 ► 依赖关系将二个类联系起来,其中一个类会影响另 一个类的行为和实现。
6.2 类图中的关系
6.2.2 泛化关系
► 泛化关系是用来描述类的一般和具体之间的关系。

6.3 类图到数据库的转换
6.3.2 类到表的转换


1. 2. 3. 4.
将UML模型中的类转换(映射)为关系数据库中的表时,类中 的属性可以映射为数据库表中的0个或者多个属性列,但并 非类中所有的属性都需要映射。如果类中的某个属性本身又 是一个对象,则应将其映射为表中的若干列。除此之外,也 可将若干个属性映射为表中的一个属性列。 将类映射为表时,类之间继承关系的不同处理方式会对系统 的设计有不同的影响;在处理类之间的继承关系时,可采用 下面的四种方法。 将所有的类都映射为表 将有属性的类映射为数据库表 子类映射的表中包含超类的属性 超类映射的表中包含子类的属性
6.4 对象图
6.4.3对象图中的链
► 链是两个或多个对象之间的独立连接,是关联的实
例。通过链可以将多个对象连接起来,形成一个有 序列表,称为元组。对象必须是关联中相应位置处 类的直接或间接实例。 ► 在UML中,链的表示形式为一个或多个相连的线或 圆弧。在自身相关联的类中,链是两端指向同一对 象的回路。如下图所示,是链的普通和自身关联的 表示形式。
6.4 对象图
6.4.2 对象图中的对象


对象是类的实例,创建一个对象通常可以从两种情况来观察: 第一种情况是将对象作为一个实体,它在某个时刻有明确的 值;另一种情况是作为一个身份持有者,不同时刻有不同的 值。 对象的表示符号是与类用相同的几何符号作为描述符,但对 象使用带有下划线的实例名将它作为个体区分开来。顶部显 示对象名和类名,并以下划线标识,使用语法是“对象名: 类名”,底部包含属性名和值的列表,如下图所示。
具体描述建立在对类的一般描述的基础之上,并对 其进行了扩展。 ► 因此,在具体描述中不仅包含一般描述中所拥有的 所有特性、成员和关系,而且还包含了具体描述补 充的信息。
6.2 类图中的关系
6.2.3 关联关系
► ► ►
关联关系是一种结构关系,指出了一个事物对象与另一个事 物对象之间的语义上的连接。 关联描述了系统中对象或实例之间的离散连接,它将一个含 有两个或多个有序表的类,在允许复制的情况下连接起来。 一个类关联的任何一个连接点都称为“关联端”,与类有关 的许多信息都附在它的端点上。关联端有名称、角色、可见 性以及多重性等特性。

6.3 类图到数据库的转换
6.3.1 基本映射转换
类图到数据库的基本映射转化包括标识和域两个部分的内容。 1. 标识 实现对象模型的第一步便是处理标识 2. 域 属性类型是UML的术语,它对应于数据库里域的术语。域的 使用不仅仅增强了更加一致的设计,而且便利了应用程序的 可移植性。简单域的实现很简单,只需要定义相应的数据类 型和大小。每个使用了域的属性都必须为其约束加入一条 SQL检查子句。
6.5 绘制类图
6.5.1 类图的绘制
这里以创建一个“图书管理系统”的类图为例,演示创建一 个的类图的具体操作步骤。 1. 右键单击Rational Rose浏览器中的Use Case View(用例视 图)。 2. 在弹出的快捷菜单中,选择“New”(新建)|“Class Diagram” (类图)命令。 3. 在Use Case View(用例视图)下生成的默认名为“New Diagram”的类图,输入新的类图名称“图书管理系统类图”。 4. 双击类图名称,即可打开所创建类图的操作界面。
6.1 类图
6.1.2 类的组成
类是面向对象系统组织结构的核心。类是对一组 具有相同属性、操作、关系和语义的事物的抽象。 ► 在UML的图形表示中,类的表示法是一个矩形, 这个矩形由三个部分构成,分别是:类的名称 (Name)、类的属性(Attribute)和类的操作 (Operation)。

6.1 类图
6.4 对象图
6.4.1 对象图的概念
► 对象图描述系统在某一个特定时间点上的静态结构,
是类图的实例和快照,即类图中的各个类在某一个 时间点上的实例及其关系的静态写照。 ► 对象图中包含对象和链。其中对象是类的特定实例, 链是类之间关系的实例,表示对象之间的特定关系。 ► 对象图所建立的对象模型描述的是某种特定的情况, 而类图所建立的模型描述的是通用的情况。
6.1.2 类的组成
6.1.2.1 类的名称
► 类的名称是每个类的图形中所必须拥有的元素,用
于同其它类进行区分。类的名称通常来自于系统的 问题域,并且尽可能地明确表达要描述的事物,不 会造成类的语义冲突。 ► 按照UML的约定,类的名称的首字母应当大写,如 果类的名称由两个单词组成,那么将这两个单词合 并,第二个单词首字母也大写。类名称的书写字体 也有规范,正体字说明类是可被实例化的,斜体 实现关系
实现关系将一种模型元素(如类)与另一种模型元素(如接 口)连接起来,是说明和其实现之间的关系。 ► 在实现关系中,接口只是行为的说明而不是结构或者实现, 而类中则要包含了其具体的实现内容,可以通过一个或多个 类实现一个接口,但是每个类必须分别实现接口中的操作。 ► 虽然实现关系意味着要有像接口这样的说明元素,它也可以 用一个具体的实现元素来暗示它的说明必须被支持。
相关文档
最新文档