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

相关推荐

  • 能力成熟度模型CMM每个阶段应该干什么

    能力成熟度模型CMM是一个用于评估组织能力的工具,可以帮助组织了解其能力水平,并采取必要的措施来提高其能力。CMM的每个阶段都涉及一系列评估和改进活动,以帮助组织达到其目标。 下面…

    联系我们 2024年12月9日
    0
  • 课题申报的学术简历怎么写

    课题申报的学术简历怎么写 在撰写学术简历时,课题申报是一项非常重要的内容。课题申报可以展示研究兴趣和研究能力,并为未来的研究提供基础。一份好的课题申报学术简历应该能够清晰地展现研究…

    联系我们 2024年12月9日
    4
  • 政府与党委区别层次示意图

    政府与党委的区别层次示意图如下: 1. 层次结构政府是国家的行政机关,由国务院和各级政府组成。党委是党的行政机关,由中央委员会和地方政府组成。 2. 职责权限政府的职责是执行国家的…

    联系我们 2024年12月4日
    8
  • 公司项目管理软件有哪些免费

    公司项目管理软件有哪些免费 随着现代企业的快速发展,项目管理已经成为企业运营中不可或缺的一部分。为了更好地管理项目,许多公司选择使用专业的项目管理软件。但是,对于小型企业来说,购买…

    联系我们 2024年9月15日
    35
  • 龙岩高级中学李晓思

    龙岩高级中学的李晓思,是一位备受尊敬和敬仰的学长。他在过去的几年中,一直在为学生的学习和生活提供帮助和支持,成为学生们心中的偶像和榜样。 李晓思毕业于龙岩高级中学,曾获得清华大学的…

    联系我们 2024年12月11日
    2
  • 所属稿件的具体研究方向二级学科怎么填

    所属稿件的具体研究方向二级学科怎么填 在写作论文时,需要确定论文的研究方向和二级学科。研究方向是指研究的方向,而二级学科则是指论文所探讨的具体领域。确定二级学科可以帮助作者更好地规…

    联系我们 2024年12月3日
    8
  • 学校里的比赛算科研成果m

    学校里的比赛算科研成果m 近年来,随着人工智能技术的不断发展,越来越多的学校开始将人工智能技术应用于比赛中。这些比赛不仅能够激发学生的学习热情,还能够提高学生的科研能力。因此,如何…

    联系我们 2024年12月4日
    0
  • 项目管理软件 oa

    项目管理软件OA:提升项目管理效率 随着现代企业竞争的加剧,项目管理已经成为了企业成功的关键因素之一。而项目管理软件OA(Object-Oriented Project Manag…

    联系我们 2024年9月18日
    26
  • 科研项目高年资攻师在项目组分工

    科研项目中的高年资攻师是指在该项目中担任高级技术人员的角色,通常具有丰富的经验和技术知识,能够在项目中发挥重要作用。在科研项目中,攻师通常负责解决复杂的技术问题,编写高质量的代码,…

    联系我们 2024年12月9日
    0
  • 申请人同时申报成功两个省级课题,如何处理

    标题:申请人同时申报成功两个省级课题的处理策略 近年来,随着科技的不断发展和进步,许多学者和企业都在积极申报省级课题,以推动学术研究和技术创新。然而,同时申报成功两个省级课题并不是…

    联系我们 2024年12月7日
    15