首页 > 其他分享 >uml面向对象建模

uml面向对象建模

时间:2023-12-07 19:15:56浏览次数:35  
标签:关系 泛化 对象 聚集 元素 建模 关联 面向对象 uml

一:概念

(1)定义

对象模型表示静态的、结构化的系统的数据性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。对象模型为建立动态模型和功能模型,提供了实质性的框架。

 

(2)工具

使用UML(统一建模语言)提供的类图来建立对象模型。在UML中,类的实际含义是一个类及属于该类的对象

 

具体来说,UML提供了以下13种图

 

用例图:从用户角度描述系统功能。

类图:描述系统中类的静态结构。

对象图:系统中的多个对象在某一时刻的状态。

状态图:是描述状态到状态控制流,常用于动态特性建模

活动图:描述了业务实现用例的工作流程

顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互

协作图:描述对象之间的协助关系

构件图:一种特殊的UML图来描述系统的静态实现视图

部署图:定义系统中软硬件的物理体系结构

包图:对构成系统的模型元素进行分组整理的图

组合结构图:表示类或者构建内部结构的图

交互概览图:用活动图来表示多个交互之间的控制关系的图

二:类图的基本符号

(1)定义类

A:表示

UML中类的图形符号为长方形,用两条横线把长方形分上、中、下3个区域,3个区域分别放类的名字、属性和服务

B:命名规则

类名应该是富于描述的、简洁的而且无二义性的

使用标准术语,不要随意创造名字

使用具有确切含义的名词,不要使用空洞或含义模糊的词作名字

必要时可用名词短语作名字,有时也可以加入形容词

(2)定义属性

具体格式为

