干货|关于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

相关推荐

  • 冉艳 车头

    冉艳车头,一位年轻而富有才华的女性,她的人生充满了无限的可能性。她出生在一个普通家庭,但从小就展现出了卓越的才华和出色的能力。 在高中时,冉艳车头就展现出了她的领导才能和创新思维,…

    联系我们 2024年12月2日
    0
  • 软件项目管理mooc答案

    软件项目管理MOOC答案 软件项目管理是软件开发过程中至关重要的一环,它涉及到从需求分析、规划、执行、监控和收尾等多个方面,对于项目的成功实现起着至关重要的作用。本文将针对软件项目…

    联系我们 2024年12月10日
    0
  • 药学科研项目的选题与申报

    药学科研项目的选题与申报 随着药学领域的不断发展,科研项目的选题与申报也成为了药学研究中不可或缺的一部分。在选题与申报时,我们需要考虑到项目的可行性、研究价值以及实施难度等因素,确…

    联系我们 2024年12月9日
    11
  • 年初好岗位!贵州这些单位正在招聘(贵州招聘2021)

    新年开始 你找到心仪的工作了吗 今天,小知知给大家整理了 近期贵州的招聘信息 赶紧来看看 观山湖区面向2024届公费师范毕业生 招聘第二批教师 一、招考对象及人数 招聘对象为教育部…

    联系我们 2024年5月14日
    196
  • 中国来外国人南宁电子签到微信

    中国来外国人南宁电子签到微信 近年来,中国和南宁的文化交流越来越频繁。为了更好地促进两国之间的交流,中国来外国人南宁电子签到微信开始流行起来。 这个微信应用可以帮助中国来外国人在南…

    联系我们 2024年11月30日
    1
  • 四川总工会最新会费收支文件

    四川总工会最新会费收支文件 四川总工会是中国工会的一个组织,主要负责为工人提供援助和支持。最近,四川总工会发布了最新的会费收支文件,展示了最近几个月的财务状况。 据文件显示,四川总…

    联系我们 2024年12月2日
    3
  • 蒙特卡洛信息项目管理师

    蒙特卡洛信息项目管理师 随着信息技术的不断发展,蒙特卡洛信息项目管理师 (MIoT) 成为了一个非常重要的职业。作为全球领先的信息项目管理专业机构之一,蒙特卡洛信息项目管理师为全球…

    联系我们 2024年12月9日
    0
  • 市级科技项目如何写技术指标

    科技项目如何写技术指标 科技项目的写作需要注重技术指标的明确和准确,这关系到项目的实际效果和成功与否。在撰写科技项目时,我们需要根据项目的目标和需求,明确技术指标,确保项目能够达到…

    联系我们 2024年12月3日
    1
  • 个人使用项目管理软件

    个人使用项目管理软件 随着现代工作方式的改变,越来越多的人开始使用项目管理软件来提高工作效率和协作能力。作为一名自由职业者,我也需要使用一些项目管理软件来跟踪我的项目进度和协作我的…

    联系我们 2024年9月15日
    35
  • LeaRun低代码平台一站式搭建项目管理系统(Learun快速开发平台)

    项目管理是企业日常工作中最常见的一部分,是从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。 但在项目管理的过程中,经常会遇到项目需求…

    联系我们 2022年5月23日
    289