분석은 해석보다 문제와 요구사항을 조사하는 것을 강조합니다. 그래서 주로 요구사항 분석과 object 분석을 진행합니다. 설계는 구현보다 요구사항 수행을 위한 개념적인 해결을 강조합니다. 예를 들면 DB 스키마, 소프트웨어 object와 같은 것입니다.
이렇게 분석과 설계가 다르듯 객체지향 분석과 객체지향 설계도 다른 의미를 담고 있습니다.
Object-oriented analysis
객체지향 분석은 전체적인 개념을 잡는 과정입니다. problem domain에서 object나 concpets을 찾고 구체화 합니다.
Object-oriented design
객체지향 설계는 구조를 잡는것 입니다. software object들을 정의하고 요구사항을 해결하기 위해 어떻게 조합 할 것인지를 생각하는 단계입니다.
그럼 객체지향은 무엇일까요? 객체지향에 대한 개념을 쉽게 이해할수 있는 예시를 봅시다.

여기서 책은 domain의 concept에 따라 다르게 해석될 수 있습니다. 만약 도서관에서 책을 다룬 다면 책제목, 책의 주제, 저자 등을 가지고 책을 다룰 것입니다. 하지만 택배회사에서 책을 다룬 다면 사이즈, 배달 주소, 무게 등으로 책을 다룰 것입니다. 엔티티의 특징이 도메인에 따라 달라진 것입니다.
