UML系统学习二--模块介绍和使用

1.模块介绍

UML 注释:
UML 中最重要的建模元素是符号。
适当有效地使用符号对于一个完整的,有意义的模型来说是非常重要的。
如果一个模型的目的无法正确的描绘,那么该模型是无用的。
因此,在开始学习 UML 的时候就要强调表示法的重要性,不同的符号可用于表示物件和关系。
可扩展性是 UML 的另一个重要的特点,这使得UML更加强大和灵活。

UML 核心:
UML 的核心是图表,大致可以将这些图归类为结构图和行为图。
结构图是由静态图,如类图,对象图等静态图;
行为图是由像序列图,协作图等动态图;

ps:一个系统的静态和动态特性是通过使用这些图的可视化。

UML 类图:
类图是使用面向对象的社会最流行的 UML 图。
它描述了在一个系统中的对象和他们的关系,能够让我们在正确编写代码以前对系统有一个全面的认识。
一个单独的类图描述系统的一个具体方面,收集类图表示整个系统。基本上,类图表示系统的静态视图。
类图是唯一可以直接映射到面向对象的语言UML图。因此,它被广泛应用于开发者社区。

UML 对象图:
对象图(Object Diagram)描述的是参与交互的各个对象在交互过程中某一时刻的状态。
对象图可以被看作是类图在某一时刻的实例。
在UML中,对象图使用的是与类图相同的符号和关系,因为对象就是类的实例。

UML 组件图:
组件图是一种特殊的UML图来描述系统的静态实现视图。
组件图包括物理组件,如库,档案,文件夹等。
此图是用来从实施的角度。
使用一个以上的元件图来表示整个系统。
正向和逆向工程技术的使用,使可执行文件组件图。

UML 部署图:
组件图是用来描述一个系统的静态部署视图。
这些图主要用于系统工程师。
部署图是由节点和它们之间的关系。
一个高效的部署图是应用软件开发的一个组成部分。

UML 用例图:
用例图是从用户角度描述系统功能,并指出各功能的操作者,用来捕捉系统的动态性质。
一个高层次的设计用例图是用来捕捉系统的要求,因此它代表系统的功能和流向。
虽然用例图的正向和反向工程是不是一个很好的选择,但他们仍然在一个稍微不同的方法来模拟它。

UML 交互图:
交互图,用于捕获系统的动态性质。
交互图包括序列图和协作图,其中:序列图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;
协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。

UML 状态图:
状态图是一个用于模拟系统的动态性质的五个图。
这些图用来模拟一个对象的整个生命周期。
一个对象的状态被定义为对象所在的条件下,特定的时间和对象移动对其他状态,在某些事件发生时。
状态图还用于正向和反向工程。
状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。

UML 活动图:
活动图是 UML 的动态模型的一种图形,一般用来描述相关用例图,活动图是一种特殊的状态图。
准确的活动图定义:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。

 

2.下面开始正式的绘图

  第一点:构建模块     

1.UML 的概念模型需要掌握的三大要素是:
UML构建模块
规则连接构建模块
UML的公共机制

2.UML 的构建块的定义如下
事物,关系,图
事物:
事物是实体抽象化的最终结果,是 UML 构建块最重要的组成部分,事物的分类如下
结构事物,行为事物,分组事物,注释事物
结构事物:
结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,接下来是对结构化物件的简要描述:
1).类(class):类是指具有相同属性、方法、关系和语义的对象的集合
              

 

             2).接口((interface)):接口是指类或组件所提供的服务(操作),描述了类或组件对外可见的动作;

               

 

             3).协作(collaboration):协作定义元素之间的相互作用;

               

 

             4).用例(use case):用例定义了执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来实现的一个业务目标;

               

 

             5).主动类(active class):主动类是这样的一种类,其对象至少拥有一个进程或线程,因此它能启动控制活动

               

 

             6).组件(component):组件描述物理系统的一部分;

               

 

            7).节点(node):一个节点可以被定义为在运行时存在的物理元素;

              

 

          行为事物:

            行为事物指的是 UML 模型中的动态部分,代表语句里的 "动词",表示模型里随着时空不断变化的部分,包含两类:     

             1).交互:交互被定义为一种行为,包括一组元素之间的消息交换来完成特定的任务。

               

 

            2).状态机:状态机由一系列对象的状态组成,它是有用的,一个对象在其生命周期的状态是很重要的。

              

     

        分组事物:

           可以把分组事物看成是一个"盒子",模型可以在其中被分解。

           目前只有一种分组事物,即包(package)。

           结构事物、动作事物甚至分组事物都有可能放在一个包中。

           包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。

           包:封装是唯一一个分组事物可收集结构和行为的东西。

              

 

        注释事物:

          注释事物可以被定义为一种机制来捕捉UML模型元素的言论,说明和注释。

          注释是唯一一个注释事物。

          注释:

            

 

 

    关系:

     关系是另一个最重要的构建块UML,它显示元素是如何彼此相关联,此关联描述的一个应用程序的功能,UML中定义了四种关系:  

       1).依赖关系:依赖是两件事物之间的语义联系,其中一个事物的变化也影响到另一个事物

          

 

       2).协作:一种描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系);

          

 

       3).泛化:

          泛化可以被定义为一个专门的元件连接关系与一个广义的元素,它基本上描述了在对象世界中的继承关系,是一种一般化-特殊化的关系;

       4).实现:类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。

          

 

 

     UML图:

       UML 图的整个讨论的最终输出所有要素,关系用于使一个完整的UML图,图中表示的系统。

       UML 图的视觉效果是整个过程中最重要的部分。

       图是事物集合的分类,UML 中包含多种图:

        1.类图:类图描述系统所包含的类、类的内部结构及类之间的关系;

        2.对象图:对象图是类图的一个具体实例;

        3.用例图:用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系;

        4.顺序图:顺序图表示对象之间动态合作的关系;

        5.协作图:协作图描述对象之间的协作关系;

        6.活动图:活动图描述系统中各种活动的执行顺序。

        7.状态图:状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件;

        8.部署关系图:部署关系图定义系统中软硬件的物理体系结构;

        9.组件图:组件图描述代码部件的物理结构以及各部件之间的依赖关系;

