UML就是大忽悠
如今UML给人的觉得就是杂凑, 看什么好,就加什么. 好比,UML如今还所谓撑持硬件设想SOC. 它把许多适用于专门范畴的工具, 如电信, 硬件, 看到人家的好, 就拿过来, 凑到一路, 成为所谓UML.
成果是, UML整体膨大, 各部门之间没有什么关系.
再看UML自己,最严峻的问题是,轮回描述,它用UML自己的一小部门来描述其他UML。
UML里,最核心和最有用的概念其实十分简单,就是:联系关系,及联系关系派生的:聚合,和组合,在到联系关系的角色和重数。 然而,就是那个和核心概念,也非UML初创的。 “联系关系”的概念,在UML之前,已在面向对象数据库里呈现,而且是面向对象数据库的核心概念。 假设说UML对那些概念有什么立异的话,也许就是UML提出了表达联系关系的带箭头和菱形的图形符号来表达联系关系。 一般进修其实不教面向对象数据库课程,因而,良多人其实不晓得,UML里那几个核心概念,早就在面向对象数据库里呈现了。
关于UML里的其他图来说, 序列图:电信里早就有MSC(message sequence chart),比UML序列图强大多。活动图:根本上就是法式流程图,没有什么立异。
UML的问题还不在于它能否立异,或者严谨, 关键问题是它不适用。UML逃求同一性和普及性,而普及性往往带来适用性的削弱。
学了UML的人,都有一种觉得: 云里雾里, 不晓得怎么用, 不晓得用来做什么. 那就是杂凑的成果. UML根本上就是大公司玩概念, 忽悠人的工具.
现实上,适用的仍是针对专业范畴的建模语言. 好比,用在电信的SDL, 硬件设想的verilog, VHDL,数学建模的matLab,测控范畴的LabView, 个个都比UML用得好. 那种针对专门范畴,才气处理现实问题.
也许有人会说,UML就是软件系统自己的建模。那种观点未必对。因为,软件都是要处理现实的行业问题的。好比,SDL语言,也可用来为软件系统建模,在电信软件开发范畴,SDL比UML好用。 其他如ERP,CRM,财政,银行等范畴,跟着软件开发的深进,有可能呈现针对该范畴的软件建模手艺。 总之,UML诡计用单一语言,涵盖所有范畴,根本上很难,假设必然要如许做,它无非就是把各范畴的工具凑一路,就会成为大杂烩,使得它不适用。
UML就是忽悠. (小我观点)
下面是在专门范畴用得很好的建模语言及实现该语言的软件:
数学建模: 软件:matLab
硬件建模: 语言:VHDL, Verilog HDL, system C; 软件: synopsys, cadence, mentor graphic等产物
测控建模子: 软件:LabView
电信软件及系统建模: 语言:SDL; 软件:TeleOffice, Telelogic Tau
收集建模及仿实: 软件: OPNET,OMNET++, TeleOffice
构造、流体、电场、磁场、声场建模及仿实: 软件:ansys
物流仿实: 软件:flexsim
等等
(一般来说,仿实都涉及到建模)