객체 지향 분석 및 설계
| 소프트웨어 개발 프로세스 | |
|---|---|
| 활동과 단계 | |
| 요구사항 분석 · 기능 명세 구조 · 설계 구현 · 테스팅 배치 · 유지보수 | |
| 개발 모형 | |
| 애자일 소프트웨어 개발 · 클린룸 DSDM · 순차점증적 개발 · 반복형 개발 RAD · RUP · 나선 모형 폭포수 모델 · 익스트림 프로그래밍 스크럼 · V 모델 · TDD | |
| 지원 활동 | |
| 구성 관리 · 문서화 품질보증 · 프로젝트 관리 사용자 경험 설계 | |
| 도구 | |
| 컴파일러 · 디버거 · 프로파일러 GUI 디자이너 · 통합 개발 환경 | |
객체 지향 분석 및 설계(Object-oriented analysis and design, OOAD)는 객체 지향 프로그래밍을 적용하고 소프트웨어 개발 프로세스 전반에 걸쳐 시각적 모델링을 활용하여 애플리케이션, 시스템 또는 비즈니스를 분석하고 설계하는 기술적 접근 방식이다. 이를 통해 이해관계자와의 소통과 제품 품질을 향상시킨다.
현대 소프트웨어 엔지니어링에서 OOAD는 일반적으로 반복적이고 점진적인 방식으로 수행된다. OOAD 활동의 결과물은 각각 분석 모델(OOA의 경우)과 설계 모델(OOD의 경우)이다. 이러한 모델은 위험 및 비즈니스 가치와 같은 핵심 요소를 기반으로 지속적으로 개선되고 발전하는 것을 목표로 한다.
역사
[편집]1990년대 중반 이전 객체 지향 기술 초기에는 소프트웨어 개발 및 객체 지향 모델링을 위한 다양한 방법론이 경쟁적으로 사용되었으며, 이는 특정 컴퓨터 지원 소프트웨어 공학(CASE) 도구 공급업체에 종속되는 경우가 많았다. 당시에는 표준 표기법의 부재, 일관된 용어 및 프로세스 가이드가 주요 문제로 지적되었으며, 이는 소통 효율성을 저하시키고 학습 곡선을 지연시켰다.
잘 알려진 초기 객체 지향 방법론 중 일부는 그래디 부치, 제임스 럼보, 이바르 야콥슨(세 친구), 로버트 마틴, 피터 코드, 샐리 슐라어, 스티븐 멜러, 레베카 워프스-브록과 같은 전문가들에게서 영감을 받아 탄생했다.
1994년, 래셔널 소프트웨어의 세 친구는 통합 모델링 언어(UML) 개발을 위해 협력하기 시작했다. 이후 필립 크루크텐과 워커 로이스(윈스턴 로이스의 장남)와 함께, 이들은 자체 방법론인 OMT, OOSE, 부치 방법론을 다른 업계 리더들의 다양한 통찰력과 경험과 결합하여 RUP(Rational Unified Process)를 개발하는 데 성공했다. RUP는 소프트웨어 개발 및 프로젝트 관리 분야의 모범 사례를 학습하기 위한 포괄적인 반복적이고 점진적인 프로세스 가이드이자 프레임워크이다.[1] 그 이후로 Unified Process 제품군은 객체 지향 분석 및 설계를 위한 가장 널리 사용되는 방법론이자 참조 모델이 되었다.
같이 보기
[편집]- CRC 카드
- 도메인 특화 언어
- 도메인 주도 설계
- 도메인 특화 모델링
- 메타 오브젝트 퍼실리티
- 메타모델링
- 모델 기반 개발
- 모델 기반 테스트
- 객체 지향 프로그래밍
- QVT
- SOLID (객체 지향 설계)
- 통합 모델링 언어
각주
[편집]- ↑ “Rational Unified Process Best Practices for Software Development Teams” (PDF). 《Rational Software White Paper》 (TP026B). 1998. 2013년 12월 12일에 확인함.
외부 링크
[편집]- Article Object-Oriented Analysis and Design with UML and RUP an overview (also about CRC cards).
- Applying UML – Object Oriented Analysis & Design 보관됨 2009-09-15 - 웨이백 머신 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