객체 지향 분석 및 설계

객체 지향 분석 및 설계(Object-oriented analysis and design, OOAD)는 객체 지향 프로그래밍을 적용하고 소프트웨어 개발 프로세스 전반에 걸쳐 시각적 모델링을 활용하여 애플리케이션, 시스템 또는 비즈니스를 분석하고 설계하는 기술적 접근 방식이다. 이를 통해 이해관계자와의 소통과 제품 품질을 향상시킨다.

현대 소프트웨어 엔지니어링에서 OOAD는 일반적으로 반복적이고 점진적인 방식으로 수행된다. OOAD 활동의 결과물은 각각 분석 모델(OOA의 경우)과 설계 모델(OOD의 경우)이다. 이러한 모델은 위험 및 비즈니스 가치와 같은 핵심 요소를 기반으로 지속적으로 개선되고 발전하는 것을 목표로 한다.

 역사 
1990년대 중반 이전 객체 지향 기술 초기에는 소프트웨어 개발 및 객체 지향 모델링을 위한 다양한 방법론이 경쟁적으로 사용되었으며, 이는 특정 컴퓨터 지원 소프트웨어 공학(CASE) 도구 공급업체에 종속되는 경우가 많았다. 당시에는 표준 표기법의 부재, 일관된 용어 및 프로세스 가이드가 주요 문제로 지적되었으며, 이는 소통 효율성을 저하시키고 학습 곡선을 지연시켰다.

잘 알려진 초기 객체 지향 방법론 중 일부는 그래디 부치, 제임스 럼보, 이바르 야콥슨(세 친구), 로버트 마틴, 피터 코드, 샐리 슐라어, 스티븐 멜러, 레베카 워프스-브록과 같은 전문가들에게서 영감을 받아 탄생했다.

1994년, 래셔널 소프트웨어의 세 친구는 통합 모델링 언어(UML) 개발을 위해 협력하기 시작했다. 이후 필립 크루크텐과 워커 로이스(윈스턴 로이스의 장남)와 함께, 이들은 자체 방법론인 OMT, OOSE, 부치 방법론을 다른 업계 리더들의 다양한 통찰력과 경험과 결합하여 RUP(Rational Unified Process)를 개발하는 데 성공했다. RUP는 소프트웨어 개발 및 프로젝트 관리 분야의 모범 사례를 학습하기 위한 포괄적인 반복적이고 점진적인 프로세스 가이드이자 프레임워크이다. 그 이후로 Unified Process 제품군은 객체 지향 분석 및 설계를 위한 가장 널리 사용되는 방법론이자 참조 모델이 되었다.

 같이 보기 
 CRC 카드
 도메인 특화 언어
 도메인 주도 설계
 도메인 특화 모델링
 메타 오브젝트 퍼실리티
 메타모델링
 모델 기반 개발
 모델 기반 테스트
 객체 지향 프로그래밍
 QVT
 SOLID (객체 지향 설계)
 통합 모델링 언어

 각주 

 외부 링크 
 Article Object-Oriented Analysis and Design with UML and RUP an overview (also about CRC cards).
 Applying UML – Object Oriented Analysis & Design  tutorial
 OOAD & UML Resource website and Forums – Object Oriented Analysis & Design with UML
 Software Requirement Analysis using UML article by Dhiraj Shetty
 Article Object-Oriented Analysis in the Real World
 Object-Oriented Analysis & Design – overview using UML
 Larman, Craig. Applying UML and Patterns – Third Edition
 Object-Oriented Analysis and Design
 LePUS3 and Class-Z: formal modelling languages for object-oriented design
 The Hierarchy of Objects

분류:객체 지향 프로그래밍
분류:소프트웨어 설계