今天学习UML,黎活明老师讲的,UML是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。黎老师讲到,设计固然重要,也不用太在意文档的规范性,否则就会本末倒置,只要能把你的思路整理出来,表达清楚即可。不要因为担心做不好就不做,这样永远只会裹足不前,只要开了头,就有进步的机会,永远没有最好的东西,只有更好,更好需要基于第一次开始。
uml本身是一套符号的规定,就像数学符号和化学符号一样,之所以出现这些符号定义,是因为这些符号背后对应着一套思想和方法,这些符号用于帮助描述这套思想和方法的,这些符号是由这套思想和方法催生的。要学uml,就是要借助这些符号来掌握背后的思想和方法,这些符号虽然必须掌握,但它远不如它背后对应的思想和方法重要。
必须熟练掌握了某种面向对象的编程语言和跟着实施了若干个软件项目,才适合学习uml和理解uml中的一些内容,才会有好的学习效果。 UML解决编码前的设计问题,而不解决编码过程的实施问题。
uml图
用例图
静态结构图:类图、对象图、包图、组件图、部署图
动态行为图:交互图(时序图与协作图)、状态图、活动图
比较重要和常用的图有:用例图,类图,时序图,协作图,状态图,活动图。这些也是学习uml必须要掌握的。时序图和协作图可以相互转换。
用例建模是UML建模的一部分,用例建模的最主要功能就是用来表达系统的功能性需求或行为。
参与者(Actor):参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。参与者在画图中用简笔人物画来表示。
用例是是系统为参与者提供的功能。对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。
用例图不是任何时候都需要,只有对流程不太明白的时候才需要。
使用rose画的用例图可以选中以后进行复制粘贴,就把用例图copy下来了。
类图用于描述系统中的对象类本身的组成和对象类之间的各种静态关系。
类之间的关系:泛化(继承)、依赖、关联、聚合与组合
只要是在类中用到了对方,那么他们之间就存在依赖关系。泛化关系实际上就是继承关系,他是依赖关系的特例。关联关系实际上就是类与类之间的联系,他是依赖关系的特例。关联具有导航性:即双向关系或单向关系。关系具有多重性:如“1”(表示有且仅有一个),“0...”(表示0个或者多个),“0,1”(表示0个或者一个),“n...m”(表示n到 m个都可以),“m...*”(表示至少m个)。聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。组合也是整体与部分的关系,但是整体与部分不可以分开。
在rose中画类图和关联他们之间的关系有几个画图的知识点:
单向关联变双向关联: 两个类的navigable 都选中。
关联变组合 在整体的一方选中Aggregate containment of 部分类 下选择by value
关联变聚合 在整体的一方选中Aggregate containment of 部分类 下选择by reference。
时序图(Sequence Diagram)是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换。时序图是一个模型,用于描述对象组如何随着时间在某些行为方面进行协作。
时序图是一种强调消息时序的交互图,他由活动者(Actor)、对象(Object)、消息(Message)、生命线(Lifeline)和控制焦点(Focus of control)组成。在UML中,对象表示为一个矩形,其中对象名称标有下划线;消息在时序图中由有标记的箭头表示;生命线由虚线表示,控制焦点由薄薄的矩形表示(也称可为Activation Bar “活动条”)。
协作图(Collaboration Diagram,也叫合作图)是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。
时序图主要侧重于对象间消息传递在时间上的先后关系,而协作图则侧重于对象间及对象和角色间交互的静态关系。
分享到:
相关推荐
**UML学习手册** UML(Unified Modeling Language)是一种标准化的通用建模语言,用于软件工程中的系统分析和设计。本手册围绕UML的核心概念、主要图表类型以及实际应用进行详细阐述,旨在帮助读者深入理解和掌握这...
学习UML时,可以通过练习来加深理解,例如: 1. 根据中国公民、身份证和银行卡之间的关系,绘制类图。 2. 分析几何图形(线、圆、方、椭圆、多边形)的抽象关系,用类图表示。 3. 标识出几何图形类中的多态方法,如...
以上只是UML学习的基础部分,实际上,UML还包括了许多其他复杂的概念,如接口、抽象类、继承、复合、依赖等,以及动态建模的活动图、序列图等。深入理解和掌握UML,对于提升软件设计的质量和效率具有显著作用。通过...
**UML学习资料课件详解** UML,全称为Unified Modeling Language,中文译为统一建模语言,是一种广泛应用于软件工程领域,旨在提高软件开发效率和团队协作能力的建模语言。UML的设计目的是为了方便在软件开发过程中...
**UML学习课件PPT概述** UML(Unified Modeling Language),统一建模语言,是软件工程领域一种广泛使用的建模工具,它提供了一种图形化的语言来描述、设计和文档化软件系统的结构和行为。这个"uml学习课件PPT"提供...
- **实践应用**:结合实际项目,绘制和解读UML图,加深理解。 - **案例分析**:通过已有的UML案例,学习如何解决实际问题。 - **工具使用**:如Visual Paradigm, StarUML等,熟悉绘图工具的使用。 通过这份“UML...
关于UML的学习,是自己总结的,希望有用吧~
UML图可以用来表示系统的设计,如用例图描绘用户与系统的交互,类图表示对象之间的关系,序列图展示交互顺序,状态图显示对象状态变化,活动图描绘业务流程等。这些图形化工具帮助开发者更好地理解和实现系统需求。...
**UML基础学习教程** UML(统一建模语言)是一种在...学习UML不仅能提高你的设计能力,还能增强团队间的沟通效率,是成为专业软件开发者不可或缺的一部分。记得结合实践,理论与实际相结合,才能真正领悟UML的魅力。
《UML学习指南》 UML,全称Unified Modeling Language,是面向对象建模语言,旨在为软件工程的各个阶段提供一套标准化的建模工具,以提升软件开发的效率和质量。本指南将深入探讨UML的基本概念、历史、作用以及核心...
《UML学习资料实例开发详解》 UML(Unified Modeling Language),统一建模语言,是软件工程领域一种广泛使用的建模工具,它为系统分析和设计提供了图形化的表示方法。UML的学习对于软件开发者,尤其是系统分析师和...
**UML学习资料** 本文将深入探讨UML(统一建模语言)的相关知识,这是一个用于软件工程的强大工具,尤其在系统分析和设计阶段扮演着重要角色。UML为软件开发人员提供了一种可视化的方式来表达系统的设计,使得团队...
**UML学习指南** UML(Unified Modeling Language),即统一建模语言,是软件工程领域中用于系统建模的一种标准化语言。它通过图形化的方式帮助开发者理解和表达软件系统的结构、行为以及关系。本资料包提供了丰富...
7. **建模过程**:UML不仅仅是绘制图表,它还涉及到一个完整的建模过程,包括需求收集、分析、设计和实现等阶段,每个阶段都可能使用到不同的UML图。 学习《UML学习宝典》时,你将逐步熟悉这些概念,并通过实际案例...
### UML学习 #### 使用UML来说明面向对象设计和开发的基本流程 统一建模语言(Unified Modeling Language,简称UML)是一种广泛应用于软件工程领域的标准化建模语言,用于描述面向对象系统的结构和行为。UML能够...
Rose是由Rational公司开发的一款强大的UML工具,它支持多种UML图的绘制,包括用例图、类图、序列图、状态图等。Rose教材通常会涵盖如何使用该工具创建和管理UML模型,以及如何将这些模型应用于实际的软件开发过程。...
学习UML,不仅需要理解其基本概念和图形表示,还要掌握如何运用这些元素进行系统建模。这包括但不限于以下方面: 1. **用例建模**:通过用例图来描述系统与用户之间的交互,定义系统必须提供的功能。 2. **静态...
在这个“UML经典学习内容”中,我们将深入探讨UML的基本概念以及用例图。 一、UML基础概念 1. 类图(Class Diagram):类图是UML中最基本的图表类型,展示了类之间的关系,如继承、关联、聚合和组合等。类图中的类...
本压缩包包含的"StartUML学习资料"是一份全面的教程,旨在帮助用户从零开始掌握这款工具的使用方法。以下是关于StartUML的一些关键知识点: 1. **StartUML简介**:StartUML是由韩国Wareness公司开发的一款开源建模...