第二点:UML架构

 

1.组成部分:
UML 是由视图(View)、图(Diagrams)、模型元素(Model elements)和通用机制等几个部分构成。

视图:
用来表示被建模系统的各个方面。
由多个图构成,它不是一个图片,而是在某一个抽象层上,对系统的抽象表示。
如果要为系统建立一个完整的模型图,只需定义一定数量的视图,每个视图表示系统的一个特殊方面就可以了。

    视图还把建模语言和系统开发时选择的方法或过程连接起来。

  图:

   由各种图片构成,用来描述一个视图的内容。

   UML语言定了9中不同的图的类型,把它们有机地结合起来就可以描述系统的所有视图。

 

  模型元素:

   代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念。

  通用机制

   用于表示其他信息,比如注释、模型元素的语义等。它还提供扩展机制,使UML语言能够适应一个特殊的方法(或过程)、或扩充至一个组织或用户。

 

 ps:UML 系统可以由不同的用户使用,用户可以是开发人员、测试人员、商务人士、分析师等等,

    所以要设计一个系统的体系结构,最重要的是做到从不同的角度来看,实现可视化系统,

    这样也可以让我们自己更好的了解系统,让它达到一个更好的效果。

 

 2.从不同的角度使用 UML 定义一个系统的起着重要的作用,这些角度是:

   设计,实现,处理,部署

  该中心是连接所有这四个用例视图,一个用例代表了系统的功能。因此,其他的角度连接使用的情况下:

   系统设计包括类,接口和协作。 UML类图,对象图支持。

   实现定义的组件组装在一起,使一个完整的物理系统。 UML组件图是用来支持实施的角度。

   流程定义了系统的流动。因此,在设计中所用的相同的元件也可用来支持当前角度看。

   部署代表物理节点的硬件系统构成。 UML部署图是用来支持这个角度来看。

 

第三点:UML的建模类型 

介绍:
UML 建模可以把在复杂世界的许多重要的细节给抽象出。
为了区分 UML 模型, UML 建模用不同类型的不同的图。

接下来介绍三个重要类型的UML建模:
结构建模:
结构建模具有捕捉静态的功能,包括下列各项:
类图,对象图,部署图,包图,复合结构图,组件图

ps:结构模型代表的系统架构,这个框架的所有其他组件存在的地方。
因此,类图,组件图和部署图的部分结构建模。它们都代表的元素和机制将它们组装。
但是,从来没有的结构模型描述系统的动态行为。类图中是最广泛使用的结构图。

行为建模:
行为建模描述了在系统中的相互作用,代表之间的交互的结构图,行为建模显示系统的动态性质,包括下列各项:
活动图,交互图,用例图
ps:所有上述的显示在一个系统中流动的动态序列。

架构建模:
架构建模表示的是一个系统的总体框架,它包含了系统的结构和行为的元素。
架构建模可以被定义为整个系统的蓝图。包图是根据架构模型进行的。

第四点:UML基本表示法

1.符号:
UML是流行的图解符号。

我们都知道,UML 是可视化,说明,构建和记录软件和非软件系统的组成部分。
这里的可视化是最重要的部分,需要被理解和记忆。

UML 符号是最重要的建模元素。
适当有效地使用符号是非常重要的一个完整的,有意义的模型。
该模型是无用的,除非它的目的是正确描绘。
所以学习符号应该从一开始就强调。
不同的符号可用于事物和关系。
UML 图使用的符号物件和关系。
可扩展性是另一个重要的功能,这使得 UML 更加强大和灵活。

2.结构事物:
图形表示法中使用的结构事物是 UML 中最广泛使用的,这些被认为是为 UML 模型的名词。以下是结构事物的列表。
类,接口,协作,用例,活动类,组件,节点

类注释:
下面的图表示的 UML 类,该图被分为四个部分。
顶端部分被用来命名类。
第二个是用来显示类的属性。
第三部分是用来描述由类执行的操作。
第四部分是可选的显示附加组件。

 

 类是用来表示对象,对象可以是任何性质和职责。

 

