uml笔记(1)

来源:互联网 发布:香港交友软件有哪些 编辑:程序博客网 时间:2024/06/05 12:40

1.什么是UML

UML即 Unified Modeling Language 直接翻译就是统一建模语言 常用来做软件设计
UML可以帮助我们去做软件需求分析与设计工作

2.UML有哪些种类

大致上可以分成两类:结构型的图和行文型的图

(1) 结构型的图(Structure Diagram)

  • 类图(class Diagram)

  • 对象图(Object Diagram)

  • 构件图(Component Diagram)

  • 部署图(Deployment Diagram)

  • 包图(Package Diagram)

(2) 行为型的图(Behavior Diagram)

  • 活动图( Activity Diagram)

  • 状态机图(State Machine Diagram)

  • 顺序图(Sequence Diagram) 又称为序列图

    • 用例图(Use Case Diagram)

    • 时序图(Timing Diagram)

3.结构型UML和行为型UML图区分的原因?

  • 结构型图示藐视某种结构 这种结构在某段时间是稳定的 静态的 而作为行为型的图是描述某种行为的 是动态的

  • 一般来说在分析系统需求时 我们会遇到很多业务概念 他们之间会有某种关系 这些关系是静态的 可以使用结构型的图来进行分析 同时业务会设计到大量的教程 过程等 这些内容是动态的 我们可以使用行为性UML图来进行分析

  • 当然静态与动态也并不是绝对的

4.常见的结构型UML(Structure Diagram)概览

(1) 类图(必用来分析业务概念)

Person为例子 使用矩形框表示 通过 Attribute 来表示属性 通过 Operation 来表示方法 根据UMl中文标准 Attribute为属性 Operation 表示操作

(2) 对象图(基本不使用)

对象是类的实例化 与类图很相似 “person:Person”代表的是person为类Person的实例
在需求分析的过程中基本不使用对象图 从严谨的角度来看某些情况下应该使用对象图 但往>往还是回用类图进行处理 这样更加简介而且容易理解

(3)构件图(Component Diagram)(必用来分析IT基础架构 软件结构得基本需求)
构件图又叫组件图 两个名字均符合UML中文术语标准
类比一辆车由轮子 发动机等物理部件组成 一个软件往往也是由很多物理部件组成(如控件 重用控件)组成 构件图是用来描述软件内部物理组成的一种图

构件图的使用场景:

  • 待开发系统与第三方原有系统某些老系统等交互 这时可用构件图来表示交互要求
  • 客户对软件设计有某些特殊要求 这时可用构件图来描述要求

(4) 部署图(Deployment Diagram) (同上)

部署图用来描述系统如何部署 本系统与其他系统是什么关系的图

(5) 包图(package Diagram) (很少会使用)

包图的主要用途是打包类图 用类图来描述 业务概念时 很多会因为业务类太多 而导致类图过于庞大 不利于阅读 此时可以考虑将某些类放入包中 通过包图来组织业务概念图

5.常见的行为型的UML(Behavior Diagram) 《====必至少使用其中的一种图来分析业务流程 大部分情况下至少会使用到其中的两种图

(1) 活动图(Activity Diagram)

活动图中的圆边框表示一个活动 多个活动之间带线条表示活动的先后顺序 该图只是表达一个顺序流程 活动图可以表示很多分支 其和流程图非常相似

(2) 状态机图(State Machine Diagram)

状态机图又称为状态图 但是状态图并没有翻译出Machine 这个意思
状态机图是从某个物品的状态是如何变化的角度来展示流程

(3) 顺序图(Sequence Diagram)
含角色图

(4) 通信图(Communication Diagram)(基本不使用)
原来称为Collaboration Diagram 通信图是顺序图的另外一种叫法

(5)用例图(必使用)

表达的是什么角色通过软件系统能做什么事情 我们可以使用用例图系统地表达软件系统的绝大部分需求

(6)时序图 (必不实用)

时序图是表述某东西的状态随时间变换而变化的图

  • 需求分析
    • 搞清楚系统的目标和范围
    • 找出系统的所有关键涉众列出他们要解决的为题
    • 分析业务 确认为题 发掘真正问题
    • 针对问题 提出系统的特性
    • 针对特性 提出系统的用例 细化功能需求和非功能需求