OOAD与UML笔记

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)

OOAD与UML笔记_第1张图片

2.依赖(Dependency)

OOAD与UML笔记_第2张图片

3.聚集(Aggregation)

OOAD与UML笔记_第3张图片

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

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

OOAD与UML笔记_第4张图片

5.内聚与藕合

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

1.用例图(Use Case Diagram)

用例图

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

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

用例使用椭圆表示

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

OOAD与UML笔记_第5张图片

2.类图(Class Diagram)

表现类的特征

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

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

—— 类型(类名)

—— 属性(可选)

—— 操作(可选)

OOAD与UML笔记_第6张图片

3.对象图(object Diagram)

表现对象的特征

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

OOAD与UML笔记_第7张图片

4.组件图(Component Diagram)

表现软件组件之间的关系

OOAD与UML笔记_第8张图片

5.部署图(Deloyment Diagram)

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

OOAD与UML笔记_第9张图片

6.时序图(Sequence Diagram)

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

强调消息交互的时间顺序

OOAD与UML笔记_第10张图片

图1

OOAD与UML笔记_第11张图片

图2

7.协作图 (Collaboration Diagram)

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

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

OOAD与UML笔记_第12张图片

8.状态转换图(Statechart Diagram)

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

OOAD与UML笔记_第13张图片

9.活动图(Activity Diagram)

描述活动的流程

OOAD与UML笔记_第14张图片

10.包(package)

引用一组相关实体

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

包可用于

—— 命名(Naming)

—— 成员可见度(Member visibility)

—— 导入(Importing)

—— 继承(Extending)

—— 泛化(Generalization)

OOAD与UML笔记_第15张图片

几种常见模式

1.观察者模式(Observer)

OOAD与UML笔记_第16张图片

2.组合模式(Composite)

OOAD与UML笔记_第17张图片

3.装饰模式(Decorator)

OOAD与UML笔记_第18张图片

4.适配器模式(adapter)

OOAD与UML笔记_第19张图片

5.代理模式(peoxy)

OOAD与UML笔记_第20张图片

你可能感兴趣的:(java基础)