新霸哥发现UML在面向对象的设计中的需求,相关行为、一些体系结构的实现提供了一套综合完整的表示法,但是由于使用的人比较少,初学者不容易快速入门,所以就导致了UML不是那么的受欢迎。
UML在开发中有什么样的意义?
架构师可以用UML非常清晰直观告诉开发人员,一套架构整体规划是什么样的,各自之间有什么样的关系,各自职责是什么。开发人员要用UML可以很好的告诉自己以及伙伴,自己的需要做什么任务,准备如何去做,需要什么帮助的资料。这些问题都可以通过UML非常清晰完整的表达出来,比起几十张的文档要简单实用;这些还可以作为追溯的一种方式,可以让项目或者功能有据可查,能够保留历史,方便查看。
新霸哥总结了一下UML和开发本身是没有任何的关系的,其实可以理解为一个说明文档:说明开发需求,说明需要的思路,说明问题的解决方案。
UML的价值所在
UML的核心作用和价值是用于 OOAD(面向对象分析与设计中的图形建模。在敏捷开发时代,新霸哥注意到了UML是敏捷软件设计、敏捷建模的核心技术之一。
UML相关的书籍还是有很多的,很多的高等院校也开设了相关的课程的。最为常见的一本书:uml面向对象建模与设计,该书对UML有一个比较全面的介绍。大学期间计算机专业的朋友可能也会接触到UML,因为用的比较少,可能很多的朋友已经忘了。
UML 常用术语
关联是对象间长期的关系。在关联中,一个对象保存对另一个对象的引用,并在需要的时候调用这个对象的方法。
聚合表明一个对象是一个更大的整体的一部分。这个被包含的对象可能会参与多个的聚合关系,并相对整体而对立存在。
依赖一般的表现方法是方法的局部变量,或者是方法内对静态方法的引用。
关联一般的表现方法是对象的全局变量。
约束是一段文本,用以描述UML元件的语义,允许你加新的规则或是修改现有的元件.图形表现上,约束被表现为用一对括弧括起的一串字符串,并被放置在关联元件的附近或是那个元件或元件组的依赖关系附近。新霸哥发现其作为替代方案,你可以在一个备注里表现一个约束。
好了,关于UML方面的介绍就到这里了,如果你还想了解更多的关于UML方面的问题可以关注新霸哥。
为什么现在UML很少用了的更多相关文章
11 个很少人知道但很有用的 Linux 命令
Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...
linux下snprintf和sprinf很少被提及的区别
函数原型:int snprintf(char *dest, size_t size, const char *fmt, ...);函数说明: snprintf函数中的第二个参数,size的解释:siz ...
很少人知道的office专用卸载工具
Microsoft Office是微软公司开发的一套基于 Windows 操作系统的办公软件套装.常用组件有 Word.Excel.Powerpoint等.当我们不需要再用了或者想安装旧版本的话,首先 ...
DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)
函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一 ...
Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)
著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 ...
12个很少被人知道的CSS事实
之前没有认真的研究过,padding-bottom的值如果是百分比,那么它的实际值是根据父类的宽度来调整的.我还以为是根据这个元素的本身的宽度来定义呢?汗..padding-top/padding-l ...
为什么国外的 App 很少会有开屏广告?
前言: 笔者在知乎看到这个问题,觉得这的确是一个值得关注和回答的现象,遂写了回答并整理成本文发布在此抛砖引玉,欢迎讨论. 正文: 古话说得好,先问是不是,再问为什么. 对于「国外的 App 很少有开屏 ...
滚动效果marquee的用户体验不好,很少被用到,一般用jquery替代
滚动效果marquee的用户体验不好,很少被用到,一般用jquery替代
Linux Shell 裡一些很少用到卻很有用的指令
Linux Shell 裡一些很少用到卻很有用的指令 2009年11月30日 13:53:00 yaoyasong 阅读数:414 Linux Shell 裡一些很少用到卻很有用的指令 你是不是已 ...
随机推荐
【Spark机器学习速成宝典】模型篇02逻辑斯谛回归【Logistic回归】(Python版)
目录 Logistic回归原理 Logistic回归代码(Spark Python) Logistic回归原理 详见博文:http://www.cnblogs.com/itmorn/p/7890468 ...
nodejs 中的 cookie 及 session
cookie-parser 插件:cookie解析,加密的操作 cookie-session 插件:session 的解析操作 http 是无状态的 cookie:在浏览器保存一些数据,每次向服务器发 ...
C# 判断两条直线是否相交
直接上代码,过程不复杂 ///
布尔 kotlin(4)
布尔布尔用 Boolean 类型表示,它有两个值: true 和 false .若需要可空引用布尔会被装箱.内置的布尔运算有:|| – 短路逻辑或&& – 短路逻辑 ...
JS - 获取函数的参数名称
看 Angular 依赖注入时发现的神奇的操作,实现原理是 Function.prototype.toString() 得到函数的字符串然后用正则判断. 参见 javascript - How to ...
如何保存 Activity 的状态?
Activity 的状态通常情况下系统会自动保存的,只有当我们需要保存额外的数据时才需要使用到这样的功能.一般来说, 调用 onPause()和 onStop()方法后的 activity 实例仍然存 ...
Linux_Shell基础
目录 目录 查看系统中可以使用的shell 重定向 管道 变量 export指令与echo的不同 算术运算符 用户个性化系统变量文件 通配符 引号 文件比较运算符 查看系统中可以使用的shell ca ...
四十九:数据库之Flask-SQLAlchemy下alembic的配置
准备工作 配置数据 创建迁移文件并映射到数据库 增加字段 删除字段
unittest 和 pytest 对比
一.用例编写规则 1.unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...
I/O检测介绍
I/O性能监测可总结如下:* 任何时间出现CPU等待IO,说明磁盘超载.* 计算出你的磁盘可维持的IOPS值.* 判定你的应用是属于随机磁盘访问型还是有序型.* 通过对比等待时间和服务时间即可判断磁盘 ...