OOAD(Object Oriented Analysis and Design)이란?
OOAD란 소프트웨어를 개발하는 하나의 방법론으로 모든 소프트웨어 시스템의 주요 기본요소를 사물을 가리키는 객체와 그 객체들을 하나의 집합으로 묶은 클래스로 구성하는 객체지향적인 분석과 설계 방법을 말한다.
객체지향적이라는 말은 실재 상황들을 보다 편리하고 빠르게 이용할 수 있게 하는 프로그램을 현실생활에 기초해서 설계한다는 개념이다.
☞ 객체지향은 아래의 링크에서 공부하기
'개발/객체지향' 카테고리의 글 목록 :: 개발 메모장 (tistory.com)
'개발/객체지향' 카테고리의 글 목록
공부한거 기록하기
travel-diary.tistory.com
OOAD 과정

보통 객체지향 분석의 결과물은 객체지향 설계에서 사용된다.
그러나 분석과 설계는 병행될 수 있다는 점을 참고하자.
객체지향 분석 (Object Oriented Analysis)
- 문제를 정의하고 이 정의로부터 개념 모델(객체에 대한 추상적 정의)을 사용하여 객체, 관계 및 동작을 식별한다.
사물이나 컨셉을 설명하거나 찾아내는 것.
즉, 요구사항을 찾아내고, 그 속의 객체들의 목록을 찾아내는 것
OOA 단계
1. 요구사항 도출
- 소프트웨어가 수행해야 하는 작업과 해결하려는 문제를 정의
2. 요구사항 지정
- 일반적으로 사용사례 및 시나리오 또는 사용자 스토리를 사용하여 요구사항 설명
3. 개념 모델(Conceptual model)
- 중요한 객체를 식별하고 다듬고 관계와 동작을 정의하여 간단한 도표로 표현
개념 모델의 종류
1. 객체 모형 (Object Model)
- 객체들과 그 특성을 식별하여 객체들의 정적 구조(static structure)와 그들과의 관계(Interface)를 보여주는 객체 다이어그램(Object Diagram)을 작성한다.
2. 동적 모형 (Dynamic Model)
- 시간 흐름에 따른 시스템의 변화를 보여주는 상태 다이어그램(State Diagram)을 작성한다. 실시간(real-time) 시스템에서는 반드시 필요하다.
3. 기능 모형 (Function Model)
- 시스템 내에서 데이터 값이 변하는 과정을 보여주는 것으로 잘 알려진 자료 흐름도(DFD)가 사용된다.
객체지향 설계 (Object Oriented Design)
- 설계 단계에서는 객체와 그들의 속성(attribute), 동작(behavior), 상호작용(interaction)을 설명한다.
즉, OOA를 통해 찾아진 객체들 간의 관계를 설정하는 것.
설계 단계에서는...
올바른 요구에 맞는 다양한 다이어그램을 선택하는 것이 중요하다.
1. 클래스 다이어그램를 사용하여 클래스와 클래스의 관계를 설명
- 필요한 클래스를 시각적으로 나타낸다. 이 단계에서 유전성(Inheritance)이나 다형성(Polymorphism)과 같은 객체 지향적인 원칙에 대해서 구체적으로 알게 된다.
2. 시퀀스 다이어그램를 사용하여 개체 간의 상호작용을 설명
3. 그 외에도 객체간의 상호작용, 시스템의 구조, 시스템의 동작, 어떻게 이벤트에 반응하는지에 대해 표현할 수 있는 다이어그램이 많다.
그리고 소프트웨어 설계 원칙 및 설계 패턴을 적용하여 설계한다.
객체지향 설계의 종류
1. 시스템 설계(System Design)
- 시스템의 구조를 서브시스템으로 분해한다. 이 과정중에서 성능 최적 방안, 문제 해결 전략, 자원 분배 등이 확정된다.
2. 객체 설계(Object Design)
- 구현에 필요한 상세한 내역을 설계 모형으로 제작하고 상세화된다. 구체적인 자료구조와 알고리즘 들이 정의된다.
OOAD에서 필요한 각 다이어그램들은 UML 파트에서 자세히 다루도록 한다.
참고 사이트
OOA/D (Object-Oriented Analysis & Design) 개요 (tistory.com)
OOA/D (Object-Oriented Analysis & Design) 개요
# OOA/D (Object-Oriented Analysis & Design) 개요 1) OOA와 OOD의 차이점 - OOA (Object-Oriented Analysis) : 사물이나 컨셉을 설명하거나 찾아내는 것. ..
ryudwig.tistory.com
객체지향 개발단계 3가지. (OOA, OOD, OOP) : 네이버 블로그 (naver.com)
객체지향 개발단계 3가지. (OOA, OOD, OOP)
객체지향 개발 단계일반적으로 널리 사용되고 있는 분석, 설계, 구현 단계로 분리한다.1. 객체지향 분석(ob...
blog.naver.com
'개발 > 객체지향' 카테고리의 다른 글
| 객체지향 프로그래밍 (Object Oriented Programming) 이란? (0) | 2021.12.15 |
|---|
