zoukankan      html  css  js  c++  java
  • UML统一建模语言

    什么是UML?

    UML全称是:Unified Modeling Language 又称统一建模语言或标准建模语言。

    是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
    它是一种语言,语言就是用来描述一件事物的。

    为什么我们要使用UML?

    我们了解一下软件开发的历史,才明白为什么要使用UML。

    软件历史分为3个阶段:

    • 程序设计阶段【1946年~1955年 对硬件进行开发,规模很小,程序设计追求节省空间和编程技巧】
    • 软件设计阶段 【在1956年~1970年,硬件增长速度快,性价比越来越高,软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,导致了“软件危机”
    • 软件工程阶段【1970年~至今,大量需求被提出,采用工程化的思想来管理软件

    软件工程的目标:利用工程化的方法.在给定成本、进度的前提下,开发出具有可维护性、正确性、可移植性的软件. 提高软件产品的质量和开发效率,减少维护的困难

    随着软件工程地进展,IT界想用一种语言来描述它们完成的需求,设计,但是不同的公司开发了自己的产品。

    于是乎,为了统一起来,就有了OMG组织【ObjectManagementGroup对象管理组织】,这个组织让这种描述需求、设计的语言统一了,就称作是UML了。

    也就是说,UML用来给我们设计,需求分析


    使用IBM Rational

    我们使用的是IBM Rational这个工具来讲解UML。

    一般地,我们这个工具用来做三个事情:

    • 用例图
    • 类图
    • 时序图

    用例图

    用例图显示谁将是系统的使用者、用户希望系统提供什么服务以及系统能够为用户提供什么样的服务;从用户的角度描述系统的功能。用例图最常用来描述系统以及子系统

    用例图的2种元素4种关系

    • 参与者(Actor)
    • 用例(Use Case)
    • 关联关系(Association)
    • 包含关系(Include)
    • 扩展关系(Extend)
    • 泛化关系(Generalization)

    我们使用它来模拟一个商城的用例图

    我们想描述的信息是这样子的:

    • 游客拥有浏览商品,登陆注册的功能
    • 会员拥有游客的所有功能,并且拥有购物,管理个人信息的功能
    • 在购物上,包括了选购商品、添加到购物车、支付这么几个功能
    • 而支付又有货到付款、在线支付、其他支付这么几个支付功能
    • 无论哪种支付,都要生成订单
    • 订单由客服来管理,客服还拥有着商品管理的功能
    • 客服拥有的功能,管理员都有,管理员还拥有着管理会员的功能。

    这里写图片描述


    类图

    类图用于描述系统中的类与类之间的各种关系

    类图下有以下的关系:

    • 继承:父子类关系
    • 实现:类与接口关系
    • 关联(全局变量, 组合/聚合): 值、引用
      • 组合的关系强
      • 聚合的关系没那么强【普通引用关系】
      • 关联具有导航性:即双向关系或单向关系
    • 依赖:局部变量(非Spring中 依赖注入)
      • 方法中的局部变量

    这里写图片描述

    时序图

    需要用例的时候,我们可以把用例拖过去给时序图用。

    这里写图片描述


    如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y

  • 相关阅读:
    k8s环境搭建--基于minik8s方法
    k8s环境搭建--基于kubeadm方法
    Ubuntu 搭建简单的git server
    国密算法--Openssl 实现国密算法(加密和解密)
    国密算法--Openssl 实现国密算法(基础介绍和产生秘钥对)
    Hyperledger Fabric 1.1 -- Policy 构成
    Pycharm 2018.2.1-2018.1
    6-5 链式表操作集
    6-4 链式表的按序号查找
    6-3 求链式表的表长
  • 原文地址:https://www.cnblogs.com/Java3y/p/8524601.html
Copyright © 2011-2022 走看看