Elaboration - OOI (Object Oriented Implentation)
- Systemetic 하게 기계적으로 구현하는 단계
- OOA / OOD를 잘해놓으면 Implementation 단계가 쉬워진다.
Designing for Visibility
- Visibility is the ability of an object to “see” or “have a reference to” another object.
When an object A sends a message to an object B, B must be visible to A.
- 4 common ways that visibility can be achieved from object A to object B:
- Attribute visibility : B is an attribute of A.
- Class Diagram 에서 확인되는 Relatively permanent visibility
- Attr 로 선언 - Parameter visibility : B is a parameter of a method of A.
- 구현단계에서 보여지는 Relatively temporary visibility
- 파라미터로 전달 - Local visibility : B is a (non-parameter) local object in a method of A.
- 구현단계에서 보여지는 Relatively temporary visibility
- 안에서만 선언 - Global visibility : B is in some way globally visible.
- 구현단계에서 보여지는 Relatively permanent visibility
- c++에서는 되지만, Java에서는 일반적으로 사용하지 않는다
Mapping Designs to Code (Code Generation)
- The UML artifacts created during the design work (Interaction diagrams and DCDs) will be used as input to the code generation process.
- A translation from UML designs to code is required.
→ from class diagrams to class definitions
→ from interaction diagrams to method bodies.
- Creating Class Definitions from DCDs
- Creating Methods from Interaction Diagrams
- Order of Implementation : from least-coupled to most-coupled. (Dependency가 없는 class부터 구현)
Quiz) 다음의 설명 중 올바르지 않은 것을 고르세요.
① UML Package Diagram은 Logical Architecture를 표현한다.
② UML Deployment Diagram은 Physical Architecture를 표현한다.
③ Layer는 비슷한 기능을 수행하는 Class, Package 또는 Subsystem 등을 모아 (Grouping) 놓은 것이다.
④ Layer는 Physical Architecture로서 UML Deployment Diagram으로만 표현되는 것이 바람직하다.
Quiz) Visibility에 대한 다음의 설명 중 올바른 것은?
① Visibility는 한 Object이 다른 Object에 정의된 모든 Attributes와 Operations을 볼 수 있는 능력(Ability)을 의미한다.
② Object A에서 Object B로 메시지를 보낼 때, A는 B에게 보여야만 한다.
③ Attribute Visibility는 가장 기본적이고 많이 사용되는 Visibility로서, Class Diagram을 통해서 확인할 수 있다.
④ Parameter Visibility는 Local Visibility로 쉽게 바꿀 수 있다.
본 글은 개인의 S/W 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
'SW 공부 > OOP_OOAD_UML' 카테고리의 다른 글
[OOAD] 3-2. Elaboration - OOD (2) | 2022.08.29 |
---|---|
[OOAD] 3-1. Elaboration - OOA (2) | 2022.08.29 |
[OOAD] 2.Inception (12) | 2022.08.29 |
[OOAD] 1. Introduction of Object-Oriented Analysis and Design (2) | 2022.08.29 |
[UML] Component Diagram (2) | 2022.08.29 |
댓글