1-1. 요구사항 확인
12. UML - 다이어그램
다이어그램
•
사물과 관계를 도형으로 표현한 것
•
정적 모델링 → 구조적 다이어그램
•
동적 모델링 → 행위 다이어그램
구조적(Structural) 다이어그램
•
클객컴배복패
클래스 다이어그램
•
클래스와 클래스가 가지는 속성
•
클래스 사이의 관계를 표현
객체 다이어그램
•
클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현함
•
럼바우(Rumbaugh) 객체지향 분석 기법에서 객체 모델링에 활용됨.
컴포턴트 다이어그램
•
실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현함.
•
구현 단계에서 사용됨
배치 다이어그램 (Deploy Diagram)
•
결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현함
•
구현 단계에서 사용됨
복합체 구조 다이어그램
•
클래스나 컴포넌트가 복합 구조를 갖는 경우, 그 내부 구조를 표현함
패키지 다이어그램
•
유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현함
행위(Behavioral) 다이어그램의 종류
•
유시커상활상타
유스케이스 다이어그램
•
사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용함
•
사용자(Actor)와 사용 사례(Use Case)로 구성됨.
시퀀스 다이어그램
•
상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현함
커뮤니케이션 다이어그램
•
동작에 참여하는 객체들이 주고받는 메시지와 객체들 간의 연관 관계를 표현함
상태 다이어그램
•
하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현함
•
럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용됨.
활동 다이어그램
•
시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현함
타이밍 다이어그램
•
객체 상태 변화와 시간 제약을 명시적으로 표현함
스테레오 타입 (Streotype)
•
UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하는 것
•
길러멧(Guilemet)이라고 부르는 겹화살괄호(<<>>) 사이에 표현할 형태를 기술한다.
•
<<include>> : 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우
•
<<extend>> : 연결된 다른 UML 요소에 대해 확장 관계에 있는 경우
•
<<interface>> : 인터페이스를 정의하는 경우
•
<<exception>> : 예외를 정의하는 경우
•
<<constructor>> : 생성자 역할을 수행하는 경우
13. 유스케이스 다이어그램
기능 모델링
•
사용자의 요구사항을 분석하여 개발될 시스템이 갖춰야 할 기능을 정리한 후, 사용자와 함께 정리된 내용을 공유하기 위해 그림으로 표현하는 것
•
개발될 시스템의 전반적인 형태를 기능에 초점을 맞춰 표현
•
유스케이스 다이어그램
•
액티비티 다이어그램
유스케이스 다이어그램
•
사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것
•
외부 요소와 시스템 간의 상호작용을 확인할 수 있다.
14. 액티비티 다이어그램
활동 (Activity) 다이어그램
•
사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것
•
하나의 유스케이스 안에서 혹은 유스케이스 사이에 발생하는 복잡한 처리의 흐름을 명확하게 표현할 수 있다.
•
자료흐름도와 유사
15. 클래스 다이어그램
정적 모델링
•
사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현한 것
•
시스템에 의해 처리되거나 생성될 객체들 사이에 어떤 관련이 있는지를 구조적인 관점(View)에서 표현한다.
•
정적 모델링은 객체(Object)들을 클래스(Class)로 추상화하여 표현한다.
•
UML을 이용한 정적 모델링의 대표적인 것이 클래스 다이어그램이다.
클래스 다이어그램
•
클래스와 클래스가 자신을 가지는 속성, 클래스 사이의 관계를 표현한 것
•
시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램
연관 클래스
•
연관 관계에 있는 두 클래스에 추가적으로 표현해야 할 속성이나 오퍼레이션이 있는 경우 생성하는 클래스
•
두 클래스의 연관 관계를 나타내는 선의 가운데로부터 점선을 연관 클래스로 이어 표시한다.
•
연관 클래스의 이름은 연관 관계의 이름을 이용해 지정한다.
26. 시퀀스 다이어그램
동적 모델링
•
시스템 내부 구성 요소들의 상태변화 과정과 과정에서 발생하는 상호 작용을 표현한 것
•
시스템 내부 구성요소들 간에 이루어지는 동작이라는 관점(View)에서 표현한다.
•
시스템이 실행될 때 구성요소들 간의 메시지 호출, 즉 오퍼레이션을 통한 상호작용에 초점을 둔다.
•
시퀀스 다이어그램
•
커뮤니케이션 다이어그램
•
상태 다이어그램
시퀀스 다이어그램
•
시스템이나 객체들이 메시지를 주고 받으며 상호 작용하는 과정을 그림으로 표현한 것
•
시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지를 표현한다.
•
각 동작에 참여하는 시스템이나 객체들의 수행 기간을 확인할 수 있다.
•
클래스 내부에 있는 객체들을 기본 단위로 하여 그들의 상호작용을 표현한다.
17. 커뮤니케이션 다이어그램
커뮤니케이션 다이어그램
•
시스템이나 객체들이 메시지를 주고받으며 상호작용하는 과정과 객체들 간의 연관을 그림으로 표현한 것
•
동작에 참여하는 객체들 사이의 관계를 파악하는데 사용된다.
•
클래스 다이어그램에서 관계가 표현됐는지 점검하는 용도로도 사용된다.
18. 상태 다이어그램
•
객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것이다.
•
객체의 상태란 객체가 갖는 속성 값의 변화를 의미한다.
•
특정 객체가 어떤 이벤트에 의해 상태변화 과정이 진행되는지 확인하는데 사용된다.
•
시스템에서 상태변화 이벤트를 확인할 필요가 있는 객체만을 대상으로 그린다.
19. 패키지 다이어그램
•
유스케이스나 클래스 등의 요소들을 그룹화한 패키지 간의 의존 관계를 표현한 것
•
패키지는 또다른 패키지의 요소가 될 수 있다.
•
대규모 시스템에서 주요 요소 간의 종속성을 파악하는데 사용한다.