UML的宏观理解

前言 

      学习UML在不知不觉中已经过去好久了,依然没有了最一开始的生疏和茫然,唯一遗憾的是就是UML视频现在想不起来看的是啥了,感觉以后不能再这样看视频了,学习一种东西一定要先了解,先去研究,先有一个宏观的把控,然后带着问题和目标去看,再去往深入仔细的学,去百度,去看博客,这样再去看视频的时候才可以能看懂,感觉这样才是正确的学习过程,如果一上来就看专业的就什么的听不懂看了之后什么也就什么都不知道了,以下是我这来年经过仔细研究后对UML的一些整体的感受,和一些比较重要的知识点总结。


总说

1、  UML是统一建模语言,是一种面向对象的可视化建模语言,它能够让系统构造者用标准的、易于理解的方式建立起能够表达他们设计思想的系统蓝图,并提供一种机制,便于不同人之间有效地共享和交流设计成果。

2、  在系统实施之前还应包括系统分析和设计阶段,在系统分析和设计阶段可以通过建立软件模块来确定用户需求和系统功能。

3、  UML使用有3个预定义分栏的图标表示类,从上至下3个分栏表示的内容分别为:类名称、类的属性和类的操作。

4、  顺序图显示多个对象之间的动态协作关系,重点是显示对象之间发送消息的时间顺序。顺序图也显示对象之间的相互,就是在系统执行时,某个指定时间点发生的事情。顺序图的一个用途是用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每个消息对应了一个类操作或状态机中引起转移的触发事件。

5、  支持UML定义的8种UML图,包括用例图、类图、顺序图、活动图、通信图、状态机图、组件图和部署图。

6、  Rational Rose 2003的初始界面主要包括标题栏、菜单栏、工具栏、模型浏览窗口、文档窗口、模型图窗口、日志窗口、状态栏等部分。

7、  UML的功能:

1)  为软件系统建立可视化模型

2)  规约软件系统的产出

3)  构造软件系统的产出

4)  为软件系统的产出建立文档

8、  UML由视图、图、模型元素和通用机制几个部分组成。

9、  UML包括5种不同的视图:用例视图、逻辑视图、并发视图、组件视图和部署视图。

9种图分为两类:一类是静态图,包括用例图、类图、对象图、组件图和部署图;另一类是动态图,包括顺序图、通信图、状态图和活动图。

常见的联系包括关联关系、依赖关系、泛化关系、实现关系和聚合关系。

10、              UML常应用在以下领域:信息系统、嵌入式系统、分布式系统、商业系统。


用例图

11、              用例图描述的是参与者所理解的系统功能,用例图仅从用户使用系统的角度描述系统中的信息,并不描述系统内部对该功能的具体操作方式。用例图是一种描述用例的可视化工具。

12、用例的组成元素:

   1)参与者

     参与者也称为角色,是使用系统的对象,可以是人,也可以是另一个系统,它与当前系统进行交互,向系统提供输入或从系统中获得输出。

参与者用一个小人形图标表示。

  2)用例

     用例描述了系统所有的功能需求,它来自于对客户需求的分析,这个过程称为用例分析,是整个系统开发中非常关键的过程。用例用椭圆表示。

  3)关系

     用例与参与者之间的连线称为关系,关系也称为关联。它表示参与者与用例之间的通信。

  关系分:

     关联关系:描述参与者与用例之间的关系,在用例图中,关联关系使用箭头表示。

包含关系:表示为带箭头的虚线<include>字样,箭头指向被包含用例。

扩展关系:表示为带箭头的虚线加<extend>字样,箭头指向基础用例。

泛化关系:用一个三角形箭头从子用例指向父用例来表示。

13、扩展关系和包含关系的区别:

     包含用例是一个完整的用例,它可以独立的存在,也可以单独被执行者所调用。

     扩展用例并不是一个完整用例,它只是由部分扩展功能组成,它不能独立的存在,必须依赖于基本用例。


类图


什么叫类,先举个例子说吧!


   我们做项目的需求分析,最开始往往得到的是一堆文字,请看下面这堆文字:


       项目是在一期的基础上增加对电缆、通讯工程的管理和施工详细数据的记录和统计,使整个系统更好的管理各工程项目中标开始到竣工验收的全部过程和资料和分析施工过程的数据。 
本系统将一条或一个标段架空电力线路工程定为一个单位工程,即系统中的一个工程项;每个单位工程分为若干个分部工程;每个分部工程分为若干个分项工程;每个分项工程中又分为若干相同单元工程

     这是关于系统情况的一段概述,里面充斥了大量的术语、概念(红色的字),如果你不是专业人士,恐怕难以读懂上述文字。

项目初期,我们往往对业务一无所知,我们最急迫需要解决的问题就是理清楚这些业务概念以及它们的关系,如果能用好类图,你将能深入地剖析系统业务。

