UML期末复习笔记

前言:本学期期末还剩下两门考试科目,其中就有一门UML,于是根据老师课上讲解的课件,总结了这份笔记,一边整理一边进行记忆,也便于以后学习进行参考

一、面向对象与UML
二、用例图
三、类图
四、对象图
五、包图
六、顺序(序列)图
七、协作图
八、状态图
九、活动图
十、构件图
十一、部署图


一、面向对象与UML

1、面向对象方法
一种运用面向对象的软件构造概念和原则(类、对象、抽象、封装、继承、多态、消息)来构造软件系统的开发方法

2、面向对象特征
抽象、封装、继承、多态

3、UML定义
一种标准的图形化建模语言,是面向对象分析与设计的一种标准表示

4、UML组成
基本构造块(建模元素、关系、图)、UML规则、通用(公共)机制

5、UML构造块
(1)4个事物:结构、行为、分组、注释
(2)4个关系:依赖、关联、泛化、实现
(3)9种图:静态图(用例图、类图、对象图、组件图、部署图);动态图(序列图、协作图、状态图、活动图)

6、UML规则
包括命名、范围、可见性、完整性、执行

7、UML公共机制
包括规格说明、修饰、通用划分、扩展机制(构造型、标记值、约束)
(1)构造型:预定义的<< include >>、<< extend >>;用户自定义以大写字母开头
(2)标记值:形式为”名称=值”
(3)约束:形式为{约束的内容}

8、UML视图(4+1)
(1)逻辑视图(Logical View):表示系统的概念设计与子集系统等
(2)实现视图(Implementation View):说明代码的结构
(3)进程视图(Process View):说明系统中并发执行和同步情况
(4)部署视图(Logical View):定义硬件结点的物理结构
(5)用例视图(Use Case View):从外部用户角度表示系统功能性需求

9、UML进行面向对象系统分析步骤
(1)识别系统用例和角色
(2)进行系统分析并抽象出类
(3)设计系统并设计其中的类及其行为,包括结构设计和详细设计


二、用例图

1、用例图定义
表示一个系统中用例与参与者关系之间的图,描述系统中相关用户和系统对不同用户提供的功能和服务(从用户视角描述,分析系统功能与行为)

2、用例图构成
(1)参与者(Actor)
(2)系统边界(System scope)
(3)用例(Use case)
(4)关联(Association)

3、参与者定义
处于用例的外部,可以是人或其他外界系统,图例为
在这里插入图片描述

4、参与者确定方法

  • 使用系统主要功能的人(主要角色)
  • 借助系统完成日常工作的人
  • 维护、管理系统的人(次要角色)
  • 硬件设备、其他系统交互、对系统结果感兴趣的人或事

5、参与者间关系
主要是泛化关系,即将某些参与者共同行为提取出来表示通用行为(空心三角箭头实线,箭头指向超类)

6、一个示例
在这里插入图片描述
说明:经理继承雇员的行为,因而可以参与所有用例

7、用例
(1)概念:站在用户角度上描述系统的功能

(2)识别方法(查找事件):主语(参与者)+动词(使用系统)+宾语(达到目标)

(3)要点分析

  • 用例是系统产生的结果值(实现的目标)
  • 用例必须由目标系统实现
  • 用例的提出和定义都从参与者角度考虑

(4)关系
参与者与参与者:泛化
用例和参与者:关联(一对一通信,一条实线,箭头可有可无)
用例和用例:包含、泛化、扩展

8、用例间关系
(1)包含:一个用例中重用另一个用例的步骤,特征为一条虚线,箭头从基础用例指向被包含用例,示例:
在这里插入图片描述
使用时机:用例功能过多,分解成小用例;用例共同行为单独抽象为一个用例,让其他用例来包含这一用例

(2)泛化:一个用例继承另一个用例,一般与特殊关系,示例:
在这里插入图片描述
使用时机:同一业务目的不同技术实现

(3)扩展:对已有用例增加步骤创建新的用例,特征是一条虚线,箭头从扩展用例指向基础用例,示例:
在这里插入图片描述

9、用例粒度
用例组织信息的方式和细化程度

10、用例规约
用来描述用例,内容包括简要说明、事件流(基本流、备选流)、用例场景、特殊需求、前置条件、后置条件,示例:
在这里插入图片描述


三、类图

1、类图定义
若干类关联在一起,反映系统或者子系统组成结构的静态图

2、类图作用
描述软件系统中各个类的结构和类之间的关系

