UML综述

来源:互联网 发布:虚拟机网络电缆被拔出 编辑:程序博客网 时间:2024/06/05 19:39

UMLUnified Modeling Language

 

What

是一种(设计软件蓝图的)可视化的面向对象的建模语言

从不同角度对系统建模,并形成系统的不同视图。

在软件开发的各个阶段,使用不同的UML图对系统进行描述。

UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。

Why

使软件设计过程更标准,更规范。

标准统一就是为了交流。

降低维护成本、可复用。

How

采用面向对象技术设计软件系统时,

    • 使用用例图来描述用户需求
    • 使用类图、对象图、包图、构件图、部署图五种静态图来描述系统的静态结构
    • 使用顺序图、合作图、活动图、状态图四种图描述系统动态行为

各阶段中,

    • 需求:用例图
    • 分析:
      • 类图(静态结构)
      • 顺序图、协作图、活动图、状态图(动态行为)
    • 设计:类图、包图,对类的接口进行设计
    • 实现:将类用某面向对象语言实现
    • 集成与交付:构件、包、部署图
    • 测试:单元测试:类图和类的规格说明书
      • 集成测试:类图、包、构件图、合作图
      • 系统测试:用例图测试系统功能

Details

基本结构块

1、事物(Things):构成模型图的一些基本图式符号,他们表示面向对象的基本概念。

结构事物:

  类(Class


接口(Interface

协作(Collaboration

用例(Use Case

主动类(Active Class

构件(Components

节点(Nodes

行为事物:

交互(Interaction

状态机(State machine

分组事物:

包(Package包是把元素组织成组的机制,UML唯一的组织机制。  一个包形成一个命名空间。


注记事物:注解(noteUML模型的解释部分

2.关系(Relationships):表示基本图式符号之间的关系

UML4种关系   

关联(Association):类之间的结构性关系

依赖(Dependency):使用关系(using

泛化(Generalization):特殊/一般关系,继承关系,父子关系(is-akind-of

实现(Realization):类元之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。


关系的扩展

1)扩展关系

扩展关系可以放置在所有的关系上,大多数扩展构造型都放置在依赖关系和关联关系上


   2)包含关系

是一种构造型关系,它将一个基用例连接到一个包含用例


3、图(Diagrams):九种图从特定的视角对系统所作的抽象描述


Others

RUPRationalUnified Process统一软件过程

将一个周期的开发过程分为四个阶段

Inception(起始阶段)

为项目建立一个业务案例

Elaboration(细化阶段)

建立工程计划和合理的体系结构

Construction(构建阶段)

建造系统

Transition(提交阶段)

把系统提供给最终用户


基本特征:

迭代式增量开发(一个迭代是一个完整的开发循环)

用例驱动

以软件体系结构为中心

RUPUML有效地补充
对软件开发过程的管理是为了更好地支持和促进软件开发;

软件开发成功与否的标志,不只是开发实现了用户需求的产品,

还包含了时间、成本、对维护与扩充的支持等重要因素,因此需要开发过程的有效支持。

Link
UML是面向对象程序设计有力的建模工具,设计模式是面向对象中关键的技术,它们之间是一种相辅相成的关系。

 


0 0