上述那段业务文字,我们先放下不要去深究,我们先看看什么是类?

需求中提到的各种业务概念、人物等,经过抽象后我们都可以视之为类


14、类图的组成元素:

     1)类:类是一组具有相同属性、相同行为、和其他对象的相同关系、有相同表现的对象描述,类是对象的抽象,对象是类的实例。类一般包含三个组成部分:类名、属性、该类提供的操作。

2)包

3)接口:接口是一组可重用的操作,它描述了类的部分行为,但每个接口只是提供了实际类行为的有限部分,接口没有实现和属性,并且所有操作都是公平可见的,否则,就不能引用接口。

15、类用长方形表示,长方形分为上、中、下3个区域,每个区域用不同的名字标识。

16、类之间的关系:

1、关联关系:

  1)普通关系

     普通关联是最常见的一种关联。关联可以是单向的,也可以是双向的。关系具有方向性,用箭头表示关系的方向,对于需要明确标识方向的关联,可以使用“实线+箭头”表示,箭头指向被使用的类。如果关联中不明确指明方向,则默认关联是双向的,双向的关联则不必标出箭头。

2)聚合关系

    聚合关系是关联关系的一种特例,是一种强关联关系。聚合关系是整体和部分的关系。

3)组合关系

   组合关系是聚合关系的一种特殊情况,是比聚合关系还要强的关系,也称为强聚合。它要求普通的关系中代表整体的对象负责代表部分的对象的生命周期,组合关系不能工享。组合中整体拥有各部分,部分与整体共存,如整体不存在了,部分也随之消失。

2、泛化关系

   面向对象思想的一个重要概念就是继承,被继承的类称为父类或超类,继承的类称为子类。子类继承父类的属性和操作,还具有自己的属性和操作。

 在UML中,泛化关系也称为继承关系,表示类与类之间的继承关系,接口与接口之间的继承,泛化关系的表示方法为:空心三角形箭头+实线,箭头指向父类,如果父类是接口,则表示为“空心三角形箭头+虚线“。

3、依赖关系

   依赖关系表示一个类依赖于另一个类的定义,一个类的变化必然影响另一个类。

  依赖关系的表示方法为:带箭头的虚线,箭头指向被依赖的类,即提供者。

4、实现关系

   类和接口之间的关系是实现。表示实现接口提供的操作,不继承结构而只继承行为。一个接口可以被多个类或组件实现,一个类或组件也可以有多个接口。实现关系的图标与泛化关系的图标类似,用一条带空心三角形箭头的虚线表示。



    对象图是类的实例化,对象图 可以理解,一个真实的对象,比如二胖子卡号是1,要上机,都要做哪些操作:如果你有一个类来专门判断此学生是否存在可以是:在 “判断学生类”中判断1是否存在,余额是否可以上机——>上机类——>判断目前有多少学生上机类——>...是一种比较具体的一个操作流程。


活动图

1.活动图是UML用于对系统的动态行为建模的一种常用工具,它描述用例的活动以及活动间的约束关系。用于识别并行活动和工作流程情况,使用框图的方式显示动作及其结果。

2.活动图由各种动作状态构成,每个动作状态包含可执行动作的规范说明。

3.活动图由初态、终态、动作状态或活动状态、状态转换、泳道、判定、分叉与汇总组成。


状态图

4.状态机图是系统分析的一种常用工具。它描述了一个对象在其生命周期内所经历的各种状态,以及状态之间的转换、发生转换的原因、条件和转换中所执行的活动。

5.状态机是展示状态与状态转换的图。

6.UML的状态机由状态、转换、事件、动作和活动组成。

7.状态机图是对类所描述事件的补充说明,它显示了类的所有对象可能具有的对象,以及引起状态的事件。

8.状态机图描述一段时间内对象所处的状态和状态的变化。状态的UML图标是一个圆角矩形,状态转移用状态之间的有向连线表示。

9.UML状态机图的图形元素包括状态、转换、开始状态、结束状态、事件、决策和同步。

10.状态机图由表示状态的节点和表示状态之间转换的带箭头的直线组成。若干个状态由一条或者多条转换箭头连接,状态的转换由事件触发。


其他

11.顺序图主要描述系统各组成部分之间交互的次序,用于说明系统的动态视图。通信图则从另一个角度描述系统对象之间的链接,也是用于说明系统的动态视图。

12.通信图主要用于显示系统之间需要哪些链接传递交互的消息。

UML通信图的图形元素主要包括对象、链接和消息流。


象图 可以理解,一个真实的对象,比如二胖子  卡号是1,要上机,都要做哪些操作:如果你有一个类来专门判断此学生是否存在可以是:在 “判断学生类”中判断1是否存在,余额是否可以上机——>上机类——>判断目前有多少学生上机类——>...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值