当前位置:经典范文谷>心得体会>心得体会精选>

uml心得体会(通用3篇)

心得体会精选 阅读(3.34W)

uml心得体会 篇1

学习UML这门课之前,我一直心底有一个疑问,那就是我们和那些所谓的程序员速成班培训出来的程序员到底有什么差别,都是写代码,那我们在大学里学习的意义是什么呢,直到我学习了UML这门课。我才知道写代码并没有想象中的那么简单,对于同一个功能,肯定有着多种不同的实现方法,而这些方法也肯定有优劣之分。我们之所以不像外面那样的培训班一样速成,是因为我们需要锻炼自己去写出高质量的代码,我觉得这就是我们学习的意义。

uml心得体会(通用3篇)

其实在上UML课之前,我以为UML跟C++和java一样是一门编程语言,直到经过老师的介绍,我才知道UML的全称是Unified Modeling  Language,他不同于C++,java这些编程语言,他是统一建模语言。UML是一种用于可视化描述系统,具有广泛用途的建模语言。作为一种标准化的图形语言,在软件工业中被用于软件系统部件的具体化,可视化,结构化描述以及撰写文档,同样在商业模型中也得到应用。

UML虽然不是一门程序设计语言,但他的重要性是不可忽视的。他的重要性主要体现在:使复杂的软件设计更为简单,也能够实现像OOP(面向对象编程)这一类被广泛应用的概念;用理解起来可能更容易的图来描述,避免了大量的文字;使表达和交流概念或系统结构变得更容易;在一张图中就能够描绘出整个系统;程序员实用类图来描述实际需求时,可让问题更加清晰明了,实现起来更容易。

很多人或许会说直接写代码要比画图分析什么的快多了,但我认为UML在分析和设计阶段十分重要。在学完职责分配原则和了解过一些设计模式过后,我更加坚定了我的想法。或许对于一个小项目来说,实现的方式有很多种,无论是哪一种,可能会有人觉得只要能够实现功能就是可用的,就是好的。但如果是一个比较庞大的项目呢?如果在具体写代码时某个类的职责过于庞杂,那么必定会给系统带来很大的压力。或者说每个类之间的关系特别复杂,那么当后续需要更改某个类的时候,必定会影响到其他的类,带来十分高昂的维护成本。而GRASP的九个原则:信息专家原则,创造者原则,低耦合原则,高内聚原则,控制器原则,多态原则,纯虚构,中介原则,受保护变量原则可以在一点程度上很有效地解决这些问题。

UML这门课程让我学会了话UML的五大类,共九种图:

用例图:从用户角度描述系统功能,并指出各功能的操作者。

静态图:包括类图和对象图。类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。

交互图:描述对象间的交互关系,包括时序图和协作图。时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用时序图;如果强调上下级关系,则选择协作图。

实现图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。

UML也同时让我自己去了解了统一过程,这部分老师并没有详细地讲,我自己查阅资料了解了一些。RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段、细化阶段、构造阶段和交付阶段。每个阶段结束于一个主要的里程碑。每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。

说实话在了解GRASP,设计模式,统一过程后,我觉得UML是一门十分重要的课。但是我在知乎上看到了一个“UML现在有什么用?”的问题,上面的许多高赞答案都是在说UML的用处并不大。甚至有人说UML是糊弄人的东西。但我却不这么认为,判断知识有没有不能仅凭这自己以前的经历,或许有些人用UML的地方并不多,所以他认为UML的用处并不大,但是谁又能肯定的说你以后不会用到UML的建模方法和思想呢?我觉得我们学习的眼光应该长远一点。不管如何,我在UML结课后,仍然会继续学习UML,因为我认为他是十分有用的,虽然目前为止我并没有过参与大型项目的经历,但确实在UML建模后,我对一些问题和业务逻辑有了更深刻的认识,我相信他能帮助我提升我自己的能力,加油!

uml心得体会 篇2

扩展关系:、泛化(继承)关系:、依赖关系:

聚合关系:、组成关系:、

关联关系:、实现关系:

2、UML中几种基本图及其基本功能作用:

UML的重要内容可以由哪五类图(共9种图形)来定义:

答:用例图:用例图。

