UML学习小结

在java的学习过程中,对面向对象有更深的接触了,也有更深的理解,进而学了UML,发现UML其实对于分析设计静态类图或者动态交互图都有很大的作用,对于设计模式,架构模式都有很大的帮助。于是小结如下:

1,UML简介。UML是一种定义良好、富于表达、功能强大且普遍适用的建模语言;UML统一了Booch、OMT、OOSE和其他面向对象方法的基本概念和符号; UML是一种建模语言而不是一种方法;为软件系统的产出建立可视化模型。

它由元素(4种。结构元素、行为元素、分组元素、注释元素。),关系(4种。依赖关系、关联关系、类属关系、实现关系。),图(13种。类图、对象图、组件图、组结构图、包图、部署图。顺序图、通信图、定时图、活动图、用例图、状态机图、交互概览图。)三种部分组成。

由于一个项目包括三个部分:符号,工具,过程。于是RUP和UML也有一些关系,符号:UML——统一建模语言。过程:RUP——Rational统一过程,是软件工程化过程,包括:分配任务和责任,在开发周期和成本约束下满足用户需求,保证质量。RUP为如何有效地使用统一建模语言UML提供指导。

2,面向对象的一些概念。面向对象 = 对象 + 类 + 继承 + 通信。类与对象:抽象与实例化,父类子类:继承与扩展,对象之间:通信与功能协同,类的重用:抽象类、功能类等,积木式重用,整体协调:良好的面向对象结构, 整体升级:可扩展的面向对象结构。

关于面向对象设计,有这两种方法:瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,并且规定了它们自上而下的次序,如同瀑布一样下落。喷泉模型是一种以对象为驱动、以用户需求为动力的模型。该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,类似一个喷泉。

3,UML中的关系。关系主要有四种:依赖关系、类属关系、关联关系、实现关系。

1)、依赖关系。(带箭头的虚线表示) 

   一个模型元素的变化影响另一个模型元素,则两个元素之间存在依赖关系。所有的关系(类属关系、关联关系和实现关系)都是各种各样的依赖关系。如:一个类向另一个类发送消息,或一个类是另一个类的数据成员。。。

2)、类属关系。(带空心箭头的实线)

   一般事物与该事物的特殊种类之间的关系(继承)。子元素继承父元素所有具有的结构和行为,通常还添加新的结构和行为,或修改父元素的行为。(is-a-kind-of)三个要求:(1) 特殊元素与一般元素完全一致。(2) 特殊元素应包含额外信息。(子类的扩展)(3) 特殊元素的应用场合包含一般元素的应用场合。

3)、关联关系。(一条实线) 
  表示两个类之间存在某种语义上的联系。它是一种结构关系,规定了一种事物的对象可以与另一种事物的对象相连。(结构化关系)
     关联关系的要素:
  (1) 角色(Role):同一个类在不同的关联中,可以扮演不同的角色。(Job类扮演worker或boss角色)
(2) 阶元(Multiplicity):关联的对象的数目(1…n)
(3) 关联类(Association Classes):既有类属性,又有关联属性的元素。

(4)导航、可见性。

(5)聚合关系,整体与部分的关系,代表了“has-a”(拥有)关系。整体对象与部分对象不存在一致的生命周期,用带实线的空心菱形表示。

(6)组合关系,组合是聚合的变种,不同的是整体与部分之间具有一致的生命周期。 “整体”负责“部分”的创建和破坏。用带实线的实心菱形表示。
4)、实现关系。(空心箭头的虚线) 
  实现关系是分类器之间的语义关系,一个分类器规定合同,另一个实现合同。接口与实现类或组件为典型的实现关系。接口将操作与其实现分离开来。

 4,UML中的图。

用于需求分析的用例图。

用于对象交互的,顺序图。

和顺序图等价的协作图。

这个表示活动与活动之间的活动图,相同活动的对象用泳道表示。


这个是在活动图之上的状态图,表示对象在不同时刻的状态。


通过UML中的各种静态图和动态图就能更好的用于建模。


你可能感兴趣的:(UML)