3、类图组成元素
一个矩形,内含类名(Name)、属性(Attribute)、操作(Operation)。
(1)类名:首字母大写;由多个字母组成时需要合并,第二个单词首字母大写
(2)属性:语法为[可见性] 属性名称 [:属性类型] [=初始值] [{特征}],其中可见性包括公有类型(+)(public)、受保护类型(#)(protected)、私有类型(-)(private),单字属性名小写;多个单词,除第一个单词外其余单词首字母要大写
(3)操作:语法为[可见性] 操作名称 [(参数表)] [:返回类型] [{特征}]

4、类的种类
(1)实体类(Enity):用于对必须存储的信息和相关行为建模的类。最终可能映射成数据库中的表以及字段,图例为
在这里插入图片描述

(2)控制类(Control):负责协调其他类的工作,本身并不完成任何功能,图例为
在这里插入图片描述

(3)边界类(Boundary):位于系统最上层,包含所有窗体、报表等硬件接口以及其他系统的接口,图例为
在这里插入图片描述

5、类图间关系
(1)泛化(is a kind of):一般描述的类被称为父类,具体描述的类被称为子类。子类除继承父类的属性和操作外,也增加自己的属性和操作,图例为
在这里插入图片描述

(2)实现(realization):接口(interface)描述一系列方法,被建模为实现关系。实现关系使用一条带封闭空箭头的虚线表示;接口用圆圈表示,通过一条实现附在表示类的矩形上来表示实现关系,图例为
在这里插入图片描述

(3)依赖(Dependency):指明一个类使用另一个类的方法或一个类使用其它类所定义的属性和方法,强调类发生改变引起其他类相应变化,使用虚线箭头表示,图例为
在这里插入图片描述

(4)关联(Assocation):表示一个对象拥有另一个对象,用实心三角形箭头表示,特性包含关联名称、角色、多重性、导航性、约束、特殊关联,图例为
在这里插入图片描述

(5)组合:表示整体与部分关系,部分与整体具有相同生命周期,用实心菱形头实现表示,头部指向整体,图例为
在这里插入图片描述

(6)聚合(aggregation):一个类由几个部分类组成,部分可以独立于整体而存在,用空菱形线段表示,头部指向整体,图例为
在这里插入图片描述

(7)关系案例
在这里插入图片描述

6、类的识别
(1)名词识别法:识别问题域中用到的名词或名词短语来描述的实体。标识出名词、代词、名词短语,标记为初始类,然后去掉冗余类、不相干类、模糊类、性质独立性不强的类、描述暂时的对象,以此确认类,案例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)实体识别法:关心构成系统的实体。包括信息实体、设备、与系统交互的外部设备、系统相关人员、系统的组织实体,案例
在这里插入图片描述
在这里插入图片描述

(3)用例识别法:分别对每一个用例进行识别

7、类图绘制步骤
(1)创建类图
(2)研究分析问题领域确定系统需求
(3)根据同例图或需求确定类及其关联,明确类的含义和职责,确定属性和操作
(4)添加类以及类的属性和操作
(5)添加类与类之间的关系


四、对象图

1、对象图定义
描述参与交互的各个对象在交互过程中某一时刻的状态

2、对象图表示
由对象(Object)和链(Link)组成。
(1)对象:使用带有下划线的实例名将它作为个体区分开来。语法为:对象名:类名
(2):一个或多个相连的线或圆弧,图例为
在这里插入图片描述

五、包图

1、包图定义
描述模型中的包和所包含元素的组织方式的图。包含元素以及包之间的关系,图例
在这里插入图片描述

2、包图作用
用来组织用例图和类图

3、划分原则
低耦合、高内聚

4、关系
依赖、泛化

5、问题
循环依赖,解决办法是重新分包,引入第三个包,重新建立依赖关系

六、顺序(序列)图

1、动态分析
(1)任务:对对象群体行为建模,表达对象间动作协作关系,描述用例行为实现,显示用例实现/类操作涉及的对象和对象间的消息传递情况
(2)概述:动态分析模型描述系统的动态行为,主要建立系统的交互图(序列图、协作图)和行为图(状态图、活动图)

2、顺序图定义
描述以时间顺序组织的对象之间的交互活动

3、顺序图组成元素
(1)对象:参与交互的基本单位,可在交互中创建或删除,图例为
在这里插入图片描述

(2)生命线:表示一个对象在一段时间内存在,图例为
在这里插入图片描述

(3)激活:表示一个对象执行一个动作所经历的时间段,对象接收到消息活动就开始,图例(空心矩形条)为
在这里插入图片描述

