UML9种图之类图和对象图的组成

在UML中,类图标识了不同的实体,包括人、事务和数据,以及这些实体之间彼此之间的关联。类图通过系统中的类以及各个类之间的关系来描述系统的静态结构,不仅包含了系统定义的各种类,也包含了它们之间的关系,如关联、依赖和聚合等,这种描述在系统的整个生命周期中都是有效的。对象图用于显示系统中各个类的真实对象实例的位置,描述系统在一个特定时间点上的静态结构,是类图的实例和快照。

类图和对象图之间的联系非常紧密:对象图中包含对象和链,其中对象是类的特定实例,链是类之间关系的实例,表示对象之间的特定关系。同时类图和对象图之间也有本质的不同:对象图描述的是系统的某种特定情况,比如某一个时间点上的系统特征,而类图描述的是系统通用情况下的系统特征。

类图的组成是由类、接口等元素以及它们之间的关系构成,目的在于描述系统的构成方式。

类的组成:类的名称,类的属性,类的操作,类的职责,类的约束,类的注释。

类之间的关系:依赖,泛化,关联,实现。

类是面向对象中系统组织结构的核心。是对一组具有相同属性、操作、关系和语义的事物的抽象。

类的名称有以下几个特性:基本性、明确性、简洁性、规范性、唯一性。

基本性:每个类都必须有自己的名字,可以再查询的时候快速找到需要的类。

明确性:明确类所在系统的问题域,并且尽可能的明确表达要表达的事物,不要造成名字与类的作用不符
合的情况。

简洁性:类名就是一个名词,不带前缀或后缀。

规范性:

1.类的名称的首字母要大写,类的名称如果是两个单词组成,则要合并,且第二个单词的首字母大
   写。

2.可实例化的类名用正体字表示,抽象类用斜体字来表示。

唯一性:类在包中有唯一的名字,包含者也对类的名字有影响,可以使这种表达:Printer(fromOffice),也
可以是Office::printer。

类的名称起好了可以方便开发人员之间的交流,有助于系统的开发。

类的属性:描述了对象所共有的静态部分的公共特征抽象,类可以有零个或多个属性。类的属性也有多个特性:

可见性:描述了属性是否对于其他类能够可见,决定了是否被其他类引用,分为公有类型public,受保护类
      型protected和私有类型private。还有一种是当类处于一个包中的时候的Implementation类型,只有
      在包中可见。

属性名称:也有自己唯一必须的名称,以区别于其他属性。由属性的特性名词或名词短语构成。名称的第
一个字母小写,当多个单词合并时除了第一个英文单词外,其余单词的首字母大写。

属性类型:类的属性可以是任意的类型,包括系统中定义的其他类型。

属性的初始值:用来保护系统的完整性,更方便用户的使用。

属性字符串:指定关于属性的一些附加信息。

类的操作操作是指类所能执行的动作,描述了软件系统中所代表的对象具备的动态部分的公共特征抽象。用于操纵属性的值进行改变或执行其他动作。类可以有零个或多个操作,且只能作用于该类的对象,由一个返回类型、一个名称以及参数表来描述,这三样组成操作签名,描述了这个动作所必须的信息。类的操作也有自己的特性:

可见性:同属性。

操作名称:同属性。

参数表:由类型、标识符对组成的序列,实际上是操作或方法被调用是接受传递过来的参数值得变量。采用“名
称:类型”表示,多个参数用逗号隔开。方法没有参数,则参数表是空的。参数可以有默认值,由系统
指定。

返回类型:指定了由操作返回的数据类型,可以使任意有效的数据类型,包括创建的类型。如果没有返回值,则
  加void关键字,熟悉编程语言C的应该不会陌生,就是关键字return,后面跟着主函数中要求的数据
  类型。

属性字符串:同属性。

类的职责:对该类的所有对象所具备的相同的属性和操作共同组成的功能该或服务的抽象,对类的功能和作用的非形似化描述。这不是必须的一段或多段文本描述。

类的约束:指定了该类索要满足的一个或多个原则,用大括号括起来的文本信息。

类的注释:添加更多的描述信息,也是为类提供更多描述方式的一种。

接口是一种特殊的类,是在没有给出对象的实现和状态的情况下对对象行为的描述。通常接口包括一系列的操作,但是不包括属性,且对外界没有可见的关联,因此一个拥有良好接口的类具有清晰的边界。

明白了这些,再遇上用UML来分析系统的时候就可以做到对类图画法的胸有成竹,更能体会到Rational Rose和UML结合的强大。

下一篇将对类之间的关系进行总结,从宏观上对类之间的关系进行分类。

时间: 2024-11-05 12:14:32

UML9种图之类图和对象图的组成的相关文章

UML9种图

