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 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
'SW 공부 > OOP_OOAD_UML' 카테고리의 다른 글
[UML] Class Diagram (2) | 2022.08.29 |
---|---|
[UML] Use Case Diagram (0) | 2022.08.29 |
[UML] 13개의 UML Diagrams 소개 (2) | 2022.08.29 |
[OOP] 2. Object-Oriented Principles (객체지향 원칙) (2) | 2022.08.29 |
[OOP] 1. Object-Oriented (객체지향) 정의 (2) | 2022.08.29 |
댓글