前言
UML全称是Unified Modeling Language,翻译过来是统一建模语言,而且是一种面向对象的可视化的建模语言,而不是程序设计语言。
为什么要引用UML呢,看视频的过程中,慢慢发现正是因为可视化的建模语言,将用户的功能需求,模块之间的联系以图的形式显示出来,变复杂为简单,清楚明了很能说明问题。
不过需要注意的一点是,UML建模语言一种面向对象的可视化的建模语言,那么需要我们具有的就是一个抽象的能力。说起来很简单,但是必须注意培养这个能力。
事物(Things)
说到UML必须要说的就是,UML里面有什么东西,如何直接引入其中的关系和图可能会显得很唐突。(友情提示:一下举例的图均为建模工具中涉及的图)
1. 结构事物
1.1类(class)
将具有相同特征的事物可以抽象成一个类,类具有静态大的属性和动态的方法。
以图举例:
1.2接口(interface)
接口指明了通过什么方法可以使用这个接口,但是没有说明具体的实现方式,比如:我们“去学校”是个接口,你可以骑车去,坐公车去,当然走着也可以,这些具体的实现方法要看使用接口的对象了。
以图举例:
1.3协作(collaboration)
这里是说对象之间的交互作用,对象之间的联系和作用是如何完成的。
1.4用例(use case)
对动作序列的抽象描述,以及产生的相应结果(后续博客会就用例图加以阐述)。
1.5主动类(active class)
主动类的实例为主动对象,主动对象可以控制线程并发起控制活动。怎么说的这么抽象?好吧,主动对象可以说是能够触发控制别的事件或活动。
以图为例:
1.6构件(component)
我们知道构件是可以复用的,实现一组接口,使用更换都很方便。
以图为例:
1.7节点(node)
Uml中节点可以为一种资源,例如服务器:
2 行为事物
2.1交互(interaction)
对象本来是孤立的,但是研究孤立的对象又是没有意义的,那么对象之间是如何作用,如何联系工作,就是交互了。
2.2状态机 (state machine)
我目前的理解为,对象或事件所处的一种状态。以图为例,图示中的来电显示,空闲,使用均是一种状态:
3 分组事物
3.1包(package)
包是进行封装的,可以是类,接口,节点,构件和用例。以图为例:
4 注释事物(note)
用来解释说明,辅助理解。以图为例:
结语
UML是一种可视化的建模语言,或许说了这么多,还是有些不太理解,没关系我们后续还会有说明,不过说白了这个就是为了我们能够创建模型,在软件开发的阶段中使用,辅助软件开发而来的。