[소프트웨어공학]UML 다이어그램 종류 및 설명
류명운
·2015. 4. 16. 14:41
Ch1. UML을 소개합니다.
UML(Unified Modeling Laguage)이란?
->시스템 개발자가 자신의 비전을 구축하고 반영하는데 있어서 표준적이고 이해하기 쉬운 방법으로 할 수 있도록 도와주며, 자신의 설계 결과물을 다른 사람과 효과적으로 주고받으며 공유할 수 있는 메커니즘을 제공
시스템(System->비즈니스 문제에 대한 솔루션을 제공하는 소프트웨어와 하드웨어가 합쳐진 개념
시스템 개발(System development)->고객이 필요로 하는 시스템을 만드는 것
고객(client)->솔루션을 필요로 하는 사람
분석가(analyst)->고객의 문제를 문서화하여 개발자에게 전달
개발자(developer)->문제를 해결할 수 있는 소프트웨어를 만드는 사람
UML의 탄생->그래디 부치, 제임스 럼버, 이바 야콥슨
UML의 구성요소(뷰, 모델)
다이어그램의 목적 : 시스템을 여러 가지 시각에서 볼 수 있는 뷰(View)를 제공, 이러한 뷰의 집합을 모델(Model)이라고 함.
UML 모델 : 시스템 자체의 "목적 행동"을 설명하는 언어
다이어그램 종류
클래스 다이어그램
->자기만의 속성(attribute)과 일정한 행동(behavior)으로 구성, 이러한 행동은 오퍼레이션(operation)의 집합이라 함
클래스-> 비슷한 속성과 공통적인 행동 수단을 지닌 것들의 범주 혹은 그룹
(UML 클래스 아이콘)
객체 다이어그램
객체(Object)-> 클래스의 인스턴스 즉, 값이 매겨진 속성과 행동을 가지고 있는 개별적인 개체를 뜻함
표기법 : 사각형, 이름에 밑줄, 인스턴스의 이름은 콜론(:)의 왼편에 쓰며, 클래스의 이름은 콜론(:)의 오른편
(UML 객체 아이콘)
유스 케이스 다이어그램
유스 케이스(use case)-> 사용자의 입장에서 본 시스템의 행동을 일컫음
행위자(actor)-> 사용자를 나타냄(사람모양)
유스 케이스(use case)-> 시스템의 행동(타원)
상태 다이어그램
객체는 시간에 따라 각기 다른 상태에 있을 수 있다. 시간에 따른 객체가 변하는 상태를 단계별로 나타내주는 것을 뜻함
시퀸스 다이어그램(Sequence Diagram)
->객체들끼리 주고받는 메시지의 순서를 시간의 흐름에 따라 보여주는 그림이다.
활동 다이어그램(Activity Diagram)
->유스 케이스 내부 혹은 객체의 동작중에 발생하는 활동(activity)은 대개 시퀸스 내에서 발견할 수 있다.
통신 다이어그램(Communication Diagram)
하나의 시스템을 구성하는 요소들은 다른 요소들과 손발을 맞추면서 시스템 전체의 목적을 이루어 나가는 것을 표현하기 위해 사용된다.
* Communication , Callaboration, Interaction -> 다 같은말로 사용된다.
컴포넌트 다이어그램(Component Diagram)
->시스템의 기능을 정의(한개 이상의 클래스를 구현하여 컴포넌트를 구성)
배포 다이어그램(Deployment Diagram)
->컴퓨터를 기반으로 하는 시스템의 물리적 구조를 나타낸 그림이다.
->컴퓨터와 부가장치, 각각의 연결 관계뿐만 아니라, 각각의 기계에 설치된 소프트웨어까지 표시한다.
복합체 구조 다이어그램
->클래스 모델을 만들 때 각 컴포넌트 클래스를 전체 클래스 안에 위치시킴으로써 클래스의 내부 구조가 어떤 것으로 이루어져 있는지 살펴보는데에 유용
교류 개요 다이어그램
->각 활동마다 객체 사이에 시간의 흐름을 갖는 메시지가 존재한다면 몇몇 활동 부분은 시퀸스 다이어그램이나 통신 다이어그램(혹은 두 다이어그램의 조합)으로 바뀌어야되는데 이것을 나타내준다.
타이밍 다이어그램
->UML 2.0의 타이밍 다이어그램에서 이러한 시간을 다루기 위해 사용한다. 한 상태에서 객체가 얼마나 오랜 시간을 지체하는지를 명시한다.
패키지 다이어그램(Package Diagram)
->다이어그램의 요소를 조직화하여 패키지형태로 나타내어준다.
이외의 것들
노트
->부가적인 설명을 넣기위해 사용한다.
->노트의 아이콘은 한쪽 귀가 접힌 사각형이며, 다이어그램 요소에 점선을 사용해 붙인다.
키워드 및 스테레오타입
->키워드는 UML 요소가 원래 의미가 아닌 새로운 다른 의미로 사용되었음을 나타내며 거듭이용표안에 위치한다.
->스테레오는 기존의 UML 요소를 기본으로 하여 다른 요소를 새로 만들 수 있게 하는 장치이다.
다이어그램이 종류가 많은 이유
->제대로 설계된 시스템 설계라면 가능한 시점의 모든 다이어그램이 포함되어 있어야 하고, 각각의 UML 다이어그램은 자신이 나타내고 있는 시점을 하나로 합칠 수 있는 수단을 제공해야 한다. 모든 참여자를 만족시키기 위해서이다.
요약
->시스템 개발은 인간이 하는 것이기 때문에, 이해하기 쉬운 표기 방식이 없으면(대형 프로젝트의 경우에 더욱) 에러를 일으킬 가능성이 매우 높다.
->UML은 시스템 개발 세계에서 표준으로 인정받은 표기시스템이다.
->UML은 시스템 분석가에게 의뢰인, 프로그래머, 그리고 시스템 개발 과정에 참여한 모든 사람들이 각자의 시점에서 이해할 수 있는 다방면의 설계도를 그릴 수 있는 표준을 제공한다.
->UML 모델은 시스템이 "무엇을" 의도하고 있는지를 말해줄 뿐, "어떻게" 동작하는지를 말해주지는 않는다.
->[클래스, 객체, 유스케이스, 상태, 시퀸스, 활동, 통신, 컴포넌트, 배포, 복합체, 구조, 교류 개요, 타이밍, 패키지] 다이어그램
63page 퀴즈 & 연습문제
퀴즈
1. 시스템 모델링에 있어서 다이어그램을 다양하게 그려야 하는 이유는 무엇인가? -> 시스템 개발 과정에 참여한 모든 사람들이 각자의 시점에서 이해할 수 있게 해야하기 떄문에.
2. 시스템의 정적인 뷰를 제공하는 다이어그램에는 무엇이 있을까? -> [클래스, 객체, 컴포넌트, 배포, 복합체, 패키지] 다이어그램 3. 시스템의 동적인 뷰를 제공하는(즉, 시간에 따른 변경 상황을 보이는) 다이어그램에는 어떤 것이 있을까? -> [시퀸스, 활동, 통신, 교류개요, 타이밍] 다이어그램 4. [그림 1.5]에 있는 객체들의 종류는 무엇인가? ->메시지를 주고받는 객체들? |
'삶의 늪에 들어 가기 전 > 정리중(미정리)' 카테고리의 다른 글
[소프트웨어공학]객체지향 개념 정리(2/2) (0) | 2015.04.17 |
---|---|
[소프트웨어공학]객체지향 개념 정리(1/2) (0) | 2015.04.16 |
[네트워크 프로그래밍1] 중간고사 시험 정리 (0) | 2015.04.16 |
d (0) | 2015.04.15 |
[네트워크 프로그래밍1]Writer클래스를 사용하여 person 저장프로그램 만들기 (0) | 2015.04.15 |