1.1模型和UML的组成

文章发布时间:

最后更新时间:

统一建模语言

QQ:1372810734 杜巍

模型

根据对象某些特征建立的就是模型。

  • 模型用于理解事物本质
  • 模型用于对复杂事物进行有目的的简化和抽象

为什么需要模型

  • 开发软件过程时需要研究软件的诸多问题
  • 最重要的交流问题需要模型解决,其是软件开发的关键,直观的模型有助于交流。

软件开发过程中需要建立:

  • 需求模型
  • 问题域模型
  • 设计模型
  • 实施模型
  • 测试模型
  • 部署模型
    UML:是可视化建模语言

UML表示

  • 语义
  • 表示法(定义标准表示符号)

分类

共计13种图形,两大类:(侧重点画,这些图未必需要全部画)

  • 结构图:
    • 复合结构图
    • 构件图
    • 类图
    • 部署图
    • 对象图
    • 包图
  • 行为图:
    • 活动图
    • 用例图
    • 状态图
    • 交互图
      • 顺序图
      • 通信图
      • 时间配置图
      • 交互综合图

UML组成

UML包含元素,关系和图。

元素:

  • 结构元素
  • 行为元素
  • 分组元素
  • 注释元素

结构元素 :(常用7类)

  • 接口
  • 协作
  • 用例
  • 活动类
  • 组件
  • 节点

行为元素

  • 交互元素(特定上下文为完成特定目的而在对象间交换的消息集构成)
  • 状态机

分组元素 :(用于组织元素的元素)

注释元素 :(UML模型中的解释部分)

  • 注解

关系

  • 依赖关系
  • 关联关系
  • 类属关系
  • 实现关系

组件图:
描述代码组件的物理结构和各组件的依赖关系
包图:
描述包与包之间的关系
部署图:
定义了系统中软硬件的物理体系结构

行为建模图

描述了系统的动态结构,系统对象的交互关系和对象的瞬时状态(当时是红灯还是绿灯?)

  • 用例图:用户角度描述系统功能,并指出功能操作者
  • 活动图:为满足用例要求所要进行的各类活动及活动间的约束关系(用例做了什么)
  • 状态机图:描述类的对象所有可能的状态,以及事件发生时状态的跃迁条件。
  • 顺序图:描述了对象之间的动态合作关系,强调对象之间消息发送的时间顺序,同时显示对象之间的交互。

模型驱动的软件构架

MDA是一种基于建模的软件构架。通过建立三种模型达到模型驱动自动生成可执行程序的目的。

UML的建模对象

软件开发分析设计时,需要从三个方面考虑:

  • 静止状态下的结构
  • 运行状态下的结构
  • 运行状态下的行为(或功能)

UML的结构模型

(等待补充)

UML的行为模型

(三类行为)P12

建模四个原则

  • 选择建立什么样的模型对如何发现和解决问题有重要影响
  • 每个模型可以有多重表达方式
  • 最好的模型能切合实际
  • 孤立的模型是不完整的,任何好的系统都是由一些几乎独立的模型拼凑出来的。

要点

  • 抽象。突出问题有关特征,舍弃不必要元素(初学者容易犯)
  • 不必追求绝对的真实和完全 ,只需从期望的角度看它是否充分。
  • 刻画问题的关键方面,略去相对次要的因素。
  • 建模语言应支持人的由模糊到清晰,由粗到细逐渐完善的过程。
  • 采用可视化图形建模语言