본문 바로가기
IT기술노트/소프트웨어공학

UML(Unified Modeling Language)

by 비트코기 2021. 1. 31.

객체지향 분석, 설계, Use-case, Class, Sequence, Activity


I. 객체지향 분석, 설계를 위한 모델링 언어, UML의 개요

가. UML(Unified Modeling Language)의 정의

   - 객체지향 분석과 설계를 하기 위한 모델링 언어로 OMG(Object Management Group)에서 모델링 기술과, 방법론을 표준화한 언어

나. UML의 특징

특징

내용

가시화 언어

프로젝트 계획, 실행, 변경 통제

문서화 언어

요구사항관리, 범위 정의, 산출물, 베이스라인 관리

구현 언어

WBS 승인, 일정 수행 및 평가 조정

명세화 언어

프로젝트 활동 완료를 위한 모든 비용, 예산 관리


II. UML의 구조 및 모델

가. UML의 구조

구성요소

내용

Things

모델에서 주제를 나타내는 요소

단어 중에서 명사, 혹은 동사 의미 요소

Relationships

Things Things를 연결하여 그들간의 관계를 표현

단어 중에서 형용사나 부사 요소

Diagrams

ThingsRelationship을 모아 그림으로 표현

시스템의 구조와 행위를 표현하는 13개의 다이어그램 존재

나. UML의 모델

모델

내용

기능적 모델

사용자 측면에서 본 시스템의 기능을 나타내며 Use Case Diagram으로 표현

객체 모델

객체, 속성, 관계, 오퍼레이션에 의하여 시스템 구조를 나타냄

동적 모델

시스템의 내부 동작을 나타냄


III.             UML 4+1 View 및 다이어그램

가.       UML 4+1 View

나. UML의 다이어그램 (cocdaudsc)

구분

다이어그램

설명

구조

다이어그램

Class Diagram

- 시스템 내 클래스들의 정적 구조를 표현하고 클래스는 객체들의 집합으로 속성과 동작으로 구성

Object Diagram

- 클래스의 여러 오브젝트 인스턴스를 나태내는 대신에 실제 클래스를 사용

- 클래스 다이어그램에서 2가지 예외를 제외하고 동일 표기법 사용

- 관계 있는 모든 인스턴스를 표현

Component Diagram

- 코드 컴포넌트에 바탕을 둔 코드의 물리적 구조를 표현

- 컴포넌트는 논리적 클래스 or 클래스 자신의 구현에 대한 정보 포함

- 실질적인 프로그래밍 작업에 사용

Deployment Diagram

- 시스템 HW SW간 물리적 구조를 표현하며, 컴퓨터와 Device간의 관계 표현

- 컴포넌트 사이의 종속성을 표현

행위

다이어그램

Activity Diagram

- 행위의 순차적 흐름을 표시

- 순서도난 병렬적인 처리를 요하는 행위를 표현할 때 사용

Use Case Diagram

- 사용자의 입장에서 본 시스템의 기능적인 요구 행동을 표현

- Use Case는 시스템의 기능적인 요구사항 정의

State Chart Diagram

- 클래스의 객체가 가질 수 있는 모든 가능한 상태와 상태간의 전이를 표현

- 진입, 탈출 조건, 상태전이에 필요한 사건 등 자세한 사항 기술

- 설계 단계에서 클래스 객체의 동적인 행동을 표현하는데 사용

상호작용

다이어그램

Sequence Diagram

- 객체와 객체간의 상호작용을 메시지 흐름으로 표현

- 오브젝트 사이에 메시지를 보내는 시간, 순서를 보여주기 위해 사용

Collaboration Diagram

- 오브젝트간의 연관성을 표현하며, 내용이 중요한 경우에 이용

 

반응형

'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글

시퀀스 다이어그램 (Sequence Diagram)  (0) 2021.01.31
액티비티 다이어그램 (Activity Diagram)  (0) 2021.01.31
클래스 다이어그램 (Class Diagram)  (0) 2021.01.31
UML 2.0  (0) 2021.01.31
다형성 (Polymorphism)  (0) 2021.01.31
객체지향 (Object-Oriented)  (0) 2021.01.31
객체지향 설계원칙  (0) 2021.01.31
모듈화 (Modularity)  (0) 2021.01.31

댓글