精华内容
下载资源
问答
  • 对象图和类图区别

    千次阅读 2021-02-27 23:29:19
    UML类图UML对象01 类图和对象的关系这就要从两者的概念入手了:类图:用于描述系统中所包含的类以及它们之间的相互关系。对象:用于描述某一时刻的一组对象及它们之间的关系。两个概念拎出来一对比,差别就很...

    两者的关系:对象图可以看做是类图的实例,用来表达各个对象在某一时刻的状态

    两者的异同:主要表现为两者建模元素的异同(下面有对比说明)。

    UML类图
    UML对象图

    01 类图和对象图的关系

    这就要从两者的概念入手了:

    类图:用于描述系统中所包含的类以及它们之间的相互关系。
    对象图:用于描述某一时刻的一组对象及它们之间的关系。

    两个概念拎出来一对比,差别就很明显了,在于后者多了“某一时刻”。

    因此,对象图可以视作类图的实例,用来表达各个对象在某一时刻的状态。

    对象图中的建模元素主要有对象和链,对象是类的实例,链是类之间的关联关系的实例。

    02 类图和对象图的异同

    就像前面已经提到的,两者的异同主要表现为建模元素的异同。

    下面就从两者的建模元素说起:

    类图VS对象图

    1)具有3个分栏,自上而下依次为名称、属性和操作;对象只有两个分栏,自上而下依次为名称、属性

    2)在的名称分栏中只有类名;对象的名称形式为“对象名:类名”,匿名对象的名称形式为“:类名”;

    3)的属性分栏定义了所有属性的特征;对象则只定义了属性的当前值,以便用于测试用例或例子中;

    4)中列出了操作;对象图中不包括操作,因为对于同属于同一个类的对象而言,其操作是相同的;

    5)使用关联连接,关联使用名称、角色、多重性以及约束等特征定义。类代表的是对对象的分类所以必须说明可以参与关联的对象的数目;对象使用链连接、链拥有名称、角色,但是没有多重性。对象代表的是单独的实体,所有的链都是一对一的,因此不涉及到多重。

    展开全文
  • UML9种包图类图、对象

    万次阅读 热门讨论 2014-02-04 10:18:32
    接着是一个系统的静态架构,用抽象的手段抽象出类,概括类的属性方法,描述系统的静态架构,需要绘制类图和对象;然后是系统的动态行为即协作图和序列,以及系统的活动状态,明确了系统的状态还需要明确系统...

             描述一个系统需要从系统的需求开始,找出系统的需求及需实现的功能,即用例、角色和相互之间的关系,这就需要绘制用例图;接着是一个系统的静态架构,用抽象的手段抽象出类,概括类的属性和方法,描述系统的静态架构,需要绘制类图和对象图;然后是系统的动态行为即协作图和序列图,以及系统的活动状态,明确了系统的状态还需要明确系统状态是如何变迁的,即活动图和状态图;最后设计好了一个系统,发布部署网络架构和软件的体系图,即构件图和部署图。这就是uml9种图。

         

        对系统的需求分析即功能的确定已经学习了用例图,链接地址如下:

          http://blog.csdn.net/xdd19910505/article/details/18730981

              这次接着介绍类图和对象图以及包图。类图是软件系统静态部分的呈现,描述的是所有可能的情况,而对象图是系统在某一时刻的静态结构。包图则是对一个软件系统进行模块的划分,使得源码结构更加清晰。

        

       (一)类图

              类图描述的是系统的静态部分,类图包含的元素有类、接口、协作和类的四种关系。一个类就是许多的相同属性或者是相同动作的一些对象抽象抽来的。类的部分如图11所示。类除了这些基本的元素之外,还有相应的可见性和属性范围。可见性即类的成员的可见度。每个实例都拥有自己的属性和方法,对于一个类的所有成员都可以共享这个成员,这个成员就成为是静态成员,下成员的下面加上下划线加以区分。一个类可以通过一个接口来实现一个功能,那么这个接口有可能是为了完成某种操作而抽象出来的一个类,这样的类叫做抽象类,抽象类的区分是名称是斜体的表示。抽象类是不可以被实例化的,为了方便我们的造作而存在,有抽象出来的属性和方法。

             

               机房收费系统当中,可以把所有用户抽象成为一个类,用户包括一般用户、操作员和管理员,这三个不同级别的用户既可以作为各自的一个类,也可以实例为一个对象,暂且先作为一个类存在,这三个类都继承了用户的所有属性和部分共有的方法。有各自派生出自己的方法。机房收费系统的类图(仅是个人的想法,欢迎大家批评)如下:

        

        




       (二)包图

             包图是把一个复杂的图模块化,相似功能的类放在一个包中,使得程序结构上比较清晰,源码比较易读,最终目的是组织源代码,一个包就相当于一个子系统。包中的元素可以包括类、接口、构件、用例和其他包等。包与包之间常有的关系是泛化和依赖,主要取决于包内部的成员之间的关系。机房收费系统的包图(貌似是有些简单,但目前就是这么理解的)如下:

          


       (三)对象图

             类图和对象描述的都是一个系统的静态结构,类图描述的是所有可能的情况,而对象图描述的是一个系统在某个具体时刻的静态结构。是一个系统在某个时刻的运行快照。对象图包含的元素有对象、连接和包。对象图只是片面的某个时刻的静态结构,对于类图而言对象图就显得很具体很简单。

             就机房收费系统中管理员用户添加和删除员工时刻的对象图(不知道这么理解对不对):


          

         

          了解类这三种图,对uml的理解就更深刻了一些,这些都是用来描述一个软件系统的静态结构的。一个系统的动态行为是怎样描述的呢?继续学习ing…… 期待ing……


    展开全文
  • 【UML九种系列】之包图类图

    千次阅读 热门讨论 2013-08-01 10:22:34
    一、Package (一)相关概念: 1、:  一个=一层=一个命名空间=一个文件夹 2、的命名:  简单名:王老二  路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班.王老 3、可见性:  +公有;#...


    一、包Package

    (一)相关概念:

    1、包:

       一个包=一层=一个命名空间=一个文件夹

    2、包的命名:

       简单名:王老二

       路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班.王老

    3、可见性:

       +公有;#保护;—私有

     

    (二)包之间的关系:

         引入和按访问依赖:

    解析:百家讲坛邀请:中国.河北省.廊坊市.廊坊师范学院. 信息技术提高班.九期班.王老二  来讲课

     

    (三)设计包的原则:

    1、重用等价原则:

    把类放入包中时,应考虑把包作为可重用的单元。

    2、共同闭包原则:

    把那些需要同时改变的类,放在同一个包中。

    3、共同重用原则:

    把一起使用的类,放在同一个包中。

    4、非循环依赖原则:

    包之间的依赖关系不要形成循环。

    二、类Class

    (一)相关概念:

    1、类class:

    类是对一组具有相同属性、操作、关系和语义的对象的抽象,面向对象系统组织结构的核心。类和对象表示现实世界,用消息和方法来模拟现实世界的核心思想。

    2、抽象类(abstractclass)

    抽象类是一种不能被直接实例化的类。

    抽象类是不完整的,并且它只能用作基基类

     

    3、关联类(associationclass)

    关联类既是关联也是类,它不仅像关联连接两个类,而且还可以定义一组属于关系本身的特性。

    问:为什么使用关联类?

    答:面向对象建模中存在这样的问题:两个类之间存在多对多的关系,有些属性不容易归到某一个类中。从图中可以看出Job类是即是一个关联关系也是一个类,是为了描述类Person与类Company之间的关联关系的。

    解析:Person类和Company类因为工作的缘故而存在关系。要建模Person和Company之间的这种工作关系,很重要的一个内容是工作岗位和这一岗位的工资。如果没有关联类,那么将工资这一属性放在Person类或是Company类都不合适。那很自然,这一属性应当放在关联关系上。相反,如果不适用关联类的话,Person类的属性中应该包含Company,Company类的属性中也应该包含Person,从而造成了数据冗余的现象。所以,从另一个角度来讲,使用关联类目的是解耦合。

    这一点也让我们联想到:数据库三范式中消除部分依赖、传递依赖。

     

    (二)类之间都有哪些关系?

    1、泛化(generalization):

    泛化是指一般元素和特殊元素之间的分类关系

     

    2、关联(association)

    模型元素间的一种语义联系,它是对具有共同的结构特性、行为特性、关系和语义的链的描述。

     

    (1)聚合(aggregation)

    聚合是一种特殊的关联关系。表示类之间的整体与部分的关系。特征:多了不多,少了不少

    在需求描述中的“包含”、“组成”、“分为…部分”等词汇都意味着存在聚合关系。

        

    解析雁群类是由大雁类组成的,但是多一只大雁对雁群没有影响,少一只大雁对雁群也没有影响。仍然是雁群,不会变成烧鸡。

    (2)组合(composition)

    组合是一种特殊形式的关联关系,组合关系中的整体与部分具有同样的生命周期。特征:不可分割  

                      

    解析:大雁类是由翅膀类组成的,即每只大雁都有两个翅膀。两个翅膀是大雁不可分割的一部分。就像是国家的每一寸领土都是中国的一部分一样,是不可分割的组合关系。当然,你可能想到少了一只翅膀的大雁,不还是大雁吗?当然,只是这样子的大雁已经没有办法执行飞行的功能了,因此是一只不完整的大雁,不能称作是大雁。在这里,类应该是一个完整的。不完整的大雁不能称作是大雁。同样,缺少了翅膀的大雁不能被称作是大雁类。

    3、实现(realization):

    类实现接口

          

    解析:大雁类实现飞接口。

     

    4、依赖(dependency):

    表现为函数中的参数(use a)。是一种使用关系y=fx表示一个类依赖于另一个类的定义,其中一个事物的变化将影响使用该事物的另一事物。因为x变化,所以y才变化。

         

    解析:如果王老二要借车,车具有被借的属性,则王老二与车之间是依赖关系。对应到定义里就是,车的改变将影响到使用车的王老二。

    在类中,依赖由各种原因引起,如:

    一个类向另一个类发消息;

    一个类是另一个类的数据成员类型;

    一个类是另一个类的某个操作参数类型;

     

    更为详细的用法请参加《设计模式之UML五种关系与代码的对应关系

     

    三、接口Interface

    (一)相关概念

    1、接口:

    接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

     

    (二)抽象类与接口的差异?

    答:接口比抽象类更抽象,主要体现在以下几个方面:

    1)继承:类可以实现无限个接口,但仅能单重继承(从一个抽象/其他类继承)从抽象类派生的类仍可实现接口;接口是用来解决多重继承。

    2)方法:抽象类可以存在非抽象的方法;接口里面的方法只是一个声明,必须用public来修饰,没有具体实现的方法。

    3)成员变量:抽象类中的成员变量可以被不同的修饰符修饰;接口中的成员变量默认的都是静态变量。

    4)本质:抽象类是对象的抽象;接口是一种行为规范。


     

    展开全文
  • [机房重构]UML包图类图、用例、时序

    千次阅读 热门讨论 2015-03-28 22:03:29
    之前三层的时候各层之间的传递很清晰,包图也很容易就画出来了,先来看之前三层的包图。通过实体将输入的信息从U层传入B层,同时通过实体将信息从D层传入B层,B层进行判断,通过实体将结果返回给U层。 之前的三层...

        机房重构画图是一个非常重要的一个阶段,机房重构之前也画过UML的图,但是这一次与上一次不同,这一次有分层的思想在里面。

    包图

        之前三层的时候各层之间的传递很清晰,包图也很容易就画出来了,先来看之前三层的包图。通过实体将输入的信息从U层传入B层,同时通过实体将信息从D层传入B层,B层进行判断,通过实体将结果返回给U层。

        

       之前的三层不能很好的实现低耦和的思想,并且我们学习了设计模式,要继续进行分层,进行七层的编写。之前不太理解,看大家的博客,知道在U层和B层之间加入了外观模式,降低U层和B层之间的耦合,在B层和D层之间加入了抽象工厂和接口层,并且为了减少重复代码的编写加入了sqlHelper。七层包图如下:


    
    

    类图:

    第一次画图的时候把分别把学生、卡、账单看作一个类,现在有了分层,在每个包下面会有很多类。以UI层为例,看我的类图,其他层可能错误比较多,就不贴出来了。


    用例图:

    这次画的和第一次画的差别不是很大,把每一个窗体看做一个用例。






    时序图:

    感觉不太会画,以登录为例,初次画图如果有什么错误欢迎指正。重构过程中还会继续修改这些图的。


    总结:

           敲了一些代码才知道画图真的很重要,画图可以有一个整体的总观,可以明白各个层到底是怎么抽象的,这样会非常方便方法的编写和返回值的确认,以及有助于代码命名规范的实行,如果图画好了,代码就真的不是问题了,我的图还需要好好的补充和修改。


    展开全文
  • UML之对象类图包图

    千次阅读 热门讨论 2013-12-09 11:34:18
    这篇博客主要讲述了UML中对象包图类图之间的联系、区别,用一些简单形象的小例子为大家陈述了理论的知识,简单易懂
  • 下面将对UML的九种+包图的基本概念进行介绍以及各个的使用场景。 一、基本概念   如下所示,UML分为用例视图、设计视图、进程视图、实现视图拓扑视图,又可以静动分为静态视图动态视图。静态分为...
  • 参考《UML面向对象系统分析与设计教程》第五章对象图和类图5.1 概述UML的类图和对象表达的是对象模型的静态结构方面。它不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,还包括类的内部结构,如类的...
  • UML——对象图和类图

    千次阅读 热门讨论 2016-05-15 22:48:34
    1、类图和对象用来表达对象模型的静态结构。 2、对象的特点:状态、行为、标识。
  • 类图

    2018-05-07 16:29:22
    本节主要内容 类图 顺序 状态 类与类之间关系的含义、符号表示代码实现以及顺序...UML的结构1、视图:包括了用户视图、结构视图、行为视图、实现视图、环境视图2、:包括了用例类图、对象包图...
  • 的分类 : 分为结构行为 动态行为, 结构行为包括类图,对象,用例,组件,配置; 动态行为 包括状态,活动,时序,协作; 静态概念 : 类图, 对象, 包图是静态; 静态显示系统的静态
  • UML之用例图和类图

    千次阅读 2020-02-14 01:26:01
    软件建模的作用是把源于现实世界的问题转化为计算机可以理解实现的过程。 软件建模的实现过程是从需求入手, 用模型表达分析设计过程, 最终将模型映射成软件实现. UML (1)UML(United Modeling ...
  • 五子棋游戏Java代码简单实现(含活动图和类图设计) @TOPIC 游戏活动 类图 代码实现 import java.lang.Math; import java.io.*; import java.util.Scanner; class Gobang { // 定义棋盘棋盘大小 private ...
  • UML静态类图、对象包图

    千次阅读 热门讨论 2019-01-22 17:18:52
    UML静态主要用来描述系统的各种概念,不包括系统动态行为细节,包括类图,对象和包为静态思维导图 一、类图 1.类图元素:类名称,类属性,类行为 2.什么是类:类是面面相对象程序设计的术语,...
  • 和类图

    千次阅读 2019-09-26 10:30:28
    类(Class)封装了数据行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。
  • 用例 用来描述用户需求的,在用户的角度分析 。 用例构成 用例是什么意思呢? 功能的描述 角色(小人) 一种人员的角色 关系 执行者用例之间的关系 依赖,泛化,关联 主要属性 事件流 描述一个用例...
  • UMl之静态(用例类图包图、对象

    万次阅读 热门讨论 2014-12-11 14:49:55
    静态 (Static diagram),包括类图、对象包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性操作)。类图描述的是一种静态...
  • 类图和对象详解

    万次阅读 多人点赞 2016-11-03 12:34:13
    对于类图和对象来说我们需要了解的是类图和对象的概念,类图的组成,使用Rose创建类图和对象。当然最重要的是如何使用Rose创建类图案例分析。具体的创建通过选课管理系统的简单用例说明创建类图和对象的方法...
  • 类图和对象

    千次阅读 2019-06-30 04:52:26
    类的定义:类是具有相似结构、行为关系的一组对象的描述符。 2.类之间的关系 2.1 关联 关联(association)是模型元素简的一种语义联系,它是对具有共同的结构特征、行为特性、关系语义的链的描述。 ...
  • UML【类图包图对象

    千次阅读 2018-06-02 20:17:12
    和类图1.类是面向对象程序设计实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明一组操作数据或传递消息的函数。类的实例称为对象。2.类图:用来描述系统的静态部分。3.类图的关系(1...
  • 对象&类图比较

    千次阅读 热门讨论 2015-11-25 14:25:08
    那么对象图和类图之间有什么区别呢 对象 一、概述 描述一个系统在某个具体时刻的静态结构。而类图描述所有可能的情况(动态) 对象包含的元素:1、对象 2、连接 3、 二、类图和对象区别 类图 对象...
  • 九、用例:1.定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例。  2.组成:①参与者(执行者)  1)参与者的定义:参与者是指存在于系统外部并直接...
  • UML---静态类图和对象

    千次阅读 2017-06-04 21:37:32
    对象是显示了一组对象他们之间的关系 对象类图的实例,几乎使用与类图完全相同的标识 注意:由于对象存在生命周期,因此对象只能在系统某一时间段存在 2.表示:对于对象来说无需提供单独的形式。类图...
  • 设计类类图的一个变体,类图表示一系列的类以及它们之间的关系。因为分析阶段是一个发现需求的过程,所以我们一般很少关心类的属性方法的细节。在面向对象设计中,类的属性有一个特征叫可见性,它表示其它类...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,674
精华内容 10,669
关键字:

包图和类图的区别