zoukankan      html  css  js  c++  java
  • 适合Java程序员看的UML学习手册

    UML

    UML(Unified Modeling Language,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。

    1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。

    UML的基本构件

    类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。在 UML 中,类使用包含类名、属性和操作且带有分隔线的矩形来表示。

    1. 类名

    就是类的名字,如Student

    1. 属性

    类里面声明的变量,格式如下:[可见性]属性名:类型[=默认值]

    1. 操作

    类里面声明的方法,格式如下:[可见性]名称(参数列表)[:返回类型]

    注意:“可见性”表示该属性对类外的元素是否可见,包括公有(Public)、私有(Private)、受保护(Protected)和朋友(Friendly)4 种,在类图中分别用符号+、-、#、~表示。

    类图用 3 个矩形拼接表示,最上面的部分标识类的名称,中间的部分标识类的属性,最下面的是类的方法。

    示例:

    类图中,需注意以下几点:

    • 抽象类或抽象方法用斜体表示
    • 如果是接口,则在类名上方加 <>
    • 字段和方法返回值的数据类型非必需
    • 静态类或静态方法加下划线

    接口

    接口(Interface)是一种特殊的类,它具有类的结构但不可被实例化,只可以被子类实现。它包含抽象操作,但不包含属性。它描述了类或组件对外可见的动作。在 UML中接口有如下几种表示方式:

    类之间的关系

    1. 依赖关系

    依赖关系中,一个事物的变化影响另一个事物的变化。在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。

    线条表示方式:使用带箭头的虚线来表示,箭头从使用类指向被依赖的类

    示例:

    1. 关联关系

    是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟

    线条表示方式:双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示,箭头从使用类指向被关联的类

    示例:

    1. 聚合关系

    是整体和部分之间的关系。聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如,学校与老师的关系,学校包含老师,但如果学校停办了,老师依然存在。

    线条表示方式:聚合关系可以用带空心菱形的实线来表示,菱形指向整体

    示例:

    1. 组合关系

    也表示类之间的整体与部分的关系,但是这个部分不能脱离整体而存在。例如:头和嘴的关系,没有了头,嘴也就不存在了。

    线条表示方式:组合关系用带实心菱形的实线来表示,菱形指向整体

    示例:

    1. 泛化关系

    是父类与子类的关系,代表继承

    线条表示方式:泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类

    示例:

    1. 实现关系
      是接口与实现类之间的关系,代表实现

    线条表示方式:实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口

    示例:

    整体示例图:

    接下来就可以动手实践了,推荐建模工具:UMLet

    书山有路勤为径,学海无涯苦作舟
  • 相关阅读:
    python的配置
    SSI服务端包含技术
    IDEA使用过程中常见小问题
    IDEA配置maven,jdk,编码
    不使用SwitchHosts修改C:WindowsSystem32driversetchosts文件
    webstorm打开一个门户工程流程
    安装nginx流程
    webstorm配置node.js
    Linux的inode与block
    使用vsftpd 搭建ftp服务
  • 原文地址:https://www.cnblogs.com/javammc/p/14932148.html
Copyright © 2011-2022 走看看