zoukankan      html  css  js  c++  java
  • UML精粹1

    Martin的主页 http://martinfowler.com/

    Pavel Hruby开发的visio模板,可以用来画UML图: http://phruby.com

    简介

    统一建模语言UML是一组图形表示法,这些表示法的背后有共同的元模型。UML帮助描述和设计软件系统,特别是使用面向对象风格构建的软件系统。出现的原因:编程语言的抽象级别不够高,不便于讨论设计。

    使用UML的方式

    草稿、蓝图和编程语言。

    1. 草稿UML as Sketch。使用草稿的目的是来帮助沟通想法或者展示所要做事情的可选方案。草稿是非正式的,注重当前讨论的方面,而不是完整的规则。草稿一般使用白板或简单的绘图工具,注重绘图的效率。
    2. 蓝图UML as Blueprint。蓝图关心规则完整性,列出所有的设计决策,程序员应该能够根据设计,进行简单、直接的编码。蓝图需要复杂的工具来绘制,例如CASE工具。蓝图和草稿之间的界限有些模糊,区别类似于:草稿故意画成不完整的,强调重要信息,而蓝图倾向于全面,目的是把编程缩减成简单的机械活动。简言之,草稿是探索性的,蓝图是定义性的。
    3. 编程语言UML as programming language。在UML方面做得越多,编程变得越机械,这时候编程应该被自动化,借助于CASE工具,可以将UML编译为可执行代码,这时候UML成了源代码。

    表示法notation和元模型meta-model

    UML中定义了表示法和元模型。表示法是你在模型中看到的图形,它是建模语言的图形表示。例如,类图表示法定义了如何表达类、关联和多重性等条目和概念。元模型是一张定义语言概念的图,通常是类图,定义了表示法中图形的规格。UML理解成一个语言的话,元模型定义了语义的语法。

    UML图

    下面列出了UML2描述的13种官方图形类型和分类。

    目的

    传承

    活动activity

    顺序和并行行为(Procedural and parallel behavior)

    UML1

    class

    类,特性和关系 (class, features, and relationships)

    UML1

    通信communication

    对象之间的交互;强调链接(interaction between objects; emphasis on links)

    UML1 协助图

    组件component

    组件的结构和连接(structure and connection of components)

    UML1

    组合结构composite structures

    类的运行时分解(runtime decomposition of a class)

    UML2

    部署deployment

    工件部署到节点(deployment of artifacts to nodes)

    UML1

    交互概述interaction overview

    系列图和活动图的混合(mix of sequence and activity diagram)

    UML2

    对象object

    实例的配置例子(example configuration of instances)

    UML1

    package

    编译时层次结构(compile-time hierarchic structure )

    UML1

    序列sequence

    对象之间交互;强调顺序(interaction between objects; emphasis on sequence)

    UML1

    状态机state machine

    对象在生命期中如何被事件改变(how events change an object over its life)

    UML1

    时间timing

    对象之间的交互;强调时间(interaction between object; emphasis on timing)

    UML2

    用例use case

    用户如何和系统交互(how users interact with system)

    UML1

    clip_image001

    UML图的示例

    clip_image002

    clip_image003

    clip_image004

    clip_image005

  • 相关阅读:
    The required MAP capability is more than the supported max container capability in the cluster. Killing the Job. mapResourceRequest: <memory:2048, vCores:2> maxContainerCapability:<memory:1024, vCores
    centos6.8安装cdh6.0.0
    oracle拼接sql
    数据插入不覆盖更新,设置定时任务
    支持向量机在 R 语言中的实现和使用
    怎么彻底去掉office365
    汽车电子软件规范学习
    ISO/IEC TS 17961 C Secure Coding Rules
    UML图
    Gitflow工作流程
  • 原文地址:https://www.cnblogs.com/lingshf/p/5212950.html
Copyright © 2011-2022 走看看