静态图:类图、对象图

行为图:状态图、活动图

交互图:时序图、协作图

实现图:构件图、部署图

1)类图:类图是描述类、接口、协作以及它们之间的关系的图,用来显示系统中各个类的静态结构。

类包括:类图、属性、方法。

类图包括:类、接口、协作、关系、约束、注释以及包。

类的表示包括:名称、属性、操作、职责和约束。

类图的建模过程:确定对象与类、确定类的属性、确定类的关系。

类图在UML中的重要作用:1.为开发人员提供这种模仿现实世界的表达方式。

2.让分析员使用客户所采用的术语和客户交流,促使客户说出所要解决的问题的重要细节。

2)对象图:对象图表示在某一时刻一组对象以及他们之间的关系的图。

UML对象图的用途

◆捕获实例和连接、◆在分析和设计阶段创建、◆捕获交互的静态部分、◆举例说明数据/对象结构、◆详细描述瞬态图、◆由分析人员、设计人员和代码实现人员开发

3)用例图:表述了一组用例、参与者以及它们之间的关系的图。

用例模型包括:用例图和用例规则。

用例规则包括:基本流和备选流。

用例图的组成元素有:参与者,用例,通信关联,用例规约

建立用例模型步骤:

1) 根据系统边界确定参与者

2) 根据每个参与者确定与之相关联的用例

3) 对每个用例写出用例规约文档,调整用例模型(优化参与者与参与者之间的关系,用例与用例之间的关系)

用例对于系统开发人员来说的价值:是用来从用户的观察角度收集系统需求的一项技术,便于分析员与客户和用户交流,使系统更符合用户的需求

4)顺序图也称为时序图,它描叙了系统中对象间通过消息进行的交互,强调了消息在时间轴上的先后顺序。

顺序图是由对象、生命线、控制焦点和消息等构成。(消息表示了对象间的通信,生命线表示了对象的生存期,控制焦点表示对象正在执行一些活动)

顺序图将交互关系表示为一张二维图,其中纵向是时间轴,时间沿竖线向下延伸,横向代表了在协作中各独立对象的角色。

顺序图中从左到右各对象分别为:执行者角色、控制类、用户接口、业务层、后台数据库。

顺序图的作用:顺序图常用来描述用例的实现,它表明了由哪些对象通过消息相互协作来实现用例的功能。在顺序图中,标识了消息发生的先后顺序。

5)协作图:描述了系统中对象间通过消息进行的交互,强调了对象在交互行为中承担的角色。

协作图包括对象、链(连接器)、消息。

(协作图与顺序图的比较与各自的优缺点下面有)

交互图(协作图与顺序图)的特征:交互图形主要用于对用例中的控制建模,一般情况下,一个交互图形表达单个用例的行为,它表示出该用例中若干个实例对象和对象之间所传递的消息,交互图形有效的帮助人们观察和理解系统内部的协作关系和过程行为。

6)状态图:描述了一个对象所处的可能状态以及状态之间的转换,并给出了状态变化序列的起点和终点。

状态图包括:状态、转换。

一个状态图表示一个状态机,表示从一个状态到另一个状态的控制流。

引发状态转换的事件主要有:调用事件、变化事件、时间事件以及信号事件。

建模步骤:找出适合用模型描述其行为的类、确定对象可能存在的状态、确定引起状态转换的事件、确定转换进行时对象执行的相应动作、对建模结果进行相应的精化和细化。

作用:能帮助分析员、设计员和开发人员理解系统中对象的行为。(P87)

7)活动图:描述从活动到活动的流。

活动图包括:动作状态,活动状态,动作流、分支与合并、分关与汇合、泳道以及对象流。

8)构件图:主要用来描述各种软件构件之间的依赖关系,是描述构件与构件关系的图。

构件图包括注释、约束和包。

构件包括5个要素:接口声明、接口实现、构件标准、封装方法以及部署方法。

构件分为3种类型:配置构件、工作产品构件以及执行构件。

构件图的基本目的是:使系统人员和开发人员能够从整体上了解系统的所有物理部件;同时,也使我们知道如何对构件进行打包,以便交付给最终客户;最后,构件图显示了被开发系统所包含的构件之间的依赖关系

