新霸哥发现UML在面向对象的设计中的需求,相关行为、一些体系结构的实现提供了一套综合完整的表示法,但是由于使用的人比较少,初学者不容易快速入门,所以就导致了UML不是那么的受欢迎。

  UML在开发中有什么样的意义?

  架构师可以用UML非常清晰直观告诉开发人员,一套架构整体规划是什么样的,各自之间有什么样的关系,各自职责是什么。开发人员要用UML可以很好的告诉自己以及伙伴,自己的需要做什么任务,准备如何去做,需要什么帮助的资料。这些问题都可以通过UML非常清晰完整的表达出来,比起几十张的文档要简单实用;这些还可以作为追溯的一种方式,可以让项目或者功能有据可查,能够保留历史,方便查看。

  新霸哥总结了一下UML和开发本身是没有任何的关系的,其实可以理解为一个说明文档:说明开发需求,说明需要的思路,说明问题的解决方案。

  UML的价值所在

  UML的核心作用和价值是用于 OOAD(面向对象分析与设计中的图形建模。在敏捷开发时代,新霸哥注意到了UML是敏捷软件设计、敏捷建模的核心技术之一。

  UML相关的书籍还是有很多的,很多的高等院校也开设了相关的课程的。最为常见的一本书:uml面向对象建模与设计,该书对UML有一个比较全面的介绍。大学期间计算机专业的朋友可能也会接触到UML,因为用的比较少,可能很多的朋友已经忘了。

  UML 常用术语

  关联是对象间长期的关系。在关联中,一个对象保存对另一个对象的引用,并在需要的时候调用这个对象的方法。

  聚合表明一个对象是一个更大的整体的一部分。这个被包含的对象可能会参与多个的聚合关系,并相对整体而对立存在。

  依赖一般的表现方法是方法的局部变量,或者是方法内对静态方法的引用。

  关联一般的表现方法是对象的全局变量。

  约束是一段文本,用以描述UML元件的语义,允许你加新的规则或是修改现有的元件.图形表现上,约束被表现为用一对括弧括起的一串字符串,并被放置在关联元件的附近或是那个元件或元件组的依赖关系附近。新霸哥发现其作为替代方案,你可以在一个备注里表现一个约束。

  好了,关于UML方面的介绍就到这里了,如果你还想了解更多的关于UML方面的问题可以关注新霸哥。

为什么现在UML很少用了的更多相关文章

  1. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  2. linux下snprintf和sprinf很少被提及的区别

    函数原型:int snprintf(char *dest, size_t size, const char *fmt, ...);函数说明: snprintf函数中的第二个参数,size的解释:siz ...

  3. 很少人知道的office专用卸载工具

    Microsoft Office是微软公司开发的一套基于 Windows 操作系统的办公软件套装.常用组件有 Word.Excel.Powerpoint等.当我们不需要再用了或者想安装旧版本的话,首先 ...

  4. DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)

    函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一 ...

  5. Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 ...

  6. 12个很少被人知道的CSS事实

    之前没有认真的研究过,padding-bottom的值如果是百分比,那么它的实际值是根据父类的宽度来调整的.我还以为是根据这个元素的本身的宽度来定义呢?汗..padding-top/padding-l ...

  7. 为什么国外的 App 很少会有开屏广告?

    前言: 笔者在知乎看到这个问题,觉得这的确是一个值得关注和回答的现象,遂写了回答并整理成本文发布在此抛砖引玉,欢迎讨论. 正文: 古话说得好,先问是不是,再问为什么. 对于「国外的 App 很少有开屏 ...

  8. 滚动效果marquee的用户体验不好,很少被用到,一般用jquery替代

    滚动效果marquee的用户体验不好,很少被用到,一般用jquery替代

  9. Linux Shell 裡一些很少用到卻很有用的指令

    Linux Shell 裡一些很少用到卻很有用的指令 2009年11月30日 13:53:00 yaoyasong 阅读数:414   Linux Shell 裡一些很少用到卻很有用的指令 你是不是已 ...

随机推荐

  1. 套接字I/O函数write/read writev/readv send/recv sendto/recvfrom sendmsg/recvmsg

    函数原型 read/write系原型 #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); #include ...

  2. 1436:数列分段II

    1436:数列分段II 题解 二分答案 我们最终答案的取值区间是[  max(a[i])  ,   ∑a[i]  ] 设定 l=max(a[i]) , r=∑a[i]  , mid不断二分 mid表示 ...

  3. Origin 2017 给曲线加标记符号

    最近在用Origin 2017画曲线图,需要给图像得曲线加上不同得标记符号用以区分,把操作步骤记录下来,免得忘了. 1.用Origin 2017打开一个曲线图,在任意一条曲线上点击右键弹出菜单,选择[ ...

  4. TimePicker 时间选择器

    用于选择或输入日期 固定时间点 提供几个固定的时间点供用户选择 使用 el-time-select 标签,分别通过star.end和step指定可选的起始时间.结束时间和步长 <el-time- ...

  5. Dart 基本语法

    ?? // 如果b为null则赋值,否则保持原样 b ??= value; 级联符号.. querySelector('#confirm') // Get an object. ..text = 'C ...

  6. Octavia Rocky UDP 负载均衡功能试验

    目录 文章目录 目录 前言 UDP 简述 功能验证 网络拓扑 资源对象清单 验证 TS Amphorae UDP 包被非法篡改 存疑 前言 以往,Octavia 通过 HAProxy + Keepal ...

  7. Java学习之==>面向对象编程 Part2

    一.封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结 ...

  8. Java学习之==>面向对象编程 Part1

    一.面向对象与面向过程 1.面向过程 角度是功能,以方法为最小单位,思考的是具体怎么做. 2.面向对象 角度是抽象,以类为最小单位,思考的是谁来做. 3.示例:“小明去上班” 面向过程 起床,刷牙洗脸 ...

  9. harbor无法登陆解决

    添加如下内容 [root@bogon ~]# vi /etc/docker/daemon.json { "registry-mirrors": ["https://wb2 ...

  10. java:异常机制(try,catch,finally,throw,throws,自定义异常)

    * String类中的格式化字符串的方法: * public static String format(String format, Object... args):使用指定的格式字符串和参数返回一个 ...