1. Object-Oriented Analysis and Design
OOAD는 OOA + OOD로 구성되어있고 OOA는 domain concepts/objects(Domain model) + Requirement(Use case)를 찾는 과정이고 OOD는 software object(Class diagram)과 어떤 연관관계가 있는지(Sequence diagram) 정의하는 과정이다.
OOAD 예제
Use Case → Domain model → Sequence diagram → Class Diagram 순서로 작성
UML(Unified Modeling Language)
시스템의 artifacts를 specify, construct, document할 수 있는 visual language
UML은 OOA와 design developing process도 아니고, OOD 방법을 알려주지 않는다.
3가지 적용
- Sketch : Conceptual 관점 (OOA단계에서 서로 소통하기 위해서 사용)
- Blueprint : Specification 관점 (문법을 정확히 지켜서 code generation 직전에 OOD에서 작성)
- Programming language : Implementation 관점 (요즘 잘 안 씀)
2. Iterative, Evolutionary, and Agile
위 모든 걸 포함하는 개발 방법론을 (R)UP(Unified process)라고 한다.
UP
OO시스템을 만들기 위한 유명한 iterative software development process이다.
특징
- 약 3주간(혹은 정해진 기간)의 mini waterfall 진행 (iterative)
- Agile 개발방법론으로 부터 Inspire
- Flexible
- de-facto industry standard
- risk-driven, client-driven iterative planning
- risk-driven : architecture에 risk한 요구사항들을 먼저 찾아 개발하여 architecture를 fix한다.
- client-driven : client 입장에서 중요한 요구사항을 우선 구현하여 확인할 수 있게 한다.
과정
위 네모 각각이 iteration으로 약 3주동안 minimal waterfall을 진행한다.
- Inception : 요구사항 식별
- Elaboration : (전체 요구사항의 5~10% 개발(프로토타입)) risk-driven, client-driven 한 요구사항 선개발 후 requirement workshop을 통해 확인 과정
- Construction : Elaboration 외의 요구사항 개발
- Transition : 베타 테스트
UP 9가지의 Discipline
Development Case
Development Case는 Environment 단계에서 나오는 artifact(output)으로 위 9단계에서 해야할 activity(Practice)와 Artifact(output) 선택 및 정의하는 것이다.
s는 start(만들기 시작), r은 수정하기 시작한다는 것을 의미한다.
'💻 개발IT > OOAD' 카테고리의 다른 글
5. OOI - Elaboration (0) | 2022.03.17 |
---|---|
4. OOD - Elaboration (0) | 2022.03.16 |
3. OOA - Elaboration (0) | 2022.03.15 |
2. OOAD - Inception (0) | 2022.03.14 |