본문 바로가기
SW 공부/OOP_OOAD_UML

[OOP] 3. Object-Oriented Development (객체지향 개발론)

by 꼬냉상 2022. 8. 29.

Software Development

Software Development ≈ Solving Problems with Software in Computer

 

Procedural Programming (절차적 프로그래밍)

- 그 방법론이 SASD(Structured Analysis and Structured Design, 구조적 분석 설계)

  : 전통적인 개발 방법 

  : Top-Down Divide and Conquer

  : DFD (Data Flow Diagram)를 사용함

- Structure Analysis : SA/ DFD(level3)  → 생각의 흐름대로 진행함

- Structure Design : SD/ Structured chart (케인 모델링 다이어그램)    → data in- 계산 - out

 

Object-Oriented Programming (객체지향 프로그래밍)

- OOP의 방법론 OOAD

- Focusing on objects and their communications.

object communications : 특정상황에서 어떻게 통신을 잘해서 시나리오 목적을 어떻게 달성하는지 

 

- OOAD (Object-Oriented Analysis and Design) = OOA + OOD

- Object-Oriented Analysis (OOA)

  : Discover the domain concepts/objects (the objects of the problem domain) 

  : Identify requirements

Define use cases(functional requirement) / Define domian Model

  Object 찾기 

 

- Object-Oriented Design (OOD) 

  : Define software objects (static model)

  : Define how they collaborate to fulfill the requirements (dynamic model)

Design : object을 더 정확하게 정의하고 관계를 정의해야함

언제 어떻게 커뮤니케이션을 하는지

Define interaction diagram / Define disign class diagram

 

Software Process Model

- waterfall Model : 순서대로

   → waterfall 단점을 을 극복해서 찾아서 수정하고 돌아가고 반복

- iterative Model : 돌면서 (Agile)

  → agile 단점을 을 극복해서 Risk를 해결하면서 돌아야지 

- Rational Unified Process (RUP) or UP

   Iterative (Incremental, Evolutionary)

   Each iteration includes a small waterfall cycle (3 weeks).

   Risk-driven / Client-driven / Architecture-centric

   Use-case-driven

 

 

Quiz) OOAD (Object-Oriented Analysis and Design)에 대한 다음의 설명 중 올바르지 않은 것은?
① Object-Oriented Program을 위한 소프트웨어 개발 방법론(Methodology) 중 하나이다.
→ 반반 : 일반적으로는 맞음. OOAD는 process
② OOA (Object-Oriented Analysis)는 Domain Concepts/Objects를 찾는 단계이다.
③ OOD (Object-Oriented Design) 단계에서는 Software Object을 정의하지는 않는다.
OOD (Object-Oriented Design) 단계에서는 Software Object을 정의한다.

④ OOD에서는 Objects가 서로 어떻게 Collaboration 하는지를 정의한다.

 

변형 Quiz) OOAD(Object-Oriented Analysis and Design)에 대한 다음의 설명 중 올바르지 않은 것은?
① Waterfall Model과 같은 전통적인 개발 방법론은 OOAD에 적합하지 않다.
② OOA (Object-Oriented Analysis)는 Domain concepts/objects 찾는 단계이다.
③ OOD(Object-Oriented Design)는 Object을 구성하는 Attributes와 Operation을 정의한다.
④ OOD(Object-Oriented Design)는 Object들이 서로 어떻게 Collaboration 하는지를 정의한다.

 

Quiz) UP 기반 OOAD 방법론에 대한 다음의 설명 중 올바르지 않은 것은?
① Iterative, Incremental 및 Evolutionary 한 소프트웨어 개발 방법론이다.
② Risk-driven 하고 Architecture-centric 한 개발 방법론이다.
③ Client 보다는 Architecture 관점에서 발생할 수 있는 Risk를 줄이는 것을 중요하게 생각한다.

Architecture 관점 Rist가 수정 양이 많을 뿐... Client, Architecture 관점의 Risk가 둘 다 중요하다. 

④ 모든 단계에서 Use Cases가 중요하게 사용된다.

 

본 글은 개인의 S/W 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
반응형

댓글