zoukankan      html  css  js  c++  java
  • UML

    1、概念

    (1)UML(Unified  Modeing  Language)

    统一建模语言,是一种为面向对象开发系统的产品进行说明、可视化、和编制文档的模型语言,但是不是编程语言。

    (2)UML的概念模型

    在现实世界中的各个实体,以及他们如何互相联系

    (3)建模

    建立模型,为了理解事物而对事物做出的一种抽象

    2、 UML 构建模块的要素

    (1)事物

    结构事物:是模型中的静态部分,用以呈现概念或实体的表现元素

    如:接口协作(协作定义元素之间的相互作用)、用例(定义了执行者和被考虑的系统之间的交互来实现的一个业务目标)、组件节点

    行为事物:是 UML 模型中的动态部分,代表语句里的 "动词",表示模型里随着时空不断变化的部分

    交互:一种行为,包括一组元素之间的消息交换来完成特定的任务

    状态机:由一系列对象的状态组成

    分组事物:包

    注释事物

    来捕捉UML模型元素的言论,说明和注释的一种机制

    (2)关系

    依赖、协作、泛化、实现

    3、基本表示法

    (1)在IDEA中安装插件后重启,新建一个UML文件

     

     (2)类

     第一部分是类的名称,下面是属性和方法,其中+表示public、#表示protected、-表示private

    (3)对象

     与类的唯一区别是名称下面有一个下划线

    (4)接口

     表示方式存在差异,也可以用小圆圈表示一个接口

    (5)组件

     (6)节点

     节点用来表示物理系统的一部分,既可以是硬件也可以是软件,比如64主机、Windows server 2008操作系统、防火墙等

    (7)类图

    用来显示系统中的类、接口、协作以及它们之间的静态结构和关系的一种静态模型,用于描述软件系统的结构化设计,帮助人们简化对软件系统的理解

    4、UML标准图

    (1)结构图

    UML 结构图表示系统的静态方面,指的是形成的主要结构并因此稳定那些部分,包括:类,接口,对象,组件和节点

    类图:是一种静态模型类型,活动类在类图来表示系统的并发性

    对象图

    对象与类不同的是,对象拥有生命周期,是一个系统某一时刻的视图

    组件图:描述代码构件的物理结构以及各种构建之间的依赖关系,UML 组件图给提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。

     组件的构件是文件,显示了在应用程序的文件以及它们之间的关系。在实际组件图还包含 dll 文件,库,文件夹等。

    部署图:建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的

    (2)行为图

    捕捉系统的动态方面,是可以进一步改变/移动系统的一部分。

    用例图:描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么

    序列图:一种交互图。用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型、对象之间的交互、系统组件之间的交互

    协作图:协作图和序列图相似,是另一种形式的交互图;如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图。

    状态图:状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件

    活动图:描述了在一个系统中的控制流

    5、类与类之间的关系

    耦合度从弱到强排列:依赖关系、关联关系、聚合关系、组合关系、泛化关系和实现关系。其中泛化和实现的耦合度相等,它们是最强的。

    (1)依赖(带箭头的虚线)

      临时性的关联,某个类的方法通过局部变量(引用类型)、方法的参数(引用类型)或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。

    (2)关联(一般关联,双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线表示)

      关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,分为一般关联关系、聚合关系和组合关系。一般关联是指:一个类的对象作为另一个类的成员变量来实现关联关系

    (3)聚合关系(空心菱形实线)

      关联关系的一种,成员对象可以脱离整体对象而独立存在,如:学校和老师,学校停办,老师依旧存在

    (4)组合关系(实心菱形实线)

      整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。在继承与组合实现的效果相同的情况下应该多用组合,少用继承

    (5)泛化关系(空心三角箭头的实线)

      表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系

    (6)实现关系

      接口与实现类之间的关系

    每个人都会有一段异常艰难的时光 。 生活的压力 , 工作的失意 , 学业的压力。 爱的惶惶不可终日。 挺过来的 ,人生就会豁然开朗。 挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。 ——杨绛
  • 相关阅读:
    “#ifdef __cplusplus extern "C" { #endif”的定义
    【原创】分布式之redis复习精讲
    python爬虫入门(六) Scrapy框架之原理介绍
    PYTHON面试
    14.Ubuntu基本命令
    python爬虫入门(五)Selenium模拟用户操作
    python爬虫入门(四)利用多线程爬虫
    python爬虫入门(三)XPATH和BeautifulSoup4
    python爬虫入门(一)urllib和urllib2
    7.Ajax
  • 原文地址:https://www.cnblogs.com/zhai1997/p/14390781.html
Copyright © 2011-2022 走看看