요구사항확인과 DATA 입출력 구현 작업
정적 모델링
- 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적 구조를 표현
- UML의 구조 다이어그램에 해당하며 시스템에 의해 처리되거나
생성될 객체 사이에 어떤 관련이 있는지 구조적 관점에서 표현
- 대표적 다이어그램 : 클래스 다이어그램
- 객체지향 프로그램에서 속성과 행위를 갖는 하나의 객체 단위를 클래스라고 함
- 클래스의 특성인 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이의 관계를 표현
- 코딩에 필요한 객체의 속성, 함수 등의 정보를 잘 표현하고 있어 시스템을 모델링하는 데 자주 사용
클래스 다이어그램 예시
- 컴포넌트는 반드시 다른 컴포넌트와 통신할 수 있는 인터페이스가 정의되어 있음
- 컴포넌트의 인터페이스와 인터페이스의 구현은 컴포넌트를 구성하는 내부에 캡슐화 되어있음
컴포넌트 다이어그램 예시
동적 모델링
- 시스템의 내부 구성 요소들의 상태가 시간의 흐름에 따라 변화하는 과정과
변화하는 과정에서 발생하는 상호 작용을 표현
- 관련 다이어그램 : 시퀀스 다이어그램, 커뮤니케이션 다이어그램, 상태 다이어그램
- 시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호 작용하는 과정을 도식화
- 객체의 메소드와 속성을 상세히 정의한다.
- 상호작용하는 과정을 액터, 객체, 메시지 등의 요소를 사용하여 그림으로 표현
시퀀스 다이어그램 예시
기능 모델링
- 사용자의 요구사항을 분석하여 개발될 시스템이 갖춰야 할 기능들을 정리한 후
사용자와 함께 정리된 내용을 공유하기 위해 표현하는 것을 의미
- 다이어그램 : 유스 케이스
유스케이스(use case) 다이어그램
- 개발 될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이
개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것
- 사용자 측면에서의 요구사항으로 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술
- 사용자의 요구사항을 빠르게 파악함으로써 프로젝트 초기에
시스템의 기능적인 요구를 결정하고 그 결과를 문서화할 수 있음
유스케이스다이어그램 예시
액터(actor)
: 시스템과 상호작용을 하는 모든 외부 요소로 사람이나 외부 시스템을 의미
: 시스템에 대해 수행할 수 있는 역할을 의미
유스케이스 (use case)
: 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스
또는 기능을 표시하며 다이어그램에서 주로 타원으로 표기
문제 1
정답 : 유스케이스(usecase)