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

本文介绍了模型的本质和目的,强调其在理解和构建复杂系统中的作用。UML作为可视化建模语言,用于精确、无二义性地构建和文档化系统。它支持从草图到详细蓝图的各种应用,并具备扩展机制如约束、注释和衍生型。UML适合用例驱动、架构为中心和迭代增量的开发过程。前向工程、逆向工程和双向工程在CASE工具中各有应用,用于代码与图形之间的转换和同步。
摘要由CSDN通过智能技术生成

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图形和代码之间的同步,当任何一方发生变化时,这个工具都能够理想地进行自动和及时的同步
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值