Java教程

【软件建模】UML、UML工具和蓝图概览

本文主要是介绍【软件建模】UML、UML工具和蓝图概览,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

UML、UML工具和蓝图

  • 1.介绍模型的本质和目的
  • 2.UML和可视化敏捷建模的概览
    • 2.1 可视化建模的4个原则
    • 2.2 什么是UML
    • 2.3 UML Diagram
    • 2.4 UML Extension Mechanism (UML扩展机制)
    • 2.5 UML的三种应用方式
    • 2.6 什么是UML最合适的过程特征
      • 2.6.1 Use-case driven 用例驱动
      • 2.6.2 Architecture-centric 架构为中心特征
      • 2.6.3 terative and incremental 迭代和增量式
    • 2.7 定义前向,逆向和双向工程

1.介绍模型的本质和目的

模型是对现实世界的抽象,模型有四大目标
Modeling achieves four aims:

  • Helps you to visualize a system as you want it to be.有助于可视化目标系统
  • Permits you to specify the structure or behavior of a system.有助于规约系统的行为和结构
  • Gives you a template that guides you in constructing a system.提供有助于构造系统的模板
  • Documents the decisions you havemade.归档所作出的决策

为理解复杂系统而建模
为理解所开发的系统而建模

2.UML和可视化敏捷建模的概览

2.1 可视化建模的4个原则

—,创建的模型影响解决问题方案
二,可以以不同的精确程度表达
三,最佳的模型与紧密现实联系
四,单个模型不够
Four Principles of Modeling:
The model you create influences how the problem isattacked.
Every model may be expressprecision.
The best models are connected to reality.
No single model is sufficient.

2.2 什么是UML

The UML is a language for

  • Visualizing
  • Specifying. The UML builds models that are precise,unambiguous(无二义性), and complete.
  • Constructing. UML models can be directly connected programming languages.
  • Documenting. The UML addresses documentation of system architecture, requirements, tests, project planning, and release management.UML解决系统架构、需求、测试、项目、规划和发布管理的归档

2.3 UML Diagram

6大结构图,例如类图,构件图,部署图、组合结构图、对象图和包图
8大行为图,例如活动图,用例图,状态图,交互图、时序图,通信图,交互概览图和定时图

2.4 UML Extension Mechanism (UML扩展机制)

  • Constraint 约束
    约束对UML元素的限制或条件其表示法是在花括号之间用—种能被工具识别的语言,写—个表示条件的正文串,约束表达语言可以是自然语言、集合论
    表示法、约束语言、或者各种编程语言
    UML定义了—种约束语言称为OCL对象约束语言
    如{length = start - end}

  • Comment 注释
    在这里插入图片描述

  • Tagged Value 标记值
    如上图中author = “craig”

  • Stereotype 衍生型
    上图中Square为authorship的衍生型,衍型用来附加到其它模型之上从而将原有的模型元素定制成─种语义较为特殊的新变种

2.5 UML的三种应用方式

  • UML as sketch. 草图
    非正式不完整的图,借助UML的功能,用于探讨问题空间或解空间的复杂部分。
  • UML as blueprint. 蓝图
    相对详细的设计图,用于逆向工程或者前向工程
  • UML as programming language.
    用UML完成软件系统可执行规约,目前在理论、工具的健壮性和可用性方
    面,该方式仍然处于发展阶段.
    Agile modeling emphasizes UML as sketch.

2.6 什么是UML最合适的过程特征

UML大部分是过程独立的如果一个过程具有如下的特征,那么能从UML中获得最大好处:

2.6.1 Use-case driven 用例驱动

用例驱动的过程为系统定义的用例是整个开发过程的基础,用例的优点包括
精确,简洁,且能够被广泛的涉众理解,有助于同步不同模型的内容

2.6.2 Architecture-centric 架构为中心特征

系统的架构是—个基本的制品,用于概念化,构建,管理和演化开发中
的系统。
优点有:

  • 智能控制项目,以便管理项目复杂性并维护系统完整性
  • 大规模重用的有效基础
  • 项目管理的基础
  • 有助于基于构件的开发

2.6.3 terative and incremental 迭代和增量式

  • 在大规模投入之前解除关键风险
  • 最初迭代激活早期用户反馈
  • 持续的测试和集成关注短期的客观的里程碑
  • 通过评估实现进行进度度量
  • 部署部分实现

2.7 定义前向,逆向和双向工程

在CASE计算机辅助软件工程工具的领域里

  • 前向工程(forward engineering)是从图形生成代码
  • 逆向工程(reverse engineering)是从代码生成图形
  • 双向工程(round-trip)是以上两种工程的闭环
    是支持双向生成的工具,并且支持UML图形和代码之间的同步,当任何一方发生变化时,这个工具都能够理想地进行自动和及时的同步
这篇关于【软件建模】UML、UML工具和蓝图概览的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!