UML,全称Unified Modeling Language,统一建模语言。它是软件和系统开发的标准建模语言,主要是以图形的方式对系统进行分析、设计。同时,UML不是一个程序设计语言,也不是一个形式化的语言,而是一个可视化的建模语言。
由图我们可以基本了解UML的基础概念,其中最主要的是基本构造中的关系和图。
关系:表示基本符号或事物间的关系。
关联:用一条横线表示
依赖:虚线加一个箭头,表示事物之间的依赖关系,箭头指向被依赖的对象
泛化:一条线和空心三角形框组成;也可以说是继承
实现:虚线加空心三角,类在虚线端
画图可以说是这部分最重要的模块,UML就是要通过画图来让开发人员更能清楚的了解要开发的程序,所以说画图是我们学习的重点也是难点。先简单介绍一下各个图的基本概念:
用例图:用来描述用户的需求,从用户的角度描述系统的功能,并指出个功能的执行者
类图:用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构
对象图:类图的一个实例,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系
状态图:用来描述类的对象所有可能的状态及事件发生时状态的转移条件
活动图:用来描述满足用例要求所要进行的活动以及活动间的约束关系,是用活动图有利于识别系统的并行活动
序列图:描述对象之间的交互顺序
协作图:对象之间的合作关系
构件图:代码构件的物理结构以及各构件之间的依赖关系
部署图:定义了系统中硬件的物理体系结构,用来描述实际的物理设备以及他们之间的连接关系
现在还在看UML视频阶段,对它的了解还需要进一步加深。不过呢,通过这一点的开门学习,我能深切感觉到,先前我们学习的文档的编写是让我们由程序员步入更高地位的一个跳板,可以让我们注意到以前仅仅编写代码所无法注意的细节问题。而UML的学习,则是让我们更加形象化的了解我们要开发的软件,不仅如此,也可以让那些不懂编程的人也能够看懂。越往后学习,感觉自己接触的东西越高大上。既然如此,那就努力吧,fighting。。。
刚刚开始接触UML,有很多地方还不是很了解,如果有什么不足之处希望大家指导,让我们共同进步。