UML(Unified Modeling Laguage)이란?
->시스템 개발자가 자신의 비전을 구축하고 반영하는데 있어서표준적이고 이해하기 쉬운 방법으로 할 수 있도록 도와주며, 자신의 설계 결과물을 다른 사람과 효과적으로 주고받으며 공유할 수 있는 메커니즘을 제공
시스템(System->비즈니스 문제에 대한 솔루션을 제공하는 소프트웨어와 하드웨어가 합쳐진 개념
시스템 개발(System development)->고객이 필요로 하는 시스템을 만드는 것
고객(client)->솔루션을 필요로 하는 사람
분석가(analyst)->고객의 문제를 문서화하여 개발자에게 전달
개발자(developer)->문제를 해결할 수 있는 소프트웨어를 만드는 사람
UML의 탄생->그래디 부치, 제임스 럼버, 이바 야콥슨
UML의 구성요소(뷰, 모델)
다이어그램의 목적 : 시스템을 여러 가지 시각에서 볼 수 있는뷰(View)를 제공, 이러한 뷰의 집합을모델(Model)이라고 함.
UML 모델 : 시스템 자체의 “목적 행동”을 설명하는 언어
다이어그램 종류

클래스 다이어그램
->자기만의속성(attribute)과일정한 행동(behavior)으로 구성, 이러한행동은 오퍼레이션(operation)의 집합이라 함
클래스-> 비슷한 속성과 공통적인 행동 수단을 지닌 것들의 범주 혹은 그룹
(UML 클래스 아이콘)

객체 다이어그램
객체(Object)->클래스의 인스턴스즉,값이 매겨진 속성과 행동을 가지고 있는 개별적인 개체를 뜻함
표기법 : 사각형, 이름에 밑줄, 인스턴스의 이름은 콜론(:)의 왼편에 쓰며, 클래스의 이름은 콜론(:)의 오른편
(UML 객체 아이콘)

컴포넌트 다이어그램(Component Diagram)
->시스템의 기능을 정의(한개 이상의 클래스를 구현하여 컴포넌트를 구성)

배포(배치) 다이어그램(Deployment Diagram)
->컴퓨터를 기반으로 하는 시스템의 물리적 구조를 나타낸 그림이다.
->컴퓨터와 부가장치, 각각의 연결 관계뿐만 아니라, 각각의 기계에 설치된 소프트웨어까지 표시한다.

복합체 구조 다이어그램(Composite Structure Diagram)
->클래스 모델을 만들 때각 컴포넌트 클래스를 전체 클래스 안에 위치시킴으로써클래스의 내부 구조가 어떤 것으로 이루어져 있는지 살펴보는데에 유용

패키지 다이어그램(Package Diagram)
->다이어그램의 요소를 조직화하여 패키지형태로 나타내어준다.
클래스나 컴포넌트들을 그룹화시켜 구조화함
패키지 간의 의존성을 알아야 하며 Java의 패키지나 C#의 네임스페이스와 유사

상태 다이어그램
객체는시간에 따라 각기 다른 상태에 있을 수 있다.시간에 따른 객체가 변하는 상태를단계별로 나타내주는 것을 뜻함

시퀸스 다이어그램(Sequence Diagram)
->객체들끼리 주고받는메시지의 순서를시간의 흐름에 따라 보여주는 그림이다.

활동 다이어그램(Activity Diagram)
->유스 케이스 내부 혹은 객체의 동작중에 발생하는 활동(activity)은 대개 시퀸스 내에서 발견할 수 있다.

통신 다이어그램(Communication Diagram)
하나의 시스템을 구성하는 요소들은 다른 요소들과 손발을 맞추면서 시스템 전체의 목적을 이루어 나가는 것을 표현하기 위해 사용된다.

* Communication , Callaboration, Interaction -> 다 같은말로 사용된다.

유스 케이스 다이어그램
유스 케이스(use case)->사용자의 입장에서 본시스템의 행동을 일컫음
행위자(actor)-> 사용자를 나타냄(사람모양)
유스 케이스(use case)-> 시스템의 행동(타원)

교류 개요 다이어그램(상호작용 개요 다이어그램 Interaction Overview Diagram)
->각 활동마다 객체 사이에 시간의 흐름을 갖는 메시지가 존재한다면 몇몇 활동 부분은 시퀸스 다이어그램이나 통신 다이어그램(혹은 두 다이어그램의 조합)으로 바뀌어야되는데 이것을 나타내준다.

타이밍 다이어그램
->UML 2.0의 타이밍 다이어그램에서 이러한 시간을 다루기 위해 사용한다. 한 상태에서 객체가 얼마나 오랜 시간을 지체하는지를 명시한다.

이외의 것들
노트
->부가적인 설명을 넣기위해 사용한다.
->노트의 아이콘은 한쪽 귀가 접힌 사각형이며, 다이어그램 요소에 점선을 사용해 붙인다.

키워드 및 스테레오타입
->키워드는 UML 요소가원래 의미가 아닌 새로운 다른 의미로 사용되었음을 나타내며 거듭이용표안에 위치한다.
->스테레오는 기존의 UML 요소를 기본으로 하여다른 요소를 새로 만들 수 있게하는 장치이다.

다이어그램이 종류가 많은 이유
->제대로 설계된 시스템 설계라면가능한 시점의 모든 다이어그램이 포함되어 있어야 하고,각각의 UML 다이어그램은 자신이 나타내고 있는 시점을 하나로 합칠수 있는수단을 제공해야 한다.모든 참여자를 만족시키기 위해서이다.
요약
->시스템 개발은 인간이 하는 것이기 때문에,이해하기 쉬운 표기 방식이 없으면(대형 프로젝트의 경우에 더욱) 에러를 일으킬 가능성이 매우 높다.
->UML은 시스템 개발 세계에서표준으로 인정받은 표기시스템이다.
->UML은시스템 분석가에게의뢰인, 프로그래머, 그리고시스템 개발 과정에 참여한 모든 사람들이각자의 시점에서 이해할 수 있는 다방면의 설계도를 그릴 수 있는표준을 제공한다.
->UML 모델은 시스템이 “무엇을” 의도하고 있는지를 말해줄 뿐, “어떻게” 동작하는지를 말해주지는 않는다.
->[클래스, 객체, 유스케이스,상태, 시퀸스, 활동, 통신, 컴포넌트, 배포, 복합체, 구조, 교류 개요, 타이밍, 패키지]다이어그램
63page퀴즈 & 연습문제
퀴즈

1. 시스템 모델링에 있어서 다이어그램을 다양하게 그려야 하는 이유는 무엇인가?
-> 시스템 개발 과정에 참여한 모든 사람들이 각자의 시점에서 이해할 수 있게 해야하기 떄문에.
2. 시스템의 정적인 뷰를 제공하는 다이어그램에는 무엇이 있을까?
-> [클래스, 객체, 컴포넌트, 배포, 복합체, 패키지] 다이어그램
3. 시스템의 동적인 뷰를 제공하는(즉, 시간에 따른 변경 상황을 보이는) 다이어그램에는 어떤 것이 있을까?
-> [시퀸스, 활동, 통신, 교류개요, 타이밍] 다이어그램
4. [그림 1.5]에 있는 객체들의 종류는 무엇인가?
->메시지를 주고받는 객체들?

Start typing and press Enter to search

Shopping Cart