2分钟搞清楚UML

原创 2014年02月02日 23:58:21

         现在我们带着4个简单的问题一起来了解UML…

        1.什么是UML?

         答:统一建模语言(Unified Modeling Language,简称UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。

        2.UML的作用是什么?

        答:UML描述了一个系统的静态结构和动态行为。UML将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定功能的模型结构。静态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互关系。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度对系统建立的模型可用于不同的目的。(下图很能说明)

                                    

通过对飞机进行建模——建立模型结构,使原本复杂的问题得以拆分、简化,实现分崩离析、各个击破。

下面将其作用列举如下:
(1)捕获和精确表达项目的需求和应用领域中的有关知识,以使各方面的利益相关者能够理解并达成一致。
(2)软件系统的不同模型可以捕获关于这个软件的应用领域、使用方法、度量手段和构造模式等方面的需求信息。
(3)进行系统设计。建筑设计师可以用画在图纸上的模型图、存于计算机中的模型或实际的三维模型使自己的设计结果可视化,并用这些模型来做设计方面的试验。建造、修改一个小型模型比较简单,这使得设计人员不需花费什么代价就可以进行创造和革新。
(4)使具体的设计细节与需求分开。通常顾客对具体的设计细节并不关心,只要能满足他们的需要即可。

(5)组织、查找、过滤、重获、检查以及编辑大型系统的有关信息。方便地研究多种设计方案,这些设计方案共享一些公共信息。

      3.建模的内容有哪些?

      答:模型包含两个主要方面:语义方面的信息(语义)和可视化的表达方法(表示法)。语义方面用一套逻辑组件表达应用系统的含义,如类、关联、状态、用例和消息。可视化的表达方式以可使人观察、浏览和编辑的形式展示语义信息。

      4.UML的视图有哪些?

答:



UML建模的启示:当面临一个比较困难的问题时,如果难度实在大,光是着急,没有用。不去多看,因为有时巨大的困难会把我们吓到。使我们低估自身的力量。反而此时应调整思想,将事情简单化思考。就像上图的造飞机,不要一次性造一整架飞机,将其拆分成若干零件。将现工艺水平不可能一次性造出飞机,变成了造出所有单个的零件组装而成飞机,成为最终的可能——有时,表明看起来,做的是南辕北辙的事情,却恰恰是解决问题的捷径。


        两分钟,只能了解简单的介绍,若对UML表示有兴趣,请关注接下来的博文,我会通过UML的9种图尽量详细地描述。我是初学者,如果您也是初学者,相信在此你我都有所收获!欢迎吐槽!感谢您的到访!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

进度条,我还没搞清楚它的用法

  • 2011年04月02日 01:58
  • 170KB
  • 下载

今天搞清楚了java连接db2的问题,jdbc的解决方案

java连接db2的问题,大家已经都讨论过了。看到论坛里又有坛友提问,我也就自己测试总结出来,共享下.JavaSoft将JDBC驱动程序细分为四大类,就是大家经常讲的type1,或者type4等. ...

再谈互斥锁与条件变量!(终于搞清楚了啊!!!!!)

pthread_cond_wait总和一个互斥锁结合使用。在调用pthread_cond_wait前要先获取锁。pthread_cond_wait函数执行时先自动释放指定的锁,然后等待条件变量的变化。...

移动APP的开发迭代离不开测试,你搞清楚其中的关键点了吗?

App测试的一个要求是一个beta测试环境。为此,操作系统制造商要么提供他们自己的测试环境,比如:Testflight (iOS),要么可以使用任一商用工具,如:HockeyApp (Android)...
  • piooix
  • piooix
  • 2017年01月06日 15:33
  • 124

一篇文章让你彻底搞清楚Python中self的含义

原文链接:http://python.jobbole.com/81921/ 只是觉得写得真的很好,自己也很需要,加入收藏夹。。。我收藏夹上千了。。哎。。 刚开始学习Python的类写法的时...

我终于搞清楚为什么MobileTrack获取到的联通3G基站与大家手头的基站表不同了

我终于搞清楚为什么MobileTrack获取到的联通3G基站与大家手头的基站表不同了   我 终于搞清楚这个问题...

搞清楚release与debug的区别

摘自vccode网站: 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行 闻怡洋   译 homepage:   http://vchelp.zb169.net   ...
  • kelinlc
  • kelinlc
  • 2011年02月19日 15:01
  • 686

我终于搞清楚为什么谷歌地图获取到的联通3G基站与大家手头的基站表不同了

我终于搞清楚这个问题了,大家使用谷歌地图手机版、MobileTrack以及网优用的FieldTest获取到的WCDMA基站Cellid为什么不是大家手头的CellTrack91或基站表里的数字了。。。...

彻底搞清楚 RxJava 是什么东西

其实从rxjava14年出现到现在,我是去年从一个朋友那里听到的,特别是随着现在app项目越来越大,分层越来越不明确的情况下,rxjava出现了,以至于出现了rxandroid。其实如果你了解观察者模...

jsonp原理详解——终于搞清楚jsonp是啥了

什么是JSONP?先说说JSONP是怎么产生的:其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自己的方式来阐释一下这个问题,看看是否有帮助...
  • zaxzdqd
  • zaxzdqd
  • 2017年01月09日 15:04
  • 253
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2分钟搞清楚UML
举报原因:
原因补充:

(最多只允许输入30个字)