[소프트웨어공학]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]에 있는 객체들의 종류는 무엇인가?

 ->메시지를 주고받는 객체들?



반응형