对象表示法:

  该对象表示以同样的方式作为类。唯一的区别是有下划线的名称,如下图所示。

  

 

 由于对象是实际执行的一类被称为类的实例。因此,它具有相同的使用作为类。


接口表示法:
接口是用圆来表示,如下所示。它有一个名称,一般写成下面的圆圈。

 

 接口是用来描述的功能,而不执行。界面就像一个模板,定义不同的功能但不执行。当一个类实现了接口,也按要求实现功能。

 

协作表示法:

  协作表示由 eclipse 虚线如下所示。它有一个名字,里面写 eclipse。 

  

 

 协作表示职责,一般指责在一组。

 

用例表示法:

  用例表示它里面的一个名字作为 eclipse。它可能包含更多的责任。

  

 

 用例是用来捕捉系统的高层次功能。

 

角色表示法:

  某些内部或外部的与系统进行交互的实体,可以被定义为一个角色。

   

 

 角色是在描述用例图内部或外部实体。

 

初始状态表示法:

  初始状态被定义,以显示开始的一个过程。这个符号存在于大多数图。

  

 

 初始状态的表示法的用法是显示一个过程的起点。

 

最终状态表示法:

  最终状态是用来显示的一个过程的结束。这种表示法也可以用来在大部分的图中描述的目的。

  

 

 

最终状态表示法的用法是显示一个过程的终止点。

 

活动类表示法:

  活动类类似于一类具有扎实的边界,活动类一般是用来描述一个系统的并发行为。

  

 

 

活动类是用来表示一个系统的并发性。

 

元件表示法:

  UML 中的一个组件,如下图所示名称里面。在必要时,可以添加额外的元素。

  

 

 元器件是用来表示系统的任何部分的 UML 图。

 

节点表示法:

  UML 中的一个节点表示的一个方盒子,如下图所示,同一个名字。一个节点表示一个物理的系统组件。

  

 

 节点用来表示物理系统的一部分,如服务器,网络等。

 

 

3.行为事物

  动态部分是 UML 中最重要的元素之一。 

  UML 有一个强大的功能集,代表软件和非软件系统的动态部分。

  这些功能包括交互和状态机。

  相互作用可分为两种类型:

    顺序(序列图),协作(协作图)

 

  交互表示法:

    交互基本上是两个 UML 组件之间的信息交换。下图表示交互中使用不同的符号。

   

 

   交互是用来表示一个系统的组件之间的通信。

 

  状态机表示法:

     状态机描述的组件在其生命周期的不同状态。在下面的图中描述的符号。

     

 

   状态机是用来描述一个系统组件的不同状态。状态可以是活动,空闲或任何其他根据情况。

 

4.分组事物

  组织的 UML 模型设计的最重要的方面之一。 UML 中只有一个元件即可用于分组,也就是包。

  包表示法:

    包装信息书写方式如下表所示,这是用来包装系统组成部分的。

    

 

 

5.注释事物

  任一图表中说明的不同的元素和它们的功能是非常重要的。因此,UML 符号注释,以支持这一要求。

  注释表示法:

    这种表示法如下所示,它们被用来提供一个系统的必要的信息。

    

 

 

 

6.UML 关系

  模型是不完整的,正确的描述,除非元素之间的关系。关系给出了一个 UML 模型的意思。

  以下是 UML 中提供的不同类型的关系:

    Dependency,Association,Generalization嘛,Extensibility

 

  依赖表示法:

    依赖是UML元素的一个重要方面。它描述了相关的元素和方向上依赖关系。

    依赖关系的虚线箭头表示,如下所示。箭头代表的独立元素,另一端的依赖元素。

    

 

   依赖关系是用来表示一个系统的两个元素之间的依赖。

 

  协作表示法:

    协作介绍 UML 图中的元素相关联。简单的一句话,它介绍了多少个元素参与互动。

    联合会(无)两侧的箭头的虚线表示。两端代表两个相关联的元素,如下所示。在两端(1,*等)的多样性也提到多少对象相关。

    

 

 协作是用来表示一个系统的两个元素之间的关系。

  

  泛化表示法:

     泛化介绍了面向对象世界的继承关系。这是父与子的关系。

     泛化为代表的空心箭头,如下图所示箭头的一端表示的父元素而另一端表示子元素。

     

 

 

  泛化是用来描述一个系统的两个元素的亲子关系。

 

 可扩展性表示法:

   所有的语言(编程或模型)有某种机制来扩展与其功能类似的语法,语义等。 UML 具有以下机制来提供可扩展性功能。

   定型观念(代表新元素)

   标记值 (代表新的属性)

   约束 (代表界限)

   

 

  ps:可扩展标记基本上是用来表示一些额外的系统行为的附加元素。这些额外的行为,不包括可用的标准符号。

 

 

学习来源:https://www.w3cschool.cn/uml_tutorial/uml_tutorial-kty628y9.html

posted @ 2020-10-09 12:19  小窝蜗  阅读(727)  评论(0)    收藏  举报