본문 바로가기
SW 공부/OOP_OOAD_UML

[OOAD] 1. Introduction of Object-Oriented Analysis and Design

by 꼬냉상 2022. 8. 29.

Object-Oriented Analysis and Design

- Object-Oriented Analysis (OOA, 객체 지향 분석)

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

 :  domain concepts/objects 찾는 단계이다.

Define use cases / Define Domail Model

 

- Object-Oriented Design (OOD, 객체 지향 설계)

  : Define software objects (static)  Define interaction diagram 

 :  Object을 구성하는 Attributes와 Operation을 정의한다.

  : Define how they collaborate to fulfill the requirements (dynamic)  Design class diagram

 :  Object들이 서로 어떻게 Collaboration 하는지를 정의한다.

 

UML

- The Unified Modeling Language (UML) is a visual language for specifying, constructing and documenting the artifacts of systems.

 

Unified Process (UP)

-  a popular iterative software development process for building object-oriented systems  (반복 개발 프로세스)

   : Iterative with fixed-length iterations (mini waterfalls of about 3 weeks)  
   :  Inspired from Agile (i.e., opposite from waterfall)
   : Flexible (can be combined with practices from other OO processes)
   :  A de-facto industry standard for developing OO software

Iterative, Evolutionary, Agile (반복적, 진화적, 민첩성)

→ a comination of Risk-Driven and Client-Driven Iterative Planning 

 

UP Phases

- 4 major phases  (Development cycle) : 각 iteration이 3주!  I1, E1, E2, E3 이런 식으로 3주씩 진행
1. Inception : approximate vision, business case, scope, vague cost estimates
2. Elaboration : refined vision, iterative implementation of the core architecture, resolution of high risks, identification of most requirements and scope, more realistic estimates|
 → Risk-drive / Client-driven iterative development

 → requirement workshop을 매 iteration에 하면서 prototype을 잡아서 검증
3. Construction : iterative implementation of the remaining lower risk and easier elements, and preparation for deployment 
4. Transition : beta tests, deployment 

 

→ 각 Iteration이 3주

→ 분야별로 UP Disciplines (규율, 단련법 / 산출물) 이 있음  (각 단계별로 뭘 해야 하는지 정의)

 * Environment discipline 의 artifact(결과물)로 Development Case

    : 생성한 UP artifact와 Practices의 선택 결과를 정리한 것.

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에서 중요하게 생각하는 Best Practice나 Key Concepts이 아닌 것은 무엇인가요?
① Tackle high-risk and high-value issues in early iterations
② Make a project plan in detail from start to finish
③ Continuously engage users for evaluation and feedback
④ Build a cohesive, core architecture in early iterations

 

Quiz) 다음의 UP에 대한 설명 중 올바른 것은?
① We must define most of the requirements before starting design or implementation
② Inception = requirements, elaboration = design, and construction =implementation
③ The purpose of elaboration is to fully and carefully define models, which are translated into code during construction.
④ Inception does not require much UML diagramming.

 

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

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

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

⑤ Use-Case는 주로 Inception 및 Elaboration 단계에서만 사용된다. 

⑥ Use-Case driven 방법론으로서, Elaboration 단계에서 모든 Use-Case를 자세하게 명세한다.

 

Quiz) UP Environment Discipline에서 작성되는 Artifact로서, 진행할 프로젝트에 서 생성할 UP Artifacts와 사용할 Practices의 선택 결과를 정리한 Artifact는 무엇인가요?

Development Case

 

 

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

'SW 공부 > OOP_OOAD_UML' 카테고리의 다른 글

[OOAD] 3-1. Elaboration - OOA  (2) 2022.08.29
[OOAD] 2.Inception  (12) 2022.08.29
[UML] Component Diagram  (2) 2022.08.29
[UML] Activity Diagram  (2) 2022.08.29
[UML] Statechart Diagram  (2) 2022.08.29

댓글