(构件和类的比较见下面)

9)部署图:描述系统中的硬件节点及节点之间如何连接的图。

部署图的组成元素包括节点、节点间的链接。

部署图的目的:描述系统投产的相关问题;描述系统与生产环境中的其他系统间的依赖关系,这些系统可能是已经存在,或是将要引入的;描述一个商业应用主要的部署结构;设计一个嵌入系统的硬件和软件结构;描述一个组织的硬件/网络基础结构。

(活动图与状态图的比较见下面)

3、类图的表示:

4、略

5、对象间的可见性:可见性指的是一个对象能够“看到” 或者引用另一个对象的能力。Public + ,private - ,protected  #

6、类的区分:

UML将类分为边界类、实体类以及控制类。

1)边界类用于描述外部参与者与系统之间的交互。

边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。

2)实体类主要是作为数据管理和业务逻辑处理层面上存在的类别。

实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。

实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。

实体类是用于对必须存储的信息和相关行为建模的类。实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如:事件、人员或者一些现实生活中的对象。

3)控制类用于描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序。

1.边界类,描述外部与系统内部交互的类;2.控制类,控制其他类;3.实体类,存储信息和相关行为的类;

7、面向对象开发系统是一系列对象的集合。

8、面向对象的三大机制:封装、继承、多态。

9、软件工作的有效性和可靠性。

10、面向对象之前是面向过程的结构化分析与设计方法,这种方法以功能分析为基础。

11、对象是客观实体的抽象表示,是由描述对象属性的数据和对这些数据进行的操作行为两部分组成。而类是对具有相同属性和行为一组对象的抽象描述。因此,它作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的实例。通过继承关系又可形成一种类层关系。

12、UML中静态图有:用例图、类图、对象图、构件图、部署图

动态图有:活动图、顺序图、协作图、状态图

简答题:

1、简述面向对象的三大机制:封装性、继承性以及多态性。

1)封装性。所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息的隐蔽;2)继承性。如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。前一个类成为父类,新产生的类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构;3)多态性。在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。多态即程序中同名的不同方法共存的情况,常见的两种多态方式为:①子类对父类方法的覆盖;②  利用重载在同一个类中定义多个同名的不同方法。

2、叙述面向对象发展的动因:

为了超越程序复杂性障碍,克服软件危机,人们提出了面向对象软件开发方法。面向对象开发方法一改过去传统的以功能分析为基础的面向过程的结构化分析与设计方法。面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的结合,其面向对象设计又将分析的结果映射到某一种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。因此,它成为成熟的广为采用的软件开发方法。

3、分析顺序图和协作图之间的差别和优缺点:

顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。

顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。

协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。

填空、选择:

1、2略

3、在用例图中用例与角色是关联角色。

4、顺序图中有生命线。

5、整体与局部的关系用聚集(聚合)表达的。

6、UML图中,关联角色的构造型有5种

7、略

8、UML中4大关系:依赖、泛化、实现和关联。

9、UML构造块中的事物和关系各包含哪些内容?

UML的事物包含:动作事物、结构事物、分组事物、注释事物

动作事物包含:交互、状态机

结构事物包含:类、接口、用例、协作、节点、构件、活动类

分组事物包含:包

注释事物包含:注解

10、活动图中的泳道技术的作用:通过泳道不仅体现了整个活动控制流,还体现出了每个活动的实施者。

11、状态图描述从状态到状态的控制流程,常用来对系统的动态特称进行建模。

12、UML中类可分为3大类:实体类、控制类和边界类。

13、UML体系分为3大部分:UML基本构造块、UML规则和UML公共机制。

1. 比较活动图与状态图:

1)活动图和状态图描述的重点不同:活动图描述的是从活动到活动的控制流,而状态图表述的是对象的状态及状态之间的转移。

2)活动图和状态图使用的场合不同:对于以下几种情况可以使用活动图:分析用例、理解涉及多个用例的工作流、处理多线程应用:对于下面的情况要使用状态图:显示一个对象在其生命周期内的行为。

