Elaboration Iteration은 3주간 mini waterfall로 OOA → OOD → OOI ... 로 진행되는데
우선 OOA에서 Elaboration을 다뤄보고자 한다.
Elaboration
Elaboration 단계에서는 아래 일들이 진행되어야 한다.
- 핵심적이고 risky한 소프트웨어 구조를 우선 프로그래밍/테스팅
- 대부분 요구사항 식별 및 fix (iteration 돌면서 increment하게 만들어짐)
- 주요한 risk 해결
Artifacts Start in Elaboration
- Software Architecture Document : 정해진 Architecture 작성
Domain Models
visual representation of conceptual classes or real-situation object in a domain
class diagram과 비슷하지만 operation이 없고, class뿐만 아니라 사람 등 domain object를 작성하고 보통 object간의 관계는 association 선으로만 작성한다. (implementation detail 고려할 필요 없음)
목적
- SW 외에 전반적인 도메인(비즈니스 로직 등)을 이해하기 위해서 작성
- representation gap을 감소 : 도메인 layer와 design layer와의 차이를 줄이기 위해 가볍게 domain model 작성해야 class diagram 작성이 용이함
- stakeholder 간의 이해와 커뮤니케이션 도구 (정확도는 크게 중요하지 않음)
작성 가이드라인
class diagram 작성 순서와 비슷하다.
- Use case에서 functional requirement description를 보고 큰 명사는 class object, 작은 명사는 attribute(동사는 operation이지만 현 단계에서 작성X)로 생각하여 conceptual classes를 찾는다.
예시
Use case model
UP에서 Elaboration에서는 Use case model을 작성하게 되는데 이 Use case model은 Use case Diagram과 System Sequence Diagram을 합친 것(operation contract는 optional)이다.
Inception 단계에서 시작해서 Elaboration 단계에서 refine(format변경이 아니라 use case 자체가 변경될 수 있음)되고 fix된다.
System Sequence Diagram(SSD)
시스템 수준에서 작성하는 Sequence Diagram으로 시스템을 black box로 작성하여 내부는 그리지 않고 system과 external actor 간의 (system) event를 보여준다.
목적
- System operation(external actor에서 system으로 들어오는 event. 즉, system이 제공하는 operation(interface))을 찾기 위해
작성 가이드라인
- OOA에서는 HW, GUI, UI가 정해져있지 않을 가능성이 커서 system event는 추상적인 level로 작성
반응형
'💻 개발IT > OOAD' 카테고리의 다른 글
5. OOI - Elaboration (0) | 2022.03.17 |
---|---|
4. OOD - Elaboration (0) | 2022.03.16 |
2. OOAD - Inception (0) | 2022.03.14 |
1. OOAD - Introduction (0) | 2022.03.13 |