구조성 |
클래스 |
모델의 조립 부품의 집합. 클래스와 관계에 의해서 (클래스의) 구조와 (클래스 간의) 관계를 표현한다 |
객체 |
시스템의 어떤 시점에서의 snapshot | |
행동성 |
유스 케이스 다이어그램 |
시스템의 문맥과 외부 기능(functionality)의 설정 |
순서 |
상호작용하는 객체의 시간 순서 계열 즉, 객체의 집단 메시지 송신에 대한 시계열 표현이다 | |
콜라보레이션 다이어그램 |
객체 집단에서의 상호작용에 대한 직접적 표현이나 객체 집단의 접속망의 형태와 메시지, 스레드의 순서 등을 표현한다 | |
스테이트차트 |
1개의 객체 생성에서 소멸까지 상태 천이, 즉 어떤 클래스에 속하는 객체의 「라이프 사이클 표현」을 제공한다 | |
액티버티 |
1개의 interaction 전체에서의 순서 제어 플로우. 상태 다이어그램의 상대적 표현으로서 워크플로우에 초점을 맞춘 다이어그램 | |
구현성 |
컴포넌트 |
소프트웨어- 유닛 간의 의존관계를 나타내는 것으로, 소프트웨어 모듈 구성이나 버젼 관리도 표현할 수 있다 |
배치 |
객체나 패키지, 파일 등을 실제 플랫폼이나 네트워크 노드 상의 어디에 배치할 것인지, 그리고 어느 프로세스 상에서 실행할 것인지라는 물리적인 관점에서 시스템 구성을 표현한다 |
1. 연관(Association)
A. [의미] : 일반적인 의미의 연결 관계
i. 방향(navigability)
1. 양방향 연관 관계 : 두 클래스 사이에 그어진 선이 화살표가 없다면 서로의 존재를 알고 있다는 의미
2. 단방향 연관 관계 : "A -> B"처럼 A 클래스에서 B 클래스로 향하는 화살표가 있다면 A 클래스는 B 클래스의 존재를 알지만 B 클래스는 A 클래스의 존재를 모른다는 뜻
ii. 멀티플리시티(multiplicity) : 연관된 객체의 개수를 의미
1. "1" : 1개의 객체
2. "1..*" : 1개 이상
3. "*" or "0..*" : 0개 이상
4. "0..1" : 없거나 1개
2. 집합(Aggregation)
A. [의미] : 전체와 부분을 나타내는 집합, 마름모가 있는 화살표 쪽의 클래스는 전체(whole)를, 반대편은 부분(part)을 뜻함
B. public class Car {
private Wheel InWheel; // 바퀴에 대한 링크
Engine lnEngine; // 엔진에 대한 링크
private Window lnWindow; // 창에 대한 링크
}
3. 상속(Inheritance)
A. [의미] : 다른 클래스의 재산을 물려받는 상속, 두 클래스를 연결하는 화살표의 한쪽 끝에 삼각형 모양이 있도록 연결하여 표현. 삼각형 표시가 있는 클래스가 상위 클래스이며 반대쪽이 하위 클래스
B. class Person { ... };
class Woman extends Person { ... };
public class Man extends Person { ... };
4. 의존(Dependency)
A. [의미] : 한 클래스가 다른 클래스에 영향을 미치는 의존, 한 클래스에서 다른 클래스로 그어지는, 화살표가 있는 점선으로 표현한다."A -----> B"의 의존 관계에서는 B가 변경되면 A가 그 영향을 받는다.
B. Tips) 한 클래스가 다른 클래스의 객체의 레퍼런스를 속성값으로 유지한 채 그것을 사용한다면 그 두 클래스는 연관 관계로 표현
한 클래스가 속성값으로 다른 클래스의 객체의 레퍼런스 값을 끈끈하게 유지하는 것이 아니라 특정 메소드의 인자나 내부에서만 사용할 때는 의존 관계로 표현
C. public class School {
public boolean isAdmitable(Student stu) {
// 입학이 가능한지 여부 파악
if( stu.getGrade().equals("A"))
return true;
else
return false;
}
}
public class Student {
private String grade;
public String getGrade() {
return grade;
}
}
'Computer Science & Engineering > CBD' 카테고리의 다른 글
[CBD] Activity Diagram's Fork & Join (0) | 2008.03.13 |
---|---|
[CBD]참고자료 (0) | 2008.02.25 |
댓글