干货|关于UML统一建模语言(uml 统一建模语言)

什么是UML

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

统一建模语言UML是OMG(Object Management Group)在1997年发表的图标式软件设计语言,它综合了很多种当时已经存在的面向对象的建模语言、方法和过程。

为什么我们要使用UML?

软件工程的目标:利用工程化的方法在给定成本、进度的前提下,开发出具有可维护性、正确性、可移植性的软件. 提高软件产品的质量和开发效率,减少维护的困难随着软件工程地进展,IT界想用一种语言来描述它们完成的需求,设计,但是不同的公司开发了自己的产品。于是乎,为了统一起来,就有了OMG组织

【ObjectManagementGroup对象管理组织】,这个组织让这种描述需求、设计的语言统一了,就称作是UML 了。也就是说,UML用来给我们设计,需求分析。

类图

类图(Class Diagram)是显示类、接口以及它们之间的静态结构和关系的图。类图最基本的元素是类或接口。

如下图:

干货|关于UML统一建模语言(uml 统一建模语言)

第一层是类名。类名不能省略,必须显示

第二层是属性层。一个属性可以是public、private或protected。一个属性的左面如果有一个加号( ),表示它是public;左面如果是一个减号(-),表示它是privae;左面如果是一个(#),表示它是protected。

第三层是方法层。一个方法可以是public、private或protected。一个方法的左面如果有一个加号( ),表示它是public;左面如果是一个减号(-),表示它是privae;左面如果是一个(#),表示它是protected;如果方法下面有一个下划线,表明是一个静态的方法。

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

1. 继承(泛化)

概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在程序中是通过继承类实现的。比如狗是对动物的具体描述,在面向对象设计的时候一般把狗设计为动物的子类。

表示方法:空心三角形箭头的实线,子类指向父类。

干货|关于UML统一建模语言(uml 统一建模语言)

2.实现

概念:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述。

表示方法:空心三角形箭头的虚线,实现类指向接口.

干货|关于UML统一建模语言(uml 统一建模语言)

3.依赖

概念:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖,在程序中一般表现为类A中的方法需要类B的实例作为其参数或者变量,而类A本身并不需要引用类B的实例作为其成员变量。

表示方法:虚线箭头,类A指向类B。

干货|关于UML统一建模语言(uml 统一建模语言)

4.关联

概念:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,在程序中被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。

表示方法:实线箭头,类A指向类B

干货|关于UML统一建模语言(uml 统一建模语言)

5.聚合

概念:聚合关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分表示方法:尾部为空心菱形的实线箭头(也可以没箭头),类A指向类B

干货|关于UML统一建模语言(uml 统一建模语言)

6.组合

概念:组合也是关联关系的一种特例。组合是一种整体与部分的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。

表示方法:尾部为实心菱形的实现箭头(也可以没箭头),类A指向类B

干货|关于UML统一建模语言(uml 统一建模语言)

get最新最全的IT技能,免费领取各种编程资料(Java、python、前端、大数据、区块链….)

欢迎关注公众号【传智播客博学谷】,小谷等你来!

用例图

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

下图是描述一个论坛网站,游客、会员与管理员可以使用不同的功能的用例图

干货|关于UML统一建模语言(uml 统一建模语言)

时序图

时序图有时又叫做序列图、活动序列图。作为交互图的一种,序列交互图按照时间顺序从上到下显示每个使用案例。下图所示的例子是一个普通网站登录的时序图。

干货|关于UML统一建模语言(uml 统一建模语言)

UML建模工具

有很多工具可以帮助我们画出UML图。这样的工具包括如下内容:

  • Rational Rose
  • Rational Rose是Rational公司出品的一种www.rational.com 收费软件
  • UDE – community
  • JUDE是一个中日合作的软件项目,有商业化的Professional版本和免费的Community版本,最大的区别是免费版的不支持UML 2.0,对于一般应用足够了。
  • 下载地址:http://astah.net/editions/community有收费和免费的
  • BOUml
  • 一个免费的UML 2工具箱,支持C ,Java以及Idl。
  • 下载地址:http://bouml.free.fr/免费
  • Microsoft Visio
  • Microsoft Visio是Windows操 作系统下运行的流程图和矢量绘图软件,它是Microsoft Office软 件的一个部分可以绘制UML图,本文档建模工具选择就是 Visio.
  • 下载地址:www.microsoft.com 收费软件

总结

通过以上讲解,在软件开发的过程中,可以使用UML建模语言对项目中的业务进行分析和设计,掌握了这些图形的创建可以帮助开发团队以一种可视化的方式理解系统的功能需求。

写在最后

get最新最全的IT技能,免费领取各种编程资料(Java、python、前端、大数据、区块链….)

欢迎关注公众号【传智播客博学谷】,小谷等你来!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月14日 上午9:11
下一篇 2024年5月14日 上午9:23

相关推荐

  • 超1.5亿元!深圳拟资助集成电路专项124个项目(深圳市集成电路专项扶持计划)

    5月12日,深圳市科技创新委员会网站发布了关于2022年集成电路专项拟资助项目的公示。根据公开发布的《深圳市科技创新委员会2022年集成电路专项拟资助项目清单》,深圳拟资助集成电路…

    联系我们 2022年5月23日
    290
  • 企业级低代码平台构建白皮书(企业级低代码开发平台)

    低代码平台丨白皮书 核心摘要: 低代码应用价值 (1)环境驱动:数字经济与新兴技术的加速融合将带来更多商业机遇和技术挑战,要求各行业内的企业具备更高的适应性和创新能力,低代码正是契…

    联系我们 2024年5月14日
    71
  • 大学生科研项目分工

    大学生科研项目分工 在大学生科研项目中,分工是非常重要的一个环节。分工明确,团队会更加高效,项目也会更加顺利。本文将介绍一些常用的大学生科研项目分工方法。 1. 按项目类型分工 在…

    联系我们 2024年12月3日
    7
  • 跑货拉拉怎么开挂

    跑货拉拉怎么开挂? 随着互联网的普及,跑货拉拉的外挂问题也越来越受到关注。作为一个跑货拉拉的新手,你可能会感到困惑,不知道如何使用外挂。在这里,我将向你介绍一些跑货拉拉使用外挂的技…

    联系我们 2024年12月10日
    5
  • 什么叫公益林?补助标准是多少?如何发放?(国家公益林补助标准是多少)

    公益林的概念 2000年左右我国首次提出的“森林分类经营”理论,根据这套理论,将国家所有森林按照所处位置、所承担的功能以及所存在的价值不同,分别区划界定为公益林和商品林。其中公益林…

    联系我们 2022年5月22日
    969
  • 文献检索服务费算研发费用吗

    文献检索是科学研究中不可或缺的一部分,可以帮助研究人员快速找到相关文献并提高研究效率。然而,文献检索服务费也成为了研究人员需要考虑的费用之一。在计算研发费用时,文献检索服务费是否应…

    联系我们 2024年12月4日
    5
  • 凯锐机电航空零部件加工项目

    凯锐机电航空零部件加工项目 随着航空业的快速发展,凯锐机电公司开始了一项全新的航空零部件加工项目。该项目旨在为客户提供高品质的零部件加工服务,同时保证产品的质量和安全性。 凯锐机电…

    联系我们 2024年12月2日
    0
  • 客户关系管理理念,对于我们金融投资行业有什么启示?

    客户关系管理理念,对于我们金融投资行业有什么启示? 客户关系管理(CRM)是指通过收集,分析和利用客户数据,提高客户满意度,促进销售,减少客户流失率,并实现长期可持续发展的一种管理…

    联系我们 2024年12月4日
    0
  • 湖北省教育厅科研项目公示

    以下是一篇关于湖北省教育厅科研项目公示的文章: 湖北省教育厅科研项目公示 为推进教育教学改革,提高教育质量,湖北省教育厅高度重视科研项目的申报工作。现将2022年科研项目公示如下:…

    联系我们 2024年12月6日
    0
  • 科技部劳务费标准

    科技部劳务费标准 随着科技的不断发展,科技部在科技领域中扮演着越来越重要的角色。科技部的劳务费标准也成为了科技领域中备受关注的话题。本文将介绍科技部劳务费标准的相关内容。 科技部的…

    联系我们 2024年12月7日
    0