태그 보관물: UML

UML – Aggregation

aggregation은 association의 하위 분류로, 집합적인 관계를 표시합니다. 연관관계를 가지는 클래스 객체와 라이프 사이클이 동일하지 않을 경우, aggregation 관계입니다.

1. class diagram

2. code
2.1 I.java

public class I {
private ArrayList<J> array;
public I() {
}
public void setArray(ArrayList<J> array) {
this.array = array;
}
}

2.2 J.java

public class J {
private J j;
}

uml – composition

composition은 association의 하위 분류로, 집합적인 관계를 표시합니다. 연관관계를 가지는 클래스 객체와 라이프 사이클이 동일한 경우, composition 관계입니다.

1. class diagram

2. code
2.1 G.java

public class G {
    private ArrayList<H> array;
    public G() {
        array = new ArrayList<H>();
    }
}

2.2 H.java

public class H {
    private G g;
}

uml – association

association은 단순하게 관계가 있다는 말이죵.. 관계에는 단방향과 양방향이 있겠죵.. ^^
그리고, association은 집합적인 개념으로 aggregation과 composition을 포함하고 있습니다..

1. 양방향
 – 아래의 그림처럼 실선으로 표현합니다.

 – 위 Diagram을 통해서 도출된 코드는 아래와 같습니다.. ^^
A.java

public class A {
    /** */
    public B Unnamed1;
}

B.java

public class B {
    /** */
    public A Unnamed1;
}

2. 단방향
 – 아래의 그림처럼 화살표와 실선으로 표현합니다.

 – 위 Diagram을 통해서 도출된 코드는 아래와 같습니다.. ^^
C.java

public class C {
    /** */
    public D Unnamed1;
}

D.java

public class D {
}

staruml

STARUML, 예전에 plastic software 인가?? 로 기억을 하고 있는데.. 그넘이 오픈소스화 되면서 STARUML이라는 이름을 단 것으로 알고 있습니다. 개인적으로 UML을 스터디(2000년도 가량)할 시점에서는 rational rose와 맘먹는 기능과 UI로 매우 좋았었는데요.. 오픈소스화 된것은 좋지만, 계속적으로 발전을 하지 않는 모습(버전 업이 안되네요.. ^^;;)은 매우 안타깝네요.. 그래도 아직까지 감사하게 잘 쓰고 있습니다. ㄳㄳ

웹 사이트는 http://staruml.sourceforge.net/
메뉴얼은 http://staruml.sourceforge.net/docs/user-guide(ko)/toc.html
위 메뉴얼 처럼, 한글로 자세한 설명이 되어 있는 오픈소스는 거의 없다시피 하죵.. ^^

참 좋은 UML 툴인거 같습니다. ^^