-
[OOP/UML] UP - Elaboration 단계 / OODLearn/OOP&UML 2022. 9. 21. 00:24
Elaboration 단계 중 앞 OOA 단계에서 Domain Model 및 Use-Case Model을 작성하였다.
그 다음은 OOD 단계로 Design Model을 작성하는데 Sequence Diagram을 그리고 Class Diagram을 그린다.
OOA에서 OOD로 넘어갈때는 아키텍쳐가 확정되어 있어야 한다.
# Logical Architecture
Logical architecture란, 소프트웨어 클래스를 package, subsystem, layer로 묶어놓은 것을 뜻한다.
UML Package Diagram으로 그린다.
## Layered Architecture
보통 아래와 같이 구성된다.
1. User Interface layer
- 흔히 아는 UI 레이어
- External User가 여기로 들어온다.
2. Application Logic and Domain Object layer
- Business Logic에 해당하는 레이어
- 여기서 소프트웨어를 만든다고 가정하고 이론이 정리되어있음
3. Technical Services layer
- OS의 Kernel에 해당하는 레이어
OOA에서는 유저가 어떤 레이어를 통해서 (하드웨어, GUI 등) 들어오는지는 신경쓰지 않았으나 OOD로 넘어오면 그 부분도 표현이 되어야 하므로 아래와 같이 레이어로 표현한다.
추후에 아키텍쳐가 바뀌면 곤란하므로 Elaboration Phase에서는 이런 저런 아키텍쳐를 적용해본다.
# Object Design
두 가지 종류의 오브젝트 모델을 사용할 수 있다.
1. Static Model
- Class Diagram (Elaboration phase)
- Package Diagram (Construction phase)
- Deployment Diagram (Transition phase)
2. Dynamic Model
- Interaction Diagram (Sequence Diagram)
- Statechart Diagram
- Activity Diagram (Business process 모델링 할 때)
Object Design을 잘 하기 위해 GRASP이나 Design patterns 같은 것들이 나왔다.
# QUIZ
정답: 3번. Static Model만 중요한게 아니라 Dynamic Model도 함께 중요하다. 4번에 적힌 것 처럼 Static / Dynamic을 반복하며 구체화 해 나간다.
정답: 1번.
2번, 3번 - Expressive Power은 같다. 단 종이가 늘어나냐 아니냐의 차이만 있다.
4번 - Interaction Diagram이 아니라 Flow chart 또는 Activity Diagram으로 그린다.
Class Diagram(static)과 Sequence Diagram(diagram)이다.
Use Case를 보며 Sequence Diagram을 그리고 그를 기반으로 Class Diagram을 그리는 것을 반복하며 완성해나간다.
'Learn > OOP&UML' 카테고리의 다른 글
[OOP/UML] UP - Elaboration 단계 / OOI (0) 2022.09.21 [OOP/UML] UP - Elaboration 단계 / OOA (0) 2022.09.18 [OOP/UML] UP - Inception 단계 (0) 2022.09.18 [OOP/UML] OOAD, UP 기본 개념 (0) 2022.09.17 [OOP/UML] Component Diagram (0) 2022.08.17