CBD 개발 방법론 - UML 다이어그램 | | | 프로젝트관리 |
![]() | / | 2008.05.27 16:41 |
| 카페매니저 ![]() | ![]() |
--------------------------------------------------------------------------------------------------
제목 : UML 다이어그램
참고자료 : 객체지향 CBD 개발 Bible - 한빛미디어
작성자 : 윤영욱
작성일 : 2008.5.27
--------------------------------------------------------------------------------------------------
1. 다이어 그램의 이점
다음과 같은 문장을 이해해 보자
한 회사에는 여러 팀이 잇다. 각 팀에 대해서 해당 팀을 관리하는 하나의 팀이 있으며, 한 팀은 다른 여러 팀을 관리 할 수 있다.
한 회사는 여러 사무실을 가지고 잇으며 한 팀은 하나 이상의 사무실에 위치할 수 잇고 반대로 한 사무실에 여러팀이 작업할
수 있다.

UML 은 다음과 같은 9개의 다이어그램을 가지고 있다.
1. 클래스 다이어그램
2. 오브젝트(객체) 다이어 그램
3. 컴포넌트 다이어 그램
4. 배치 다이어그램
5. 유스케이스 다이어 그램
6. 시퀀스 다이어 그램
7. 콜레보레이션(협력) 다이어 그램
8. 상태 차트 다이어 그램
9. 액티비티 다이어 그램
그러나 프로젝트 마다 9 가지 다이어그램을 모두 산출 해야 하는 것은 아니다.
프로젝트의 특성에 맞게 필요한 다이어그램을 작성하면 된다.
2. 4+1 관점
1) 유스케이스 관점
사용자가 인식할 수 있는 시스템이 제공할 기능 파악에 초점을 둔다.
사용자가 시스템으로 부터 원하는 기능이 무엇인지 정의하는 것으로
유스케이스관점에서 파악된 유스케이스에 따라서 다른 4가지 관점의 내용이 달라지기 때문에 다른 4가지 관점을
유도하는 중심적 역할을 한다.
2) 설계관점
유스케이스에서 정의된 기능을 시스템이 제공하기 위해서는 어떤 클래스/컴포넌트가 필요하고 이들 클래스/컴포넌트들이
서로를 어떻게 이용/호출 하는지에 초점을 맞춘다.
즉 시스템 내부의 클래스/ 컴포넌트를 파악하고 기술하는 것이다.
정적인 측면과 동적인 측면으로 구분 된다.
3) 프로세스 관점
클래스와 클래스 간의 그리고 클래스의 행동 및 클래스 간의 상호작용에 초점을 맞춘다.
모든 클래스에 대해 관심을 가지는 것이 아니고 독자적으로 제어 스레드나 프로세스를 가지고 있는 클래스들에 대하여
클래스 다이어그램을 작성한다.
4) 구현관점
물리적 요소, 즉 파일과 파일들간의 의존관계에 초점을 둔다.
5) 배치관점
시스템의 처리장치(컴퓨터) 와 통신방법에 초점을 둔다.
배치 다이어 그램으로 표현된다.
3. 개발활동과 관점

[시스템 유형별 UML 다이어그램 활용]
* 반응적인 시스템 : 객체 내부의 상태에 따른 복잡한 행동을 보이는 시스템
예를 들어 수강신청를 보자
취소라는 기능을 해야 하는데, 수강신청 기간인지 정정 기간인지 교육중인지 완료 후 인지에 따라
취소 가능 불가능 과 환불 조치에 대한 일련의 기능들이 달라진다.
수강과정의 상태에 따라서 말이다.
* 복잡한 분산 시스템
시스템의 기능이 분산된 여러 시스템에 의해 제공되는 시스템
[웹 기반 정보 시스템]
다른 시스템과 웹기반 시스템의 차이점을 확실히 기억하자 붕어같은 머리라 할지라도 !!!
제목 : UML 다이어그램
참고자료 : 객체지향 CBD 개발 Bible - 한빛미디어
작성자 : 윤영욱
작성일 : 2008.5.27
--------------------------------------------------------------------------------------------------
1. 다이어 그램의 이점
다음과 같은 문장을 이해해 보자
한 회사에는 여러 팀이 잇다. 각 팀에 대해서 해당 팀을 관리하는 하나의 팀이 있으며, 한 팀은 다른 여러 팀을 관리 할 수 있다.
한 회사는 여러 사무실을 가지고 잇으며 한 팀은 하나 이상의 사무실에 위치할 수 잇고 반대로 한 사무실에 여러팀이 작업할
수 있다.

