UML统一建模语言

小编 2026-06-28 阅读:982 评论:0
什么是UML?UML全称是:Unified Modeling Language 又称统一建模语言...

什么是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)

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

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

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

UML统一建模语言


类图

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

类图下有以下的关系:

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

UML统一建模语言

时序图

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

UML统一建模语言


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

更多的文章可往:文章的目录导航
版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
标签列表