UML基础介绍

1.UML的定义

统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素、构建模块、分析过程并可通过文档说明系统中的重要细节

2.OOAD

OOAD是根据OO的方法学,对软件系统进行分析和设计的过程

—— OOA 分析阶段

—— OOD 设计阶段

3.面向对象

面向对象( Object-Orientation ,简称OO)是一种系统建模技术

面向对象编程( Object-Orientation Programming,简称OOP)是按照OO的方法学来开发程序的过程通过分析系统内对象的交互来描述或建模一个系统交互的对象最终以类的形式组织

OO的方法由三部分组成

— 过程

— 标识

— 规则

4.OOP的主要特征

抽象(abstract)

  • 封装(encapsulation)
  • 继承(inheritance)
  • 多态(polymorphism)
  • 关联(association)
  • 聚合(aggregation)
  • 组合(composition)
  • 内聚与耦合(cohesion & coupling)

域对象之间的关系

1.关联(Association)

2.依赖(Dependency)

3.聚集(Aggregation)

4.一般化(Generalization)——泛化

一般化指的是类之间的继承关系。

5.内聚与藕合

  • 内聚:度量一个类独立完成某项工作的能力
  • 耦合:度量系统内或系统之间依赖关系的复杂度
  • 设计原则:增加内聚,减少耦合
UML图的分类

1.用例图(Use Case Diagram)

用例图

展示系统的核心功能及与其交互的用户

用户被称之为"活动者"(Actor)

用例使用椭圆表示

为简化建模过程,用例图可标注优先级

2.类图(Class Diagram)

表现类的特征

类图描述了多个类、接口的特征,以及对象之间的协作与交互

由一个或多个矩形区域构成,内容包括:

—— 类型(类名)

—— 属性(可选)

—— 操作(可选)

3.对象图(object Diagram)

表现对象的特征

对象图展现了多个对象的特征及对象之间的交互

4.组件图(Component Diagram)

表现软件组件之间的关系

5.部署图(Deloyment Diagram)

表现用于部署软件应用的物理设备信息

6.时序图(Sequence Diagram)

捕捉一段时间范围内多个对象之间的交互信息

强调消息交互的时间顺序

图1

图2

7.协作图 (Collaboration Diagram)

表现一定范围内对象之间协作的信息

强调参与信息交流的对象之间的组织结构

8.状态转换图(Statechart Diagram)

强调一个对象在不同事件触发时,其内部状态的转变过程

9.活动图(Activity Diagram)

描述活动的流程

10.包(package)

引用一组相关实体

通常可用于划分类的命名空间

包可用于

—— 命名(Naming)

—— 成员可见度(Member visibility)

—— 导入(Importing)

—— 继承(Extending)

—— 泛化(Generalization)

几种常见模式

1.观察者模式(Observer)

2.组合模式(Composite)

3.装饰模式(Decorator)

4.适配器模式(adapter)

5.代理模式(peoxy)

OOAD与UML笔记的更多相关文章

  1. 《OOAD与UML那点儿事》目录索引

    关键字:OOAD.UML.设计模式 各位园友,大家好,我是Bobby,在学习OOAD和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料 [内容简介]掌握某种开发语言,让你实现了由零到一的脱 ...

  2. 笔记一:OOAD与UML

    一.面向对象的概念与方法 1.  面向对象 1.1. 面向对象是一种系统建模技术 1.2. 面向对象编程是按照OO的方法学来开发程序的过程 1.3. 通过分析系统内对象的交互来描述或建模一个系统 1. ...

  3. OOAD与UML

    UML基础介绍 1.UML的定义 统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素.构建模块.分析过程并可通过文档说明系统中的重要细节 2.OOAD OOAD是根据OO ...

  4. OOAD和UML

    ooad: object oriented analysis designer 又有两个分支: ooa(object oriented analysis):what to do ood(object  ...

  5. Think in UML笔记第1章--为什么要UML

    1.1 面向过程还是面向对象 面向过程和面向对象都是一种软件技术.例如把面向过程归纳为结构化程序设计.DFD图.ER模型.UC矩阵等,而面向对象则被归纳为继承.封装.多态.复用等具体的技术.事实上,上 ...

  6. UML笔记1

    UML包括 事物 结构:类,接口等等 行为:交互,状态改变等 分组:包,子系统等 注释 关系 依赖,关联(聚合,组合),泛化,实现 图 用例图,交互图(顺序图,协作图),类图,活动图,状态图等 扩展机 ...

  7. UML笔记之类图

    1.类与类之间关系在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合( ...

  8. Thinking in UML 笔记(一) -- 面向对象

    一.UML 中最重要的就是面向对象. 面向对象的认识论可以构建更为复杂的系统来解释复杂的世界. 1. 面向过程,一切都是相互紧密地联系在一起,互相作用,互相影响. 2.面向对象, 世界是分割开的,只有 ...

  9. uml笔记

    把进度放在好了: 活动图与业务流程 对业务流程支持的主要图形就是活动图,活动图的主要目的在陈述活动与活动之间流程控制的转移.

随机推荐

  1. javaScript动态参数

    javaScript是动态语言,那么动态参数的话也是与生俱来的, 在去取javaScript得参数用的是Arguments这个属性,去取 <script type="text/java ...

  2. web错误

    “/Web”应用程序中的服务器错误. 服务器 'LD-PC' 上的 MSDTC 不可用. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误 ...

  3. C语言中的指针数组

    C语言中的指针数组是什么,像 char *a[]={"ddd","dsidd","lll"}; 这里讲一下注意如果我们使用了a也就是首元素的 ...

  4. C语言培训第一天

    下面是一些命令,先来谈谈今天的若干收获吧! 计算机中的一切文件都是以二进制补码的形式存在,问题也就来了. 第一个问题 如果我们给一个无符号的数赋值一个负数,他会读取到什么,又会输出什么?(似乎问题和上 ...

  5. 进程间通信之打开关闭一个exe文件

    一.打开 1.WinExec("F:\\QQ\\Bin\\QQ.exe",SW_SHOW); 注意:'\'需要改成'\\',阻塞 2. STARTUPINFO si; PROCES ...

  6. BZOJ 3226: [Sdoi2008]校门外的区间

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3226 题意:初始集合S为空.模拟四种集合操作:集合并.交.差.补集并. 思路:区间 ...

  7. [HDOJ5934]Bomb(强连通分量,缩点)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5934 题意:有n个炸弹,爆炸范围和点燃花费给你,如果一个爆炸那么它爆炸范围内的炸弹也会爆炸.问让所有炸 ...

  8. gastic 安装

    所有文件下载地址: ftp://ftp.broadinstitute.org/pub/GISTIC2.0/ cd /home/software/ tar zxf GISTIC_2_0_22.tar.g ...

  9. SQL索引一步到位

    以下均非原创,仅供分享.学习!!! SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? S ...

  10. 业务对象(BO)设计

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...