(4)消息:一条消息是一次对象间的通信,图例为
在这里插入图片描述

4、消息类型
(1)调用(同步)消息:发送者请求接收者对象执行其某种操作,意味着阻塞和等待,图例为
在这里插入图片描述

(2)异步消息:消息发送后,发送者继续操作,不等待,用于并发,意味着非阻塞,图例为
在这里插入图片描述

(3)返回消息:消息的返回,图例为
在这里插入图片描述

(4)消息总结
在这里插入图片描述

5、顺序图绘图步骤
(1)设置交互的语境
(2)设置交互的场景
(3)为对象设置生命线
(4)按时间顺序排列消息
(5)设置激活期
(6)附加时间和空间约束

6、何时选择顺序图
主要针对特定交互期间的消息流


七、协作图

1、协作图定义
强调收发消息的对象的组织结构

2、协作图组成元素
(1)对象:形式为对象名:类名
(2)消息:由发送者、接收者、活动组成
(3):两个或多个对象之间的独立连接,形式为一个或多个相连的线或弧,图例为
在这里插入图片描述

3、协作图作用
表现一个类操作的实现,显示对象及其交互关系的空间组织结构,用于表示方案

4、何时选择协作图
当集中处理交互所涉及的不同参与者与对象之间的链接时


八、状态图

1、状态图定义
描述一个特定对象的全部能够存在的状态,还可以描述引起状态转移的事件

2、状态图组成元素
(1)初始状态
(2)终止状态
(3)状态:由一个带圆角的矩形表示,包含名称、入口和出口动作、内部转换,图例为
在这里插入图片描述

(4)转换:两个不同状态之间的一种关系,包含源状态、触发事件、监护事件、动作和目标状态,图例为
在这里插入图片描述

(5)判定:包含一个转入和两个转出,图例为
在这里插入图片描述

(6)同步:说明并发工作流的分支与汇合,用一条线段表示,图例为
在这里插入图片描述

(7)并发分支:把一个单独的工作流分成两个或多个工作流,几个分支的工作流并行进行

(8)并发汇合:两个或多个并发的工作流在此得到同步

3、状态图绘图步骤
(1)找出适合用模型描述其行为的类
(2)确定对象可能存在的状态
(3)确定引起状态转换的条件
(4)确定转换进行时对象执行的相应动作
(5)对建模的结果进行相应的精化和细化


九、活动图

1、活动图定义
描述活动的顺序,展现一个活动到另一个活动的控制流

2、活动图组成元素
(1)动作
(2)活动
(3)动作流
(4)分支与合并
(5)分叉与汇合
(6)泳道
(7)对象流
图例为
在这里插入图片描述
在这里插入图片描述

3、活动图绘图步骤
(1)定义活动图要对什么建模
(2)添加起始和结束点
(3)添加活动
(4)添加活动间的转换
(5)添加决策点
(6)找出可并行活动之处


十、构件图

1、构件图定义
表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图

2、构件图组成元素
(1)构件
(2)接口
(3)依赖关系
图例为
在这里插入图片描述


十一、部署图

1、部署图定义
用来显示系统中软件和硬件的物理架构

2、部署图案例
在这里插入图片描述

  • 93
    点赞
  • 568
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
1.UML的系统分析进一步要确立的三个系统模型是(对象静态模型)、对象动态模型和系统功能模型。 2.UML的的客户需求分析、系统分析和系统设计阶段产生的模型,其描述图符( 完全相同 )。 3.类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有( 具体值 )。 4.UML系统分析阶段产生的包图描述了系统的(系统体系层次结构 )。 5.在UML软件开发过程系统分析阶段产生的对象模型有三种模型。它们是:对象的 静态 模型、对象的 动态模型和对象的 系统功能 模型。 6.在UML的类图中,类之间的关系有 泛化 、 实现 、 聚集 、 依赖 和 关联 5种。 7.共享聚集的“部分”对象可以是任意“整体”对象的一部分,表示事物的整体/部分关系较弱的情况,“整体”端的重数应该是 n 。 8.在UML软件开发过程的需求分析和系统分析阶段,建立类模型的步骤分为 寻找确定类 、 定义类的接口 、定义类之间的关系、建立类图 和 建立系统包图 。 9.组合聚集是指“整体”拥有它的“部分”,它具有强的物主身份,表示事物的整体/部分关系较强的情况。“部分”生存在“整体”中,不可分离,它们与“整体”一起存在或消亡。“整体”的重数必须是 1 。 10.封装是指把对象的( 属性和操作 )结合在一起,组成一个独立的对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昨日不归鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值