2.  构件和类的比较:从构件的定义来看,构件和类十分相似,如都有名称,都可以实现一组接口,都可以参与依赖,泛化和关联关系,都可以被嵌套,都可以有实例,都可以参与交互,但它们之间也存着以下明显区别:1)类是对实体的抽象,而构件是对存在于计算机中的物理部件的抽象。也就是说构件是可以部署的,而类不能部署。2)构件是属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽象级别,甚至可以说,构件就是由一组类通过协作完成的;3)类可以直接拥有操作和属性,而构件仅拥有可以通过其接口访问的操作。

3、面向对象方法的基本观点:

(1)客观世界由对象组成,任何客观实体都是对象。对象是系统的基本单位。

(2)复杂的对象可以包含简单的对象。

(3)事物的静态特征用对象的属性表示;事物的动态特征用对象的操作表示。

(4)对象的属性与操作结合在一起,封装成一个独立的实体

(5)具有相同属性和操作的对象可归纳成类,对象是类的一个实例。

(6) 类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。

(7)对象之间通过消息进行通信,以实现对象之间的动态联系。

4、简述面向对象分析方法(OOA)的5个基本步骤

1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步

2)、识别对象的属性

3)、识别对象的行为

4)、识别对象所属的类

5)、定义主题词

uml心得体会 篇3

在80年代末至90年代中,对面向对象分析与设计方法的研究发展到一个高潮。但是,诸多流派在思想和术语上有很多不同的提法,在术语、概念上的运用也各不相同,需要一种统一的符号来描述面向对象的分析和设计活动。UML应运而生。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且有进一步的发展,最终成为大众所共同接受的标准建模语言。统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML  是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。它融入了软件工程领域的新思想、新方法和新技术。不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。

UML 模型、视图、图

UML的概念和模型可以分成以下几个概念域:静态结构、动态行为、实现构造、模型组织、扩展机制

UML视图和图

主要的域视图图主要概念

构静态视图类图类、关联、泛化、依赖关系、实现、接口

用例视图用例图用例、参与者、关联、扩展、包括、用例泛化

实现视图构件图构件、接口、依赖关系、实现

部署视图部署图节点、构件、依赖关系、位置

态状态视图状态图状态、事件、转换、动作、

行活动视图活动图状态、活动、完成转换、分叉、结合

为交互视图顺序图交互、对象、消息、激活

协作图协作、交互、协作角色、消息

模型管理模型管理视图类图包、子系统、模型

扩展机制所有所有约束、构造型、标记值

静态视图

1、 类元

类元是模型中的离散概念,拥有身份、状态、行为和关系。有几种类元包括类、接口和数据类型。其他几种类元是行为概念、环境事物、执行结构的具体化。这些类元中包括用例、参与者、构件、节点和子系统。图列出了几种类元和它们的功能。元模型术语类元中包括了所有这些概念。

类元功能表示法

类类代表了被建模的应用领域中的离散概念。

最重要的特性是多重性

状态类局限于某个给定状态的类

类元角色在合作中局限于某个使用的类元

构件系统的一个物理组成单元

接口刻划行为特征的操作命名集.

节点计算资源

信号对象间的异步通信

子系统作为且有规范、实现和身份的单元的包

用例与外界代理交互中的实体行为说明

2、类元之间关系

类元之间的关系有关联、泛化、各种形式的依赖关系,包括实现关系和使用关系。

关联:对象通常要和其他对象发生关联,关联可以具有多层形式。多重性问题(一对一、一对多)。在UML中关联用一条直线来表示。

泛化:一个类继承了其他类的属性和操作。在UML中泛化用“从之类画一条带空心三角形箭头的连线指向父类”来表示。

依赖:一个类使用了另一个类。在UML中依赖用“从依赖类到被依赖的带箭头的虚线”表示。

聚集是关联的一种,聚集对象由部分对象组成。也就是整体与部分关联。在UML中用“整体和部分之间用带空心菱形箭头的连线连接”来表示。

组合是一种特殊的聚集,在一个组合对象中,部分对象只能作为组合对象的一部分与组合对象同时存在。在UML中用“整体和部分之间用带实心菱形箭头的连线连接”来表示。

实现:类和接口之间的关系被称为实现。在UML中实现关系用一个带空心三角形箭头加虚线来表示,箭头指向接口。