前言
UML视频学习步入了尾声,尽管还是比大部队的节奏慢上一二拍,但是我却是从这次的UML学习收获到了。学习的心态有了很好的变化,以前消极情绪一直萦绕着我,我一直给自己消极的暗示,总觉得自己不行,但是我发现,只有付出时间去接触和了解一块知识,你绝对不会一无所获的。所以,前提铺垫完了,我就开始继续分享我和UML后续的“故事”。
主要内容
UML概念再认知
上一篇提到了UML的概念,Unified 统一的,Modeling 模型的,Language 语言。统一建模语言,她是面向对象的。面向对象意味着UML这门语言,包含也涉及了封装、继承、和多态。
我们现在加深了她面向对象的特质,那么能够面向对象的她,能在软件设计方面,帮助我们做些什么呢?
她的主要作用,是帮助用户对软件系统进行面向对象的描述和建模。她可以描述这个软件开发过程,从一开始的需求分析一直到软件的实现和测试。
UML从宏观上分为以下四个大部分。视图,图,模型元素,通用机制。
其中对视图的概念一直不清晰的我,得出的小小结论是,视图并不是图,而是一种抽象,表达系统某一方面特征的UML建模元素的子集。
模型元素包含如类,接口,对象,关系等概念,易于理解。
通用机制,通用机制,当然是通用的喽,表示UML里的一些其他信息,如注释,模型元素的语义等。
UML的结构构成分为以下三个大部分。其中结构事物富含的内容多,关系是联系事物的重要部分,再有就是重要的汇集事物的九种图。
下面来简单介绍一下结构事物的组成。
结构事物分为7种
1.类,将相同的属性和方法结合到一起。
2.接口,描述操作集
图中的window 类 要实现Iwindow alterface,真正可以实现操作的不是接口,具体实现由window类实现。
3.协作,定义交互的操作。表示一些角色和其他元素一起工作。
4.用例,来源于用户需求,定义了系统执行的一组操作。
5.主动类,和类相似。指类对象有一个或多个线程或进程的类。画法上它的最外面边框使用粗线。
6.组件,实现一个或多个接口的系统元素。
7.节点,是一个物理元素,代表一个可计算的资源。节点用一个立方体来表示。
关系,是UML里面有趣的部分,事物间存在的联系,用不同类型的线段就可以很好的表示出来。孤立的事之间,有了纷繁的关系,UML就变得热闹起来啦~
关联(Association),指一种对象对另一种对象有联系。关联也可以有方向,有单向关联和双向关联。
下图就是一个单向关联。多个员工效力于一家公司。人和公司就联系了起来。
依赖(Dependency),是关系最弱的一种关系,一个对象的变化会引起另一个对象的变化,这就是双方的依赖了。用一条带有箭头的虚线表示。箭头是指向被依赖的一方。下图的Client依赖于Supplier。
泛化(Generalization)定义了一般和特殊之间的分类关系。空心的箭头指向父类。子类分享了父类的元素。
下图就是Engineer 和Manager都继承了Employee的元素。
实现(Realization),如将一种模型元素类和另一种模型元素接口联系起来的关系。用带有空心箭头的虚线来表示。接口在此只是说明,不会真正的来实现,真正的实现者是由前一个模型元素来实现。
以上的四种关系,要注意他们的线段特征,不要混淆。
关于关系,还要注意,关系的命名,和数字的对应(关系之间也可以存在一对一,一对多等情况)。
后记
博客的总结是对视频笔记的第二遍的学习,其中很多自己当时记下来的缩写,自己再猛一看是很陌生,但是联系前后的笔记内容,自己还是能够想起自己所要表达的意思,所以,这次的小总结,还是给了我一些小小的信心。
下一篇将展开UML结构的重要组成部分,九种图的学习分享。请继续关注。
以上不足之处,望大家指正。