본문 바로가기

💻 개발IT/OOAD

1. OOAD - Introduction

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을 진행한다. 

  1. Inception : 요구사항 식별
  2. Elaboration : (전체 요구사항의 5~10% 개발(프로토타입)) risk-driven, client-driven 한 요구사항 선개발 후 requirement workshop을 통해 확인 과정
  3. Construction : Elaboration 외의 요구사항 개발
  4. Transition : 베타 테스트

 

UP 9가지의 Discipline

 

Development Case

Development Case는 Environment 단계에서 나오는 artifact(output)으로 위 9단계에서 해야할 activity(Practice)와 Artifact(output) 선택 및 정의하는 것이다.

 

s는 start(만들기 시작), r은 수정하기 시작한다는 것을 의미한다.

 

 

 

2번은 waterfall

 

 

반응형

'💻 개발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