UML 은 다음과 같은 9개의 다이어그램을 가지고 있다.
1. 클래스 다이어그램
2. 오브젝트(객체) 다이어 그램
3. 컴포넌트 다이어 그램
4. 배치 다이어그램
5. 유스케이스 다이어 그램
6. 시퀀스 다이어 그램
7. 콜레보레이션(협력) 다이어 그램
8. 상태 차트 다이어 그램
9. 액티비티 다이어 그램
그러나 프로젝트 마다 9 가지 다이어그램을 모두 산출 해야 하는 것은 아니다.
프로젝트의 특성에 맞게 필요한 다이어그램을 작성하면 된다.
2. 4+1 관점
1) 유스케이스 관점
사용자가 인식할 수 있는 시스템이 제공할 기능 파악에 초점을 둔다.
사용자가 시스템으로 부터 원하는 기능이 무엇인지 정의하는 것으로
유스케이스관점에서 파악된 유스케이스에 따라서 다른 4가지 관점의 내용이 달라지기 때문에 다른 4가지 관점을
유도하는 중심적 역할을 한다.
2) 설계관점
유스케이스에서 정의된 기능을 시스템이 제공하기 위해서는 어떤 클래스/컴포넌트가 필요하고 이들 클래스/컴포넌트들이
서로를 어떻게 이용/호출 하는지에 초점을 맞춘다.
즉 시스템 내부의 클래스/ 컴포넌트를 파악하고 기술하는 것이다.
정적인 측면과 동적인 측면으로 구분 된다.
구분 | 관심사항 | 이용되는 다이어그램 |
정적인 측면 | 클래스 및 클래스들 사이의 관계 | 클래스 다이어그램 |
동적인 측면 | 클래스 내의 동작 | 상태차트 다이어 그램 |
클래스 간의 상호작용 | 시퀀스 다이어 그램 콜레보레이션 다이어그램 | |
클래스의 연산동작 | 액티비티 다이어 그램 |
3) 프로세스 관점
클래스와 클래스 간의 그리고 클래스의 행동 및 클래스 간의 상호작용에 초점을 맞춘다.
모든 클래스에 대해 관심을 가지는 것이 아니고 독자적으로 제어 스레드나 프로세스를 가지고 있는 클래스들에 대하여
클래스 다이어그램을 작성한다.
4) 구현관점
물리적 요소, 즉 파일과 파일들간의 의존관계에 초점을 둔다.
5) 배치관점
시스템의 처리장치(컴퓨터) 와 통신방법에 초점을 둔다.
배치 다이어 그램으로 표현된다.
3. 개발활동과 관점

[시스템 유형별 UML 다이어그램 활용]
관점 | UML 다이어그램 | 간단한 시스템 | 반응적 시스템 | 복잡한분산 시스템 |
유스 케이스 관점 | 유스케이스 다이어그램 | Y | Y | Y |
설계관점 | 클래스 다이어그램 | Y | Y | Y |
상호작용 다이어그램 | Y | Y | Y | |
상태차트 다이어그램 | Y | Y | ||
프로세스관점 | 클래스 다이어그램 | Y | ||
상호작용 다이어 그램 | Y | |||
구현관점 | 컴포넌트 다이어그램 | Y | ||
배치관점 | 배치 다이어그램 | Y | ||
* 반응적인 시스템 : 객체 내부의 상태에 따른 복잡한 행동을 보이는 시스템
예를 들어 수강신청를 보자
취소라는 기능을 해야 하는데, 수강신청 기간인지 정정 기간인지 교육중인지 완료 후 인지에 따라
취소 가능 불가능 과 환불 조치에 대한 일련의 기능들이 달라진다.
수강과정의 상태에 따라서 말이다.
* 복잡한 분산 시스템
시스템의 기능이 분산된 여러 시스템에 의해 제공되는 시스템
[웹 기반 정보 시스템]
관점 | UML 다이어그램 | 사용여부 |
유스케이스 관점 | 유스케이스 다이어그램 | Y |
시퀀스 다이어 그램 | Y | |
액티비티 다이어 그램 | Y | |
설계관점 | 클래스 다이어 그램 | Y |
상호작용 다이어 그램 | Y | |
상태차트 다이어그램 | ||
프로세스 관점 | 클래스 다이어 그램 | |
상호작용 다이어 그램 | ||
구현관점 | 컴포넌트 다이어 그램 | Y |
배치관점 | 배치 다이어 그램 | Y |
다른 시스템과 웹기반 시스템의 차이점을 확실히 기억하자 붕어같은 머리라 할지라도 !!!
댓글 없음:
댓글 쓰기