为什么 UML 很重要?
在企业工作的过程中,我发现会通过图,表达自己的设计,是一件很重要的事情。它就是你想搭建一栋楼时,你需要做建筑的设计图,才能让协作的各方基于这图的思想,进行材料准备,施工等。那在软件的世界,至少带来两个好处:
- 对内:通过画图,对设计的思考更加全面与清晰。
- 对外:UML它有一套约定好的标准,可以让团队间高效沟通方案,同时展现个人专业性。
UML是什么?
UML是英文 Unified Modeling Language 的缩写,中文为“统一建模语言”。是一种用于软件开发的图形化语言。通常被用于软件设计的不同阶段,从需求分析到软件实现、测试。它提供了一组通用的符号和规则,帮助开发人员描述软件系统的结构、行为和交互。
UML为什么诞生?
主要是由于软件开发过程中,面临的挑战和问题,在20世纪80年代和90年代,软件规模的不断扩大,复杂度的不断增加。开发者之间的沟通越来越多,传统的文本和图形不能满足软件建模和设计的需求,因此需要一种更有效、通用、标准化的建模语言来支持软件开发。在那个年代,开发者还面临着不同的软件建模和工具之间的差异和不兼容问题。
在这样的背景下,三位软件工程师 Grady Booch、James Rumbaugh 和 var Jacobson提出了各自的建模方法,这些方法都试图用图形化的方式来描述软件系统的不同方面,但是它们的表示方式、符号和术语都有所不同,不方便开发者之间的交流和合作。
因此,为了解决这些问题,三位大佬开始协作,将三种建模方法的优点融合在一起,形成了一种统一的建模语言 -- UML, 旨在提供一种标准的、通用的、可扩展的建模语言。使开发者能够用一种统一的方式描述软件系统的各方面,促进软件工程师之间的合作和沟通,提高软件开发的效率和质量。
UML包含哪些常用的类型以及应用场景是什么?
列举一些我们在企业工作中,经常会用到的图:
- 类图:用于描述系统中的类、接口、对象、关联、继承、聚合、组合等概念,展示系统的静态结构。
- 对象图:用于描述类图中对象实例的状态和关系。
- 时序图:用于描述对象之间的交互行为和消息传递的时序关系。
- 协作图:用于描述系统中对象的状态和状态之间的转移,展示系统的动态行为。
- 状态图:用于描述系统中对象的状态和状态之间的转移,展示系统的动态行为。
- 活动图:用于描述业务流程、系统工作流程乖,展示系统中的操作和活动之间的流程。
- 用例图:用于描述系统的用例和参与者之间的系,展示系统的功能需求。
- 部署图:用于描述系统中软件和硬件之间的部署关系,展示系统的物理架构。
- 组件图:用于描述系统的组件及其之间的关系,展示系统中软件组件和硬 件组件之间的依赖关系。
- 包图:用于描述系统中的包和包之间的依赖关系,展示系统的模块化结构。