UML 다이어그램이란? UML 다이어그램 종류

2024. 3. 21. 10:05 · Basic/소프트웨어공학 (UML)

1. UML 다이어그램

- UML의 여러 가지 그래픽 요소는 하나의 큰 그림, 즉 다이어그램을 그리는 데 사용한다. 

 

2. 다이어그램의 목적

- 시스템을 여러 가지 시각에서 볼 수 있는 뷰를 제공하는 것이며, 이러한 뷰(view)의 집합을 모델(model)이라 한다. 

 

3. UML 모델

- 시스템 자체의 목적 행동을 설명하는 언어이다. 

- 구현방법을 설명하는 것이 아니다. 구현 전 단계까지 이런 시스템이 이러한 행동을 할 거다.라는 것을 설명하는 것이다. 

 

4. UML 버전

- 1.x와 2.0이 있다. 

- 2.0부터는 기존의 다이어그램에서 표현하지 못한 것 들을 표현하기 위해 추가되었다. 

- 특히 복합체 구조 다이어그램, 교류 개요 다이어그램, 타이밍 다이어그램 등등  추가되었다. 

 

5. 다이어그램 종류

1. Class Diagram (클래스 다이어그램)
- 클래스 : 비슷한 속성과 공통적인 행동 수단을 지닌 것들의 범주 혹은 그룹
2. Object Diagram (객체 다이어그램)
- 객체 : 클래스의 인스턴스 즉, 값이 매겨진 속성과 행동을 가지고 있는 개별적인 개체
- 2개의 UML 객체 아이콘이 존재한다. 왼쪽은 이름이 있는 객체, 오른쪽은 어떠한 객체(틀)를 나타낸다.

 

3. Usecase Diagram (유스케이스 다이어그램)
- 사용자 입장에서 본 시스템의 행동을 나타낸다. 

 

4. State Diagram (상태 다이어그램)
- 객체는 시간에 따라 각기 다른 상태에 있는다. 

  

5. Sequence Diagram (시퀀스 다이어그램)
- 시스템과 관련된 객체들끼리 주고받는 메시지의 순서를 시간의 흐름에 따라 보여준다.
- 객체를 가로축으로 배치가 된다. 
- 지나는 시간을 세로축으로 배치한다.
- 시간의 순서를 나타내지, 각 행동마다의 몇 분 걸리는지 정확한 시간은 나타내지 않는다.

  

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

  

7. Communication Diagram (통신 다이어그램)
- 하나의 시스템을 구성하는 요소들은 다른 요소들과 손발을 맞추면서 시스템 전체의 목적을 이루어 나아간다.
- 이러한 것을 표현하기 위하여 시퀀스 다이어그램과 마찬가지로 디자인되어 있다.
- Sequence Diagram과 비슷하지만 배치가 다르다.

 

8. Componenet Diagram (컴포넌트 다이어그램)
- 한 개의 기능을 구현해서 한 개의 컴포넌트를 의미한다.
- 시스템을 구성할 소프트웨어의 조각, 임베디드 컨트롤러, 바운더리 등 그들의 조직과 종속성을 보여준다.
- 클래스 다이어그램보다 추상화 수준이 더 높습니다.
9. Deployment Diagram (배포 다이어그램)
- 컴퓨터를 기반으로 하는 시스템의 물리적 구조를 나타낸 그림이다.
- 즉, 이 시스템이 어떠한 물리적 구조를 나타내고 있는 그림이다.
- 어떤 데이터베이스, 어떤 네트워크가 연결되어 있는지도 나타내야 한다.
10. Composite Structure Diagram (복합체 구조 다이어그램)
- UML 2.0부터 추가되었다. 
- UML2 에서는 클래스를 계층적인 내부 구조로 분해할 수 있다.
- 내부 구조로 분해한다는것은 복잡한 객체를 여러 개의 부분으로 나눌 수 있도록 해준다는 의미가 된다.
- 즉, 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현한다.
11. Interaction Overview Diagram (교류 개요 다이어그램)
- UML 2.0부터 추가되었다. 
- 각 활동마다 객체 사이에 시간의 흐름을 갖는 메시지가 존재한다면 몇몇 활동 부분은 Sequence Diagram이나 Communication Diagram (혹은 두 다이어그램의 조합)으로 바뀌어야 한다.
12. Timing Diagram (타이밍 다이어그램)
- 한 상태에서 객체가 얼마나 오랜 시간을 지체하는 지를 명시한다. 
- Sequence Diagram은 시간의 흐름인거지 어느 정도의 시간이 걸리는지는 언급이 안된다.

 

13. Package Diagram (패키지 다이어그램)
- 다이어그램의 요소를 조직화한다.
- 탭이 달린 폴더 안에 요소들을 집어넣음으로써 표현 가능하다.

 

 

6. UML 다이어그램을 조직화하고 확장할 수 있는 장치

1. 노트
- 붙였다, 떼었다 할 수 있는 포스트-잇을 생각 하면 된다.
- 주석이라고 생각하면 된다. 
- 어떤 생각을 가지고 했는지 노트에 적어 놓음으로써 다른 사람들이 알 수 있다. 
2. 스테레오타입
- 기존의 UML요소를 기본으로 하여 다른 요소를 새로 만들 수 있게 하는 장치
3. 키워드
- UML 요소가 원래 의미가 아닌 새롭고, 다른 의미로 사용되었음을 나타내며, 거듭인용표 안에 위치한다. 

 

 

7. 왜 이렇게 여러 가지의 다이어그램을 사용해야 할까?

- 시스템을 바라보는 시각이 다 다르기 때문에 모든 사람들을 만족시키기 위해 사용한다.

- 제대로 설계된 시스템 설계라면 가느안 시점의 모든 다이어그램이 포함되어있어야 한다. 

- 각각의 UML 다이어그램은 자신이 나타내고 있는 시점을 하나로 합칠 수 있는 수당을 제공한다. 

728x90

'Basic > 소프트웨어공학 (UML)' 카테고리의 다른 글

UML 기초와 응용 3장  (0) 2024.04.22
UML 기초와 응용 1장  (1) 2024.04.22
소프트웨어공학 UML 2장 퀴즈  (0) 2024.03.26
소프트웨어공학 UML 1장 퀴즈  (0) 2024.03.19
소프트웨어공학 UML 0장 퀴즈  (0) 2024.03.19
'Basic/소프트웨어공학 (UML)' 카테고리의 다른 글
  • UML 기초와 응용 1장
  • 소프트웨어공학 UML 2장 퀴즈
  • 소프트웨어공학 UML 1장 퀴즈
  • 소프트웨어공학 UML 0장 퀴즈
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    대학생학회
    대외활동
    Oracle
    파이썬 챗봇 만들기
    리액트
    오라클SQL
    이름나이
    파이썬
    dbms
    주석
    print(f"")
    react
    BDA학회
    python
    오블완
    importturtle
    파이썬{}
    취업준비
    sql
    input
    티스토리챌린지
    jsx
    자바스크립트
    Py
    취업
    자료형
    빅데이터분석
    AI역량검사
    js
    javascript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
UML 다이어그램이란? UML 다이어그램 종류
상단으로

티스토리툴바