精华内容
下载资源
问答
  • 在类图中,( )关系表达总体与局部的关系。答:聚合正常人血液的pH值是答:7.35~7.45研究设计的关键是明确数据的来源答:×He drew a _____ of the car.答:draft道路越宽,安全系数越高答:×新文化运动时期,成为新...

    在类图中,( )关系表达总体与局部的关系。

    答:聚合

    正常人血液的pH值是

    答:7.35~7.45

    研究设计的关键是明确数据的来源

    答:×

    He drew a _____ of the car.

    答:draft

    道路越宽,安全系数越高

    答:×

    新文化运动时期,成为新的主流国家观的是( )。

    答:功利主义的国家观

    中国大学MOOC: 以下关于SDS-PAGE的说法中,错误的是( )。

    答:安装好电泳槽后,先上样,再加入电极缓冲液。

    在奥尔夫教学中,语言、动作等要素都是儿童最为直接地体验音乐的方式

    答:√

    在解放战争时期国共决战阶段进行的战役有

    答:淮海战役 平津战役 辽沈战役

    高压汞灯中的高压主要是形容

    答:高气压

    材料和国家的科学技术水平和经济发展水平没有关系。

    答:错

    I am _______ to believe that he won’t come back to see his wife again

    答:inclined

    下列植物不属于十字花科的是_______

    答:白玉兰

    我国《安全生产法》中规定:安全生产管理,坚持的方针

    答:安全第一、预防为主

    在广义管理会计的范围内,管理会计既包括财务会计,又包括成本会计和财务管理

    答:√

    假设??险年利率为r=10%,股票价格的年波动率为25%,那么不?付红利的股票,六个?期的平 价欧式看涨期权的Delta值为()

    答:0.6771

    在SELECT语句中,用于计算最小值的函数是

    答:Min()

    下列公式正确的是:( )

    答:CFR=FOB+外运费

    判断企业存货过多的判断方法包括( )

    答:企业的存货周转率显著低于同行业的一般水平 存货的增长率明显大于营业收入的增长率 企业的存货占总资产的比例显著超过同行业的一般水平

    智慧职教: 起重机械所用的钢丝绳在使用时,每月至少要润滑( )次。

    答:2

    当缺乏实测径流资料时,可以基于参证流域用水文比拟法来推求设计流域的年、月径流系列。

    答:对

    在类图中,( )关系表达总体与局部的关系。

    展开全文
  • 1、什么是类图 ... 类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。... 在类图中一共包含了以下几种模型元素,分别是:

    原文链接 :https://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html


    1、什么是类图

      类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。

    2、类图的元素

      在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖(Dependency)关系、泛化(Generalization)关系、关联(Association)关系、聚合关系(Aggregation)、组合关系(Composition)和实现(Realization)关系。

    2.1 类(Class)

      在面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象。

    2.2 接口(Interface)

      接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。在UML中,接口使用一个带有名称的小圆圈来进行表示。

    2.3 依赖(Dependency)关系

      依赖关系是指两个或多个类之间的依存关系,如植物类依赖于土壤类。 依赖关系还可以再细分为5种类型,分别是绑定(Binding)依赖、实现(Realization)依赖、使用(Usage)依赖、抽象(Abstraction)依赖和授权(Permission)依赖。

      依赖关系用虚线箭头来表示,箭头指向为依赖的方向。

    2.4 泛化(Generalization)关系

      简单的讲就是类之间的继承关系。在UML中,泛化关系用空心三角形+实线来表示,箭头指向为父类。

    2.5 聚合(Association)关系

      聚合关系是类之间的一种较弱的耦合关系,如一个字符串数组和一个字符串就是一种聚合关系。在UML中类图中,聚合关系用空心的菱形+实线箭头来表示,箭头指向为被聚合的类。

      

    2.6 组合(Aggregation)关系

      组合关系是类之间一种整体与部分之间的关系,如一只青蛙有四条腿,青蛙类与青蛙腿类之间的关系就是组合关系。在UML类图中,组合关系用实心的菱形+实线箭头来表示,箭头指向为被组合的类。

    2.7 关联(Composition)关系

      关联关系是类之间一种相互影响的关系,影响的方向就是关联的方向。在UML类图中,组合关系用实线箭头来表示。

    2.8 实现(Realization)关系

      一般来讲实现关系是针对类与接口之间的关系而言的。在UML类图中,实现关系用空心三角形+虚线来表示。

    3、简单的类图示例

     




    展开全文
  • 看一些代码介绍时候总会提到 UML 类图。比如前段时间看设计模式,就对类图表示的类之间关系似懂非懂,总是有雾里看花的感觉;所以来补一下 UML 类图的一些简单知识。首先来看一张图 1、车的类图结构为<<...

    看一些代码介绍时候总会提到 UML 类图。比如前段时间看设计模式,就对类图表示的类之间关系似懂非懂,总是有雾里看花的感觉;所以来补一下 UML 类图的一些简单知识。首先来看一张图

       

    1、车的类图结构为<<abstract>>,表示车是一个抽象类;

    2、他有两个继承类:小汽车和自动车。他们之间的关系为实现关系。使用带空心箭头的虚线表示。

    3、小汽车和 SUV 的关系也是继承。但是他们之间关系为泛华关系。使用带空心箭头的实线表示。

    4、小汽车和发动机之间是组合关系,使用带实心菱形箭头的实线表示。

    5、学生和班级之间是聚合关系,使用带空心菱形箭头的实线表示。

    7、学生和身份证之间是关联关系,使用一根实线表示。

    8、学生上学需要使用自动车,是依赖关系,使用带箭头的虚线表示。

    下面解释一下:实现、继承、组合、聚合、关联、依赖这些名词。

         实现:普通类实现接口,普通类实现抽象类都叫实现。 是 is-a 的关系。比如 杨树是植物。老师是动物

         继承:是泛华的关系。汽车在现实中有实现,可用汽车定义具体的对象;汽车与SUV之间为泛化关系;最终代码中,泛化关系表现为继承非抽象类;

         聚合:表示整体和部分之间的关系。聚合关系是可以独立存在的个体组成整体,当整体不存在了,个体还在。比如人组成了工作小组。单工作小组不存在的时候,人还存在。

         组合:表示整体和部分之间的关系。组合关系是不可以独立存在的个体组成整体,当整体不存在了,个体也就还在。比部门组成了公司。当公司不存在了,部门也就不存在了。

         关联:它描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的;它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系;乘车人和车票之间就是一种关联关系。关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A。

         依赖:如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化;

                  显然,依赖也有方向,双向依赖是一种非常糟糕的结构,我们总是应该保持单向依赖,杜绝双向依赖的产生;

                  注:在最终代码中,依赖关系体现为类构造方法及类方法的传入参数,箭头的指向为调用关系;依赖关系除了临时知道对方外,还是“使用”对方的方法和属性;

    时序图

    时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。时序图中显示的是参与交互的对象及其对象之间消息交互的顺序。

    时序图包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。

    关于时序图,以下这篇文章将概念介绍的比较详细;更多实例应用,参见后续章节模式中的时序图;

     

    转载于:https://www.cnblogs.com/pengweiqiang/p/8893836.html

    展开全文
  • 如何在类图中标注设计模式(二)

    千次阅读 2012-12-01 22:38:25
    接文章《如何在类图中标注设计模式(一)》。本文姗姗来迟,见谅! 5. 基于标记的模式标注 美国德克萨斯大学达拉斯分校的Jing Dong等人提出了一种基于标记的模式标注方法(Tagged Pattern Notation)。该方法通过向...

    接文章《如何在类图中标注设计模式(一)》。

    本文姗姗来迟,见谅!吐舌头 

     

           5.  基于标记的模式标注

           美国德克萨斯大学达拉斯分校的Jing Dong等人提出了一种基于标记的模式标注方法(Tagged Pattern Notation)。该方法通过向原有结构图中附加标记值(Tagged Value)的方式来对模式信息进行标注,每一个类可使用“{pattern[instance]:role}”的方式来描述,例如“{Adapter[1]:Target}”表示该类在第一个适配器模式实例中充当抽象目标类角色。如果不存在模棱两可的情况,可以对描述方式进行简化,例如某个类只出现在某个模式的唯一实例中,则可简化为“{pattern:role}”,如果某个类只与一个模式的一个实例相关,则可进一步简化为“{role}”。在这种标注方法中,可以加入多个标记值来对同时充当多种模式的某一角色的类进行标注;在标注时没有增加一些额外的符号和线段,因此没有给结构图的复杂度带来太多影响;此外,该方法还可以标注属性、方法等细节信息,这是目前最好的模式标注方法之一,如图6所示。但是该方法也存在一些问题,很多已有的CASE工具不能够方便地增加标记值,需要通过编程来扩展它们的功能,加大使用的难度;此外,它没有提供一种在源代码中标注模式信息的方式,如果开发人员希望在实现过程中记录模式信息,该方法尚未提供相应的标注方案。

     

     

     (偶不知道Jing Dong同志用啥工具画的此图,我用Visio画的,画得好辛苦,哭,找了好几个工具,发现都没有办法增加Tagged Value,郁闷啊!大哭

    个人观点:该方法不太复杂,但是貌似很多CASE工具增加标记值都不是特别方便!

     

           6.  基于UML Profile的模式标注

           基于UML Profile的模式标注方法(A UML Profile for Design Patterns Notation)也是由Jing Dong(真是牛人啊,弄出这么多方法,据此还发了几篇不错的文章,有TSE哦,微笑等人提出来的,该方法结合了UML的两种扩展机制:衍型(Stereotype)和标记值(Tagged  Value),在该方法中,使用衍型<<PatternClass>>来标注某个类是设计模式的一部分,使用衍型<<PatternAttribute>>来标注某个属性是设计模式的一部分,使用衍型<<PatternOperation>>来标注某个方法是设计模式的一部分;然后再使用标记值对上述三种衍型进行详细的描述,对于类而言,标记值的格式为{role@pattern[instance]}[1..*],role表示模式角色名,pattern表示设计模式名,instance表示实例编号,[1..*]表示这种标注格式对于一个类来说可以重复1次或多次(一个类可以在多个模式实例中充当相应的角色),对于方法和属性而言,标注方法与类的标注方法相似。使用基于UMLProfile的模式标注方法的标注实例如图7所示。

     

    (偶一直未能找到一个UML Profile的最恰当的翻译)

    个人观点:该方法还是略为有点复杂,包含了一些重复信息,图会变得有点大!

     

           7.  基于衍型的设计模式标注方法

        Stefan Berner等最早将衍型用于标注模式信息,他们将衍型分为四类,分别是装饰衍型(Decorative Stereotype)、描述衍型(Descriptive Stereotype)、限制衍型(Restrictive Stereotype)和重定义衍型(Redefining Stereotype)。通过衍型可以给UML模型元素增加一些属性或者描述信息,但是Berner的衍型标注并不完备,没有提供一套完整的衍型标注方式,缺乏对属性和方法等的描述,也未提供源代码中模式信息的标注方案。之后,Jing Dong等人提出了一些通过扩展UML来对设计模式进行可视化的方法,其中就包括使用衍型来描述类图中的模式信息,但是其标注形式较为复杂,需要同时通过衍型和标记值来表示与模式相关的信息,由于标注语句太长,该方法的使用受到一定的局限;与其他方法类似,Jing Dong等人提出的模式信息标注方法也未提供源代码标注方案。

        基于BernerJing Dong等人的工作,我们提出了一套完整、简单、且容易通过现有CASE工具实现的设计模式标注方法——基于衍型的模式标注(Stereotype Based Pattern Notation, SBPN),该方法结合了现有模式标注方法的优点,既可以对结构图中的模式信息进行标注,还可以用于对源代码中的模式信息进行标注。SBPN没有给原有图形增加任何额外的图形元素,标注方式简单易学,可以容易在学术界和工业界推广。SBPN既可以用于标注类图,还可以用于标注交互图和源代码。

        在SBPN方法中,可以通过在结构图(类图)中直接增加衍型来标注模式信息,标注规则如下:

           【规则一】如果某个类只与某个设计模式的一个实例相关,则通过<<PatternName:RoleName>>的形式标注,其中PatternName表示模式名,RoleName表示对应的模式角色名,如<<Composite:Leaf>>

           【规则二】如果某个类涉及某个设计模式的多个实例,为了不引起歧义,更好地理解该类在各个实例中扮演的角色,通过<<PatternName[InstanceNo.]:RoleName>>的形式标注,其中PatternNameRoleName含义与【规则一】相同,InstanceNo.表示实例编号,对于同一种模式,从1开始进行编号,如<<Composite[1]:Composite>>

        【规则三】如果某个类涉及多个设计模式的一个或多个实例,则可以多次重复PatternName[InstanceNo.]:RoleName,两两之间通过分号(“;”)隔开,如<<Composite:Composite;Command:ConcreteCommand>><<Composite[1]:Composite;Command[1]:ConcreteCommand>>

        【规则四】如果需要标注某个方法/属性,如果所在的类使用【规则一】进行标注,则直接对方法/属性所扮演的角色进行标注即可,即标注该方法/属性对应于相应模式角色类中的哪个方法/属性,如<<execute>>;如果所在类使用【规则二】进行标注,为了不引起歧义,在进行方法/属性标注时也需要加上模式名称和编号,如<<Command[1]:execute>>;如果所在类使用【规则三】进行标注,为了不引起歧义,在进行方法/属性标注时也需要同时出现多个模式相关信息,如<<Command:execute;Composite:operation>><< Command[1]:execute;Composite[1]:operation >>

           对于前面所述的图表显示系统,采用SBPN方法对其结构图进行标注后如图8所示:

        除了对UML图形的标注外,SBPN方法还支持对源代码的标注,通过正向工程可以将结构图中的模式标注信息记录在源代码中,也可以通过逆向工程从源代码中获取模式相关信息,一方面便于对代码的阅读和理解,另一方面还有利于系统的扩展和维护。如图9所示某策略模式实例的结构图:

           9对应的Java代码片段如下所示,在源代码中,通过增加“@Stereoptype PatternName:RoleName”形式的注释来对类进行标注,源代码的标注方式和结构图的标注方式类似,区别在于在源代码中使用“@Stereoptype”来取代UML图形中的双尖括号(“<<”和“>>”),同时还可以对源代码中的方法和属性进行标注。

    /**
     *@Stereotype Strategy:Context
     */
    public class ArrayHandler {
        /**
          *@Stereotype strategy
          */
        private Sort sortObj;
    
        /**
          *@Stereotype ContextInterface
          */
        public int[] sort(int arr[]) {
    	sortObj.sort(arr);
    	return arr;
        }
        
        ……
    }
    
    /**
     *@Stereotype Strategy:Strategy
     */
    public interface Sort {
        /**
         *@Stereotype AlgorithmInterface
         */
        public int[] sort(int arr[]);
    }
    
    /**
     *@Stereotype Strategy:ConcreteStrategy
     */
    public class BubbleSort implements Sort {
        /**
         *@Stereotype AlgorithmInterface
         */
        public int[] sort(int arr[]) {
            ……
        }
    }

    (SBPN方法已发表在2012年第11期的《计算机应用》中)

    参考文献
    [1] J.VLISSIDES. Notation, notation, notation[J]. C++ Report, April 1998.
    [2] GERARDO CEPEDA PORRAS, YANN-GAËL GUÉHÉNEUC. An empirical study on the efficiency of different design pattern representations in UML class diagrams[J]. Empirical Software Engineering, 2010, 15(5): 493-522.
    [3] TRESE T, TILLEY S. Documenting software systems with views V: towards visual documentation of design patterns as an aid to program understanding[C]. In: Proceedings of the 25th international  conference on design of communication. ACM, New York, 2007, 103-112.
    [4] JING DONG, SHENG YANG AND KANG ZHANG. Visualizing design patterns in their applications and compositions[J]. IEEE Transactions on Software Engineering, 2007, 33(7): 433-453.
    [5] JING DONG. Adding pattern related information in structural and behavioral diagrams[J]. Information and Software Technology, 2004, 46(5): 293-300.
    [6] JING DONG. UML extensions for design pattern compositions[J]. Journal of Object Technology, 2002, 1(5): 149-161.
    [7] MARTIN GOGOLLA, BRIAN HENDERSON-SELLERS. Analysis of UML stereotypes within the UML metamodel[C]. In: Proceedings of the 5th International Conference on the Unified Modeling Language(UML' 2002) , LNCS(Lecture Notes in Computer Science), 2002, 2460: 84-99.
    [8] STEFAN BERNER, MARTIN GLINZ, STEFAN JOOS. A classification of stereotypes for object-oriented modeling languages[C]. In: Proceedings of the 2nd International Conference on the Unified Modeling Language(UML' 1999), LNCS(Lecture Notes in Computer Science), 1999, 1723: 249-264.
    [9] 蒋严冰,邵维忠,张路,麻志毅. UML中衍型的精确定义与分析[J]. 电子学报, 2003, 31(12A): 2101-2105.
    [10] 刘伟, 胡志刚. 基于衍型的模式标注方法[J]. 计算机应用, 2012, 32(11): 3062-3066.

    【作者:刘伟  http://blog.csdn.net/lovelion

    展开全文
  • 摘要:下列责任制度关于的说安全法生产,类种关正确的是。不认如果人人暂停施天内效的真采工指监理取有承包措施复工收到示后,系表系造成工期延误,系表系人要行质改监理求进量整,暂停导致施工,人已题现质承包...
  • enterprise architect类图中有一个包元素,关于包的含义参看UML包图中的包引入和包合并.这里仅介绍简单的使用. CASE1:包P1中有一个类P1-Class1,包P1导入包P2,你希望P1视图中看到包P2中的内容,如下图所示: 图1 ...
  • 随着设计模式的广泛使用,如何结构图(主要是UML类图标注设计模式成为大家讨论的一个热点话题。设计模式是软件设计的一些微结构,通过一种合理的方法来标注设计模式既有助于开发人员更好地进行设计软件系统...
  • 如何在类图中标注设计模式(一)

    千次阅读 2012-06-01 00:30:11
    随着设计模式的广泛使用,如何结构图(主要是UML类图标注设计模式成为大家讨论的一个热点话题。设计模式是软件设计的一些微结构,通过一种合理的方法来标注设计模式既有助于开发人员更好地进行设计软件系统...
  • 如何在类图中显示带参数的方法

    千次阅读 2009-03-30 15:32:00
    class->右键->options->show operation signature
  • 类图

    万次阅读 多人点赞 2018-04-30 20:43:26
    1、为什么需要类图?...使用工具:Visio或者processon在线作图 在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)以及类之间的关系。2.1 类(Class) 在面向对象(...
  • 类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),组合关系...在类图中使用带三角箭头的实线表示,箭头从子类指向...
  • UML类图中,常见的有以下几种关系: 泛化(继承)(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 泛化(Generalization) 【泛化关系...
  • Astah类图中使用list<>

    2018-01-05 10:39:00
    如何在类图中表示如下的属性,这个问题困扰了我好久。之前百度找不着任何相关的内容,今天终于在其官方论坛找着了答案。 class cMeterRecord { protected: cMeterStatus m_MeterStatus; list<cMeasurementEntry&...
  • UML类图

    2021-02-27 04:11:13
    在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。...接口在类图中通过版型来表示<<interface>>,下面的介绍将主要介绍类,接口和
  • UML中的类图及类图之间的关系 类、接口和类图 1、类 类是指具有相同属性、方法和关系的对象的抽象,它封装了...注意:“可见性”表示该属性对类外的元素是否可见,包括公有、私有、受保护和朋友4种,在类图中分别用符号
  • 类图中的多重性(Multiplicity)

    千次阅读 2017-06-14 15:37:15
    在类图中,关系连线的两端有时会有1、*等符号,通过下图来做一个说明。   在图中: 1. 一个Car有一个Person(司机,这里person指司机),因此在Person端有个符号1; 2. 一个Person(司机)开一辆车Car,因此在Car端...
  • “可见性”表示该属性对类外的元素是否可见,包括公有(Public)、私有(Private)、受保护(Protected)和朋友(Friendly)4 种,在类图中分别用符号+、-、#、~表示。 操作:是类的任意一个实例对象都可以使用的...
  • 在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)以及类之间的关系。 类(Class)  在面向对象编程中,类是对现实世界中一组具有相同特征的物体的抽象。 接口(Interface) ...
  • 不需要"中间表""中间类"的概念,如果需要关注某个领域概念的细节,它就是一个类,不需要就不是,和这个类在类图中的位置无关。 chris: 明白了,thx 主要是我想在文档上标明对应的中间表,以前都是直接多对多,...
  • UML类图中的关系表示

    2019-09-25 11:05:39
    UML类图中比较常见的关系有六种,它们分别是:依赖、关联、聚合、组合、泛化、实现,这六种关系中类之间的紧密程度是依次增强的:依赖 < 关联 < 聚合 < 组合 < 泛化 = 实现。 下面分别介绍一下UML...
  • 在类图中,关联是一种结构关系,它描述了两个或多个类的实例之间的连接关系。聚合描述了整体和部分之间的结构关系。按照关联关系的定义,聚合属于一种特殊的关联关系,只不过这种关联关系具有明确的整体-部分含义...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,039
精华内容 4,815
关键字:

在类图中