Deployment Diagram (배치 다이어그램) 소프트웨어 공학 UML 과제 Deployment Diagram (배치 다이어그램)
[ 목 차 ] 1. 2. 3. 4. 5. 6. 배치 다이어그램의 개요 배치 다이어그램의 목적 배치 다이어그램의 구성요소 배치 다이어그램의 구성예제 5. 배치 다이어그램 작성 시 주의사항 6. 참고자료 2
1. 배치 다이어그램의 개요 배치 다이어그램(Deployment Diagram)은 시스템을 구성하는 HW 자원 간의 연결 관계를 표현하고, HW 자원에 대한 SW 컴포넌트의 배치 상태를 표현한 다이어그램. 배치 다이어그램은 시스템의 설계 단계의 ‘마지막’에 작성된다. 즉, 모든 설계가 거의 마무리되어 SW 컴포넌트가 정의되고, 시스템의 HW 사양도 확정된 후 배치 다이어그램이 작성된다. (항상 그런 것은 아니고 상황에 따라 변경 될 수 있다.)
2. 배치 다이어그램의 목적 SW시스템이 배치, 실행될 HW자원들을 정의 Deployment Diagram (배치 다이어그램) 2. 배치 다이어그램의 목적 SW시스템이 배치, 실행될 HW자원들을 정의 배치 다이어그램은 다른 UML 다이어그램들과는 달리 HW자원들을 명시적으로 정의하는 용도로 작성된다. 그러나 이렇게 HW를 정의하는 목적이 HW 자체의 사양을 정의하고 설명하기 위한 것은 아니다. 오히려 SW 시스템이 탑재되어 동작하는 매개체로서, HW자원을 정의한다라는 관점에서 정의된다. SW 컴포넌트가 어떤 HW 자원에 탑재되어 실행될지 정의 배치 다이어그램은 실행모듈(컴포넌트)을 분산된 HW자원에 적절히 배치하여 원하는 성능과 효율을 낼지를 정의하는 목적으로 작성됩니다. 따라서 배치 다이어그램에는 SW자원과 HW자원이 동시에 표현됩니다. HW 자원의 물리적인 구성을 정의 SW 컴포넌트가 탑재된 HW자원들은 적절한 성능을 내기 위해 물리적인 연결을 가지고 있어야 한다. 배치 다이어그램은 어떤 HW자원간에 연결이 있는지, 그 연결이 어떠한 성능을 가지는지를 정의한다
3. 배치 다이어그램의 구성요소 1. Things 혹은 심볼 : 노드(Node), 컴포넌트(Component) Deployment Diagram (배치 다이어그램) 3. 배치 다이어그램의 구성요소 1. Things 혹은 심볼 : 노드(Node), 컴포넌트(Component) 2. Relationships : Connection, Dependency
3. 배치 다이어그램의 구성요소 1. 노드(Node) 노드는 직육면체로 표기하며, 노드 명은 심볼 내에 표기한다. Deployment Diagram (배치 다이어그램) 3. 배치 다이어그램의 구성요소 1. 노드(Node) 노드는 직육면체로 표기하며, 노드 명은 심볼 내에 표기한다. 노드는 SW 컴포넌트가 탑재되어 처리되는데 관련된 HW 자원을 의미한다. 주로 연산능력(computing power)이 있는 HW. 즉, SW를 탑재하여 운용할 수 있는 능력을 가진 하드웨어가 표현된다. 그러나 표현할 수 있는 HW 자원의 종류가 제한된 것은 아니고, 아래와 같은 다양한 장비들이 노드로 정의될 수 있다. [HW 장비들의 예] Sensor, Printers ,Card readers, Communication devices, Mechanical processing resources [노드의 예] Web Server, DB Server
3. 배치 다이어그램의 구성요소 2. 컴포넌트(Component) 컴포넌트는 탭이 달린 직사각형으로 표기하며, 컴포넌트 명은 Deployment Diagram (배치 다이어그램) 3. 배치 다이어그램의 구성요소 2. 컴포넌트(Component) 컴포넌트는 탭이 달린 직사각형으로 표기하며, 컴포넌트 명은 심볼 내에 표기한다. 컴포넌트는 독립적으로 배포되고 교체되며 재사용될 수 있는 SW조각를 의미한다. 보통의 경우 실행모듈을 말하지만, 실제 통용되는 컴포넌트라는 용어는 항상 실행모듈만을 가리키지는 않는다. 컴포넌트가 가끔은 아주 광의로 사용되어서 소스코드나 UI(User Interface), 분석, 설계 산출물들을 포함한 것을 의미하기도 한다. 컴포넌트라는 용어의 의미는 문맥에서 말하는 사람의 의도를 생각해서 받아 들여야 한다. [컴포넌트의 예] 결재 시스템에서 결재, 사원 등, 전자 상거래 시스템에서 우편번호 검색, 신용카드 결재 등
3. 배치 다이어그램의 구성요소 3. 연결(Connection) 노드를 연결하는 실선으로 표기하며, Deployment Diagram (배치 다이어그램) 3. 배치 다이어그램의 구성요소 3. 연결(Connection) 노드를 연결하는 실선으로 표기하며, 연결의 물리적 특성을 Stereo type으로 표기할 수 있다. 두 노드 사이의 물리적인 연결을 의미하고, 또한 두 노드 사이의 물리적인 연결 특성을 설명한다.
3. 배치 다이어그램의 구성요소 4. 의존관계(Dependency) 점선 화살표로 표현하고 필요에 따라 선 위에 설명을 Deployment Diagram (배치 다이어그램) 3. 배치 다이어그램의 구성요소 4. 의존관계(Dependency) 점선 화살표로 표현하고 필요에 따라 선 위에 설명을 붙이기도 한다. 의존관계는 객체나 컴포넌트가 다른 객체나 컴포넌트의 실행을 요청하는 경우, 즉 사물간의 실행 혹은 참조관계를 표현한다. Class와 Class, Package와 package, Component와 Component에 주로 사용되는 관계이고, 때로는 Class-Package-Component 상호 간에도 사용되는 관계이다.
Deployment Diagram (배치 다이어그램) 4. 배치 다이어그램의 구성예제 .
5. 배치 다이어그램 작성 시 주의사항 목적을 전달할 수 있는 명확한 의미의 명칭을 부여해야 한다. Deployment Diagram (배치 다이어그램) 5. 배치 다이어그램 작성 시 주의사항 목적을 전달할 수 있는 명확한 의미의 명칭을 부여해야 한다. 문제 영역의 H/W에 대한 명쾌한 추상 개념을 제공하도록 작성한다. 3. Model을 만든 목적을 전달하기에 필요한 수준까지만 분해하여 작성한다. 1 (Sub Description) 노드 명과 스테레오 타입으로 정의하는 하드웨어 특성 등은 표현 방식에 기준이 없습니다. 하지만 시스템과 관련 없는 제 3 자가 보더라도 그 의미를 이해 할 수 있게 쉽고, 명확한 용어를 사용하여 명칭을 정의해야 합니다. 모호한 명칭으로 정의하면 혼란만 야기 시키는 결과가 됩니다. 2 (Sub Description) SW 자원이 탑재되어 운영되는 보조적인 용도 뿐 아니라, 배치 다이어그램은 시스템의 하드웨어 구성을 개념적으로 보여주는 훌륭한 도구가 됩니다. 이러한 용도를 살려 HW 자원의 구성에 대한 좋은 모델이 되도록 정의합니다. 3 (Sub Description) 배치 다이어그램에 모든 HW 장비가 나타날 필요는 없습니다. 오히려 이러한 시도는 다이어그램을 장황하고 복잡하게 만들어서 의미를 파악하기 힘들게 합니다. 목적과 용도에 부합하는 요소들만 정의하면 충분합니다.
6. 참조 레퍼런스 교재 - 다이어그램으로 쉽게 배우는 UML (한빛미디어) 저자 : 이노우 타케시 / 이영희 역 사이트 http://5dol.tistory.com/168 http://mycup.tistory.com/4 http://blog.naver.com/hyangmi22?Redirect=Log&logNo=10081481014 http://www.ojtkorea.com/contents/e-learning/?code=uml
감사합니다.