UML视频学习完了,整体的思路也在最后三集的复习课理清了,先由面向对象是什么和面向对象的发展引入了与之联系密切的统一建模语言UML;然后讲述了怎么利用UML建模,也就是整个系统不同角度的视图 -- UML的9种图;接下类很自然的引出了怎样画UML的9种图、图的基本构造和一款很棒的作图软件 Rational rose。
一张图胜过前言万语,来张导图理理整体思路。
1.定义:
统一建模语言,可视化的面向对象建模语言,其实呢就是一种图形化的语言,用图说话的语言,我们学的很多计算机语言是用代码来写的,UML的不同之处就在于它是用图形来表示的。当以个繁杂的系统用文字表达不清楚的时候,UML图的作用就凸现出来了。
2.描述什么:
描述一个系统的静态行为和动态行为。
3.特点:
以图形的方式来表现系统结构。
4.怎样建模:
从不同的角度形成系统不同的视图,也就是UML的9种图。
面向对象技术包含了很多方面,面向对象语言只是其中的一种。UML建模语言也是其中最典型的一种方法。面向对象的优点主要是与面向过程对比体现的。个人的理解呢面向过程一直强调的都是一个整体的设计过程,某一环节出现问题或者需要扩展升级,此时对于整个系统的各个环节都需要做出改动,工作量就比较大了,维护起来比较麻烦,程序的扩展性也不高。
与此相反的是面向对象程序设计是以类和对象为基础的,进行模块化设计,所以模块内要高内聚,模块之间要低耦合,同时提高了代码可重用性,提高编程效率,而且这样某一局部出现问题或者需要扩展升级的话对整个系统的修改就比较小了。这样一来,开发效率提高了,软件质量上去了,维护起来也比较省力;
其实这个才是今天的重点,但是必须得有前面的铺垫,才可以说明为什么这里是重点了。
下面是UML图的层次结构。UML图共分为四类,每一类下面又细分,共汇集了9种图,Rational Rose软件中的视图框里也是根据这四类然后建立具体的图。
1.用例图( Use Case Diagram )
※ 用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元
2.类图(Class Diagram)
※ 类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)
※ 类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联
3.对象图( Object Diagram )
※ 对象图是类图的实例,是类图在某一具体时刻的展示,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类
4..顺序图(Sequence Diagram)
※ 顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互
※ 顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件
5.协作图(CollaborationDiagram)
※ 协作图描述对象间的协作关系,协作图跟顺序图 相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系.
※ 协作图的一个用途是表示一个类操作的实现
6.状态图(State ChartDiagram)
※ 状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成
7.活动图(Activity Diagram)
※ 活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动
※ 活动图描述了一组顺序的或并发的活动
8.构件图(ComponentDiagram)
※ 构件图为系统的构件建模型—构件即构造应用的软件单元—还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响
9.部署图(DeploymentDiagram)
※ 部署视图描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配。
UML (Unified Modeling Language)作为一种可视化的统一建模语言是软件开发设计的蓝图,由于文字的局限性,复杂的系统很难用文字将其概况清楚,当文字过于繁琐时,仁者见仁智者见智也很容易引起争议,于是这种简单的图形设计语言就应运而生了,图形与文档相结合让我们的软件开发有了更加明确的方向性指导。