UML图包括九种:用例图.类图.对象图.状态图.时序图.协作图.活动图.组件图.配置图. [记忆技巧] 静态图:部队负包累成狗!     静态-部队(对)负(复)包累(类)成狗(构) (部署图,对象图,复合结构图,包图,类图,构建图) 动态图:制定交通,顺桩活用 (想象汽车考试倒桩)     动态-制定交通,顺桩(状)活用(制品图,定时图,交互概观图,通信图,顺序图,状态图,活动图,用例图) 类图:类图展示了一组类.接口和协作及它们间的关系,在建模中所建立的最常见的图就是类图.用类图说明系统的静

UML9种图的画法

UML是一种建模语言,是系统建模的标准.我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: 开发人员如何与用户进行沟通来了解系统的需求? 开发人员之间如何沟通以确保各个部门能够无缝地协作? 而UML是我们在构造个特种模型时首选的一种建模工具,去描述系统的需求和设计,在对复杂的工程进行建模时,系统可由单一的图形来描述,但是单一图形不可能包含一个大系统所需的所有信息,更不可能描述系统的整体结构功能,这样一来就几乎不能用单一图形来建模了,而UML能从不同的角度

UML9种图中的序列图和协作图

序列图 序列图是系统动态模型中的一种交互视图,描述了执行系统功能的各个角色之间相互传递消息的顺序,侧重于强调时间顺序,从一定程度上更加详细地描述了用例的需求. 在面向动态行为进行建模时,通过描述一组相关联.彼此相互作用的对象之间的动作序列和配合关系,以及这些对象之间传递.接受的消息来描述系统为实现自身的某个功能而展开的一组动态行为.在面向控制流进行建模时,可以针对一个用例.一个业务操作过程.系统操作过程.整个系统.重点在于消息在系统内如何按照时间顺序被发送.接受和处理的. 序列图的作用: 1. 

Python 金融数据可视化(两列数据的提取//分别画//双坐标轴//双图//两种不同的图)

import matplotlib as mpl import numpy as np import matplotlib.pyplot as plt np.random.seed(2000) y = np.random.standard_normal((20,2)) # print(y) ''' 不同的求和 print(y.cumsum()) print(y.sum(axis=0)) print(y.cumsum(axis=0)) ''' # 绘图 plt.figure(figsize=(7,

UML建模之 - 类图&时序图

简介 简介 UML是面向对象开发中一种通用的图形化建模语言 UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类.类和类之间的关联.类的实例相互配合实现系统的动态行为等 UML建模工具 Rational Rose : 是直接从UML发展而诞生的设计工具,常用建模工具 Power Designer : 是对数据库建模而发展起来的一种数据库建模工具 Microsoft Visio :是一种画图工具,Visio 2010才开始引入UML建模,不是很专业 Star UML : 开源轻

matlab画一个局部放大的图中图(总结再总结)

转自http://blog.sina.com.cn/s/blog_4d7c97a00101i7k5.html 照旧感谢原作者,分享者们,阿门! 以下三种方法,szlqq345喜欢用第一种的. 第一种:magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图,这个方法不错 用法:打开figure图,输入magnify,左键动态选取查看,ctrl+左键固化,也可右键固化,‘<’和‘>’缩放方法范围,‘+’和‘-’缩放放大比例 原帖:http://ww

详解UML图之类图 (转)

原址: https://www.jianshu.com/p/4cd95d4ddb59 2.  怎么画类图?用什么工具? 使用工具:Visio或者processon在线作图 在类图中一共包含了以下几种模型元素,分别是:类(Class).接口(Interface)以及类之间的关系. 2.1 类(Class) 在面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象. 2.2 接口(Interface) 接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承).在UML中,

php验证码+缩略图+饼状图+五环图

@1.验证码 1 captcher.php 2 header('Content-type:image/png'); 3 session_start(); 4 $img = imagecreate(100, 30); 5 $captcha = array( 6 'a', 'b', 'c', 'd', 'e', 'f', 7 'g', 'h', 'i', 'j', 'k', 'l', 8 'm', 'n', 'o', 'p', 'q', 'r', 9 's', 't', 'u', 'v', 'w',

银光甘特图/日历图/排程控件GTP.NET for Silverlight详细介绍

GTP.NET for Silverlight是Silverlight下的控件包,提供了交互式的甘特图以及日程安排图,达到时间上可视化和交互,控件完全分发免费.方案网作为PlexityHide在中国的核心代理商,为客户提供优质的客服和技术支持.                          具体功能: 提供了丰富的用户界面直接运行于Silverlight插件下 使用Silverlight开发,达到了跨平台的目的,包括Apple Machintosh和 Microsoft Windows 提供

C# 绘制统计图(柱状图, 折线图, 扇形图)

统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, 而统计图形的绘制方法也有很多, 有Flash制作的统计图形, 有水晶报表生成统计图形, 有专门制图软件制作, 也有编程语言自己制作的:这里我们用就C# 制作三款最经典的统计图: 柱状图, 折线图和扇形图:既然是统计, 当然需要数据, 这里演示的数据存于Sql Server2000中, 三款统计图形都是动态生成. 其中柱状图我会附上制作步骤, 其他两款统计图直接附源码. 说明: 需求不一样, 统计图形绘制后的显示效果也不一样, 比如这里柱状图