可见性:有公有的(+)、私有的(-)和保护的(#)

类型名:表示该属性的数据类型

赋值:在创建类的实例时应给其他属性赋值,如果给某个属性定义了初值,则该初值可作为创建实例时这个属性的默认值

性质串:明确地列出该属性所有可能取值,用逗号隔开

(3)定义服务

具体格式为

 

 

可见性:有公有的(+)、私有的(-)和保护的(#)

参数表:用逗号隔开不同参数,每个参数语法为 “参数名:类型名=默认值”

三:表示关系的符号

类与类之间通常具有以下四种关系

 

(1)关联

A:定义

关联表示两个类的对象之间存在某种语义上的联系

 

B:关联的角色

在任何关联中都会涉及参与此关联的对象所扮演的角色,在某些情况下显式标明角色名有助于别人理解类

 

如果没有显式标出角色名,则意味着用类名作为角色名

C:普通关联

①:定义

普通关联是最常见的关联关系,只要在类与类之间存在连接关系就可以用普通关联表示

 

②:表示

第一,普通关联的图示符号是连接两个类之间的直线,如下图

第二,关联是双向的,可为关联起一个名字。在名字前面(或后面)加一个表示关联方向的黑三角

第三,在表示关联的直线两端可以写上重数,它表示该类有多少个对象与对方的一个对象连接。未明确标出关联的重数,则默认重数是1

 

 

D:限定关联

①:定义

限定关联通常用在一对多或多对多的关联关系中,可以把模型中的重数从一对多变成一对一, 或从多对多简化成多对一

 

②:表示

在类图中把限定词放在关联关系末端的一个小方框内。

 

利用限定词“文件名”表示了目录与文件之间的关系,利用限定词把一对多关系简化成了一对一关系

③:意义

限定提高了语义精确性,增强了查询能力

 

E:关联类

①:定义

为了说明关联的性质,可能需要一些附加信息。关联类可以用来记录相关信息

 

②:表示

关联类通过一条虚线与关联连接

 

 

关联中的每个连接与关联类的一个对象相联系

(2)聚集(它是关联的特例)

聚集(聚合)是关联的特例。表示类与类之间的关系是整体与部分的关系。在陈述需求时使用的**“包含”、“组成”、“分为…部分”**等字句,往往意味着存在聚集关系。除了一般聚集之外,还有两种特殊的聚集关系,分别是共享聚集和组合聚集

 

A:共享聚集

如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚集

 

一般聚集和共享聚集的图示符号,都是在表示关联关系的直线末端紧挨着整体类的地方画一个空心菱形

B:组合聚集

如果部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失, 则该聚集称为组合聚集(组成)

 

组成关系用实心菱形示例

(3)泛化(本质就是继承)

UML中的泛化关系就是继承关系,它是通用元素和具体元素之间的一种分类关系。具体元素完全拥有通用元素的信息,并且还可以附加一些其他信息。在UML中,用一端为空心三角形的连线表示泛化关系,三角形的顶角紧挨着通用元素

 

A:普通泛化

①:抽象类

没有具体对象的类称为抽象类。抽象类通常都有抽象操作,来指定该类的所有子类应具有哪些行为

 

表示抽象类是在类名下方附加一个标记值{abstract},表示抽象操作是在操作标记后面跟随一个性质串{abstract}

②:具体类

具体类有自己的对象,并且该类的操作都有具体的实现方法

B:受限泛化

①:定义

可以给泛化关系附加约束条件,以进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化

 

②:约束

预定义的约束有4种(都是语义约束)

 

多重:一个子类可以同时多次继承同一个上层基类

 

不相交:一个子类不能多次继承同一个基类。-般的继承都是不相交继承

 

完全:父类的所有子类都已在类图中穷举出来了

 

不完全:父类的子类并没有都穷举出来,随着对问题理解的深入,可不断补充和维护。是默认的继承关系

 

(4)依赖和细化

A:依赖关系

依赖关系描述两个模型元素之间的语义连接关系:其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变了,将影响依赖于它的模型元素

 

在UML类图中用带箭头的虚线连接有依赖关系的两个类,箭头指向独立的类。在虚线上可以带一个版类标签,具体说明依赖的种类

B:细化关系

对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系

 

细化的图示符号为由元素B指向元素A的一端为空心三角形的虚线

 

标签:关系,泛化,对象,聚集,元素,建模,关联,面向对象,uml
From: https://www.cnblogs.com/laobing6214/p/17883729.html

相关文章

  • UML的九种图
               这9种图形工具分别是用例图、类图、对象图、活动图、状态图、序列图、协作图、构件图、部署图。              1、用例图是用来描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以......
  • UML九种图汇总
    1、类图概述类图(ClassDiagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图不仅用于可视化描述和记录系统的不同方面,也为构建可执行代码的软件应用程序。类图描述一......
  • UML
    1.用例图用于描述软件系统的功能需求和参与者之间的交互。图中用椭圆表示用例(系统功能),参与者用图标表示。箭头表示交互。这种图表有助于捕捉系统的基本行为,帮助开发人员和利益相关者理解系统的功能,从而更好地规划和设计软件系统。 2.类图通过矩形表......
  • 面向对象建模
    一、UML的概述UML是一种定义良好、易于表达、功能强大、普遍适用的建模语言。作为大众所接受的标准建模语言,UML融入了软件工程领域的新思想、新方法、新技术。UML的作用域,不仅支持面向对象的分析与设计,而且支持从需求分析开始的软件开发的全过程。二、UML的特点和用途UML对系统......
  • UML知识
    UML类图用例图(usecase)静态结构图:类图、对象图、包图、组件图、部署图动态行为图:交互图(时序图与协作图)、状态图、活动图类图是描述类与类之间的关系的,是UML图中最核心的UML类图用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。类之间的关系: 依赖......
  • UML建模:深入理解软件设计的语言
    统一建模语言(UnifiedModelingLanguage,简称UML)是一种用于软件开发和系统设计的标准建模语言。它提供了一套图形化的工具,帮助软件开发者更好地理解、设计和交流复杂系统。在本文中,我们将深入探讨UML建模的重要性、主要图表类型以及如何有效应用UML来提高软件开发过程的质量。UML......
  • uml
    UML分静态图和动态图两种,其中常用的静态图5种,动态图4种。常用的静态图:用例图、类图、包图、对象图、部署图常用的动态图:顺序图,通信图(UML1.x时称为协作图),状态机图,活动图用例图用例图是编写需求说明时经常用到的需求表达方式,用于向开发、测试同事说明需求中用户与系统功能单元......
  • 面向对象建模语言UML
    自从面向对象编程语言在软件开发中成为主流之后,遵循面向对象技术特点的软件设计工作,也一并发展了起来。首先要提出一个问题,就是设计的工作是要做什么?它包括的范围其实是很广泛的,从搜集用户需求,进行业务分析,到绘制系统流程图等。可以说,在动手编写代码之前,程序员要做的都属于设计......
  • UML九图
    1.类图类图(ClassDiagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图不仅用于可视化描述和记录系统的不同方面,也为构建可执行代码的软件应用程序。类图描述一类的属性和操......
  • UML几种图例介绍
    九种常见UML图 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现类与类图1)类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2)在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承......