Blog Content

    티스토리 뷰

    [UML] Class Diagram 심화 (편집중)

    Class Diagram 심화

    참고 : http://www.uml-diagrams.org/class-diagrams-overview.html






    2. Class Diagram Overview
    • Class
    • Relationship


    3. Class
    3.1 Class Overview

    Middle compartment holds attributes and the bottom one holds operations - analysis. Class is shown as solid-outline rectangle containing the class name.

    class is a classifier which describes a set of objects that share the same


    Class는 같은 Feature, Constraints, Semantics를 가지는 Object를 표현하는 Classifier이다.


    쉽게 정의하면 Class는 객체지향에서 사용되는 클래스의 개념과 같다고 보면 된다.


    3.1.1 Classifier

    Classifier is an abstract metaclass which describes (classifies) set of instances having common features. A feature declares a structural or behavioral characteristic of instances of classifiers.

    More formally, classifier is (extends):


    Classifier는 같은 Feautre를 가지는 인스턴스들을 표현하기 위한 Abstract Metaclass이다.

    다음 <그림3-1>과 같이 Type, Templateable Element, Refindable Element, Namespace를 상속받은 것들을 Classifier라고 한다.
    그리고 <그림3-2>와 같이 Classifier의 속성을 기반으로 하는 DataType, Interface, Class, Collaboration, Use Case, Actor 등을 모두 Classifier라고 한다.


    UML classifier is type, templateable element, redefinable element, and namespace.
    <그림3-1> UML classifier is type, templateable element, redefinable element, and a namespace.
    http://www.uml-diagrams.org/classifier.html#abstract-classifier



    The most important UML 2.5 classifiers.
    <그림3-2> The most important UML 2.5 classifiers - classinterfacedata typecomponentcollaborationuse case, etc.
    http://www.uml-diagrams.org/classifier.html#abstract-classifier



    3.1.2 Feature
    UML classifier feature overview diagram.
    <그림 3-3> Feature overview diagram
    http://www.uml-diagrams.org/uml-core.html#feature


    UML에서는 Feature를 두 가지로 구분한다.
    • Structural Features
    • Behavioral Features
    UML Class Diagram에서는 Feature를 다음 두가지로 구분한다.
    • Structural Features : Attributes
    • Behavioral Features : Operations



    3.2 표기 방법

    3.2.1 이름 (Name)

    Class name should be centered and in bold face, with the first letter of class name capitalized (if the character set supports upper case).

    클래스 이름은 다음과 같이 네모 박스 안에 기입한다.
    • 상자의 가운데에 위치해야 한다.
    • 굵은 글씨체로 기입해야 한다.
    • 첫번째 글자는 대문자로 기입해야 한다.
    Middle compartment holds attributes and the bottom one holds operations - analysis. Class is shown as solid-outline rectangle containing the class name.



    3.2.2.1 클래스 다이어그램과 소스코드 비교

     class diagram

    source code 

     Middle compartment holds attributes and the bottom one holds operations - analysis.

     package com.tistory.devdasom;


    public class SearchService {

    private SearchEngine engine;

    private SearchRequest query;

    ...

    }



    3.2.2.2 문법

    Syntax 

     property ::= [ visibility ]  ['/']   property-name   [ ':' property-type ]   [ '[' multiplicity ']' ]   [ '=' default-value ]   [ property-modifiers ] 

     visibility ::=   '+'   |   '~' |   '#'   |   '-'   

     property-modifiers ::= '{' property-modifier   [   ','   property-modifier ] *   '}' 

     property-modifier ::=   'id'  |  'readOnly'  |  'ordered'  |  (  'seq'  |  'sequence'  )  |  'unique'  |  'nonunique'   |   'union'  |  

                    'redefines'   property-name  |  'subsets'   property-name  |  property-constraint  



    4.4 Association



    Aggregation과 Composition은 Associaiton의 한 종류(?)이다.



    Association은 표현방법이 굉장히 다양한데, 이렇게 표현하는 방법도 있다. 화살표 방향으로 읽는다. Driver dirves Car 이런식으로.


    'UML' 카테고리의 다른 글

    [UML] Class Diagram 기본  (7) 2017.04.08

    Comments