객체지향 설계를 진행하는 순서

dogbird·2024년 4월 19일
0

OOAD

목록 보기
3/12

보통 설계를 진행할 때는 상황에 따라 달라지긴 하지만 보통은 위의 순서대로 진행이 됩니다. 각 단계를 살펴보고 어떤일을 하는지 알아봅시다.

Define use cases

이 단계는 우리가 만들려고 하는 것을 Use case로 표현합니다. domain의 과정을 묘사한 것 입니다. 예를 들어 시나리오를 살펴보면 아래와 같이 동작을 묘사한것을 말합니다.

주사위 게임
: 플레이어가 주사위를 잡고 던진다. 만약 주사위가 7보다 높으면 이긴것.

Define domain model

이 단계는 객체에 대한 classification의 관점으로 domain description을 작성합니다. 소프트웨어 시스템의 핵심 요소와 그들 간의 관계를 나타내는 개념적 모형으로 이 모델은 현실 세계의 업무 영역을 추상화하여 시스템이 다루는 핵심 개념과 업무 프로세스를 이해하는 데 도움이 됩니다. 일반적으로 도메인 모델은 클래스와 속성, 메서드 및 관계로 표현되며, 시스템이 다루는 주요 업무 개념을 포함합니다. domain에는 개념, 속성, 연관성에 대한 identification이 포함됩니다. 위의 주사위 게임을 예시로 domain model을 그려보면 아래와 같습니다.

각각의 숫자는 접근 횟수를 나타냅니다. 이러한 결과물은 분석단계의 산출물입니다.

Define Interaction Diagrams

이 단계는 객체끼리 어떤 일을 할것인지 흐름을 잡아주는 Interaction Diagram을 정의합니다. Interaction Diagrams은 소프트웨어 시스템 내에서 객체 간의 상호 작용을 시각적으로 표현하는 데 사용됩니다. 이 다이어그램은 시스템이 어떻게 동작하는지 이해하고, 객체 간의 메시지(메서드 호출) 교환을 보여줍니다. 대표적인 상호 작용 다이어그램에는 시퀀스 다이어그램과 커뮤니케이션 다이어그램이 있습니다. 시퀀스 다이어그램은 객체 간의 상호 작용을 시간 순서대로 보여주며, 커뮤니케이션 다이어그램은 객체 간의 메시지 교환을 객체 간의 상대적 위치를 이용하여 보여줍니다.


Interaction Diagram이 소프트웨어 객체 사이의 메서드 호출에 대한 흐름을 보여주는 예시입니다.

Define design class diagrams

이 단계는 클래스 diagram설계와 클래스 정의에 대한 static view를 만들어 시스템의 구조를 시각적으로 표현하는 데 사용됩니다. 이 다이어그램은 클래스 간의 관계를 보여주며, 시스템의 정적인 면을 나타냅니다. 디자인 클래스 다이어그램은 소프트웨어 시스템의 디자인 패턴, 추상화 수준, 클래스의 속성과 메서드를 보여줍니다. 이는 소프트웨어 시스템의 설계 및 개발을 이해하고 구조화하는 데 유용합니다.


각각의 숫자는 연관관계를 나타냅니다. 이 예제를 살펴보면 DiceGame은 Die를 2번 접근 합니다.

profile
개발세발 개발자. 멋쟁이가 될 때 까지

0개의 댓글