CS/디자인 패턴
OOA/D
Ynghan
2023. 10. 25. 14:46
Object-Oriented Analysis and Design
❑ 객체 지향 분석(OOA)
- 도메인 개념/객체(문제 도메인의 객체)를 발견합니다.
❑ 객체 지향 디자인(OOD)
- 소프트웨어 개체 정의(정적)
- 요구 사항을 충족하기 위해 어떻게 협력할지 정의합니다(동적).
OOAD 예시 - 주사위 게임
OOA
1. Use case를 정의
2. 도메인 모델을 정의
OOD
1. 인터렉션 다이어그램을 정의
2. 클래스 다이어그램 설계를 정의
UML
"UML(Unified Modeling Language)은 시스템의 아티팩트를 지정, 구성 및 문서화하기 위한 시각적 언어입니다."
❑ UML을 사용하는 3가지 방법
- 스케치
- 개념적 관점
- 문제 또는 솔루션 공간의 어려운 부분을 탐색하기 위해 비공식적이고 불완전한 다이어그램이 생성됩니다.
→ 상호통신 매체
- 청사진
- 사양 관점
- 코드 생성에는 비교적 상세한 설계 다이어그램이 사용됩니다.
- 프로그래밍 언어
- 구현 관점
- UML에서 소프트웨어 시스템의 완전한 실행 가능 사양
UML이 아닌것은?
❑ UML은 객체 지향 분석 및 설계 프로세스가 아닙니다.
- UML은 소프트웨어 시스템을 개발하는 체계적인 방법이 아닙니다.
❑ UML은 객체지향적 사고방식을 가르치지 않습니다.
- 개체 구조나 동작을 디자인하는 방법을 알려주지는 않습니다.
- 디자인이 좋은지 나쁜지는 알려주지 않습니다.
소프트웨어 개발 프로세스 및 UP
❑ 소프트웨어 개발 프로세스
• 소프트웨어 구축, 구축 및 유지보수에 대한 체계적인 접근 방식
❑ Unified Process (UP) : 객체 지향 시스템 구축을 위한 대중적인 반복 소프트웨어 개발 프로세스
• 고정 길이 반복(약 3주간의 미니 폭포)
• 애자일(Agile)에서 영감(즉, 폭포 반대인)
• 유연성(다른 OO 프로세스의 관행과 결합 가능)
• OO 소프트웨어 개발을 위한 사실상의 업계 표준