정보처리기사

[정보처리기사실기] UML / 다이어그램

PEAZH 2024. 6. 27. 09:02

1과목. 소프트웨어 구축

📒 07. UML

 

계획 - 요구사항 분석 - 소프트웨어 설계 - 구현 - 테스트 - 유지보수


1. UML(Unified Modeling Language)

(1) UML 개념

  • 소프트웨어 시스템을 시각화 및 문서화
  • 시스템의 구조와 동작을 명세하는 표준화된 모델링 언어로, 그림 그리는 언어
  • 표준화된 도형을 가지고 그림을 그리는 것

(2) UML 특징

  • a) 가시화 언어 : 다양한 다이어그램을 통해 시각적으로 표현하며, 복잡한 시스템을 이해하기 쉽게 함
  • b) 명세화 언어 : 표준화된 언어로 시스템의 요구사항과 기능을 명세하는데 사용
  • c) 구축 언어 : 설계와 구현에 도움이 되는 도구로, 객체 지향 소프트웨어 개발에서 중요한 역할을 함
  • d) 문서 언어 : 표준화된 형태로 문서화하여 커뮤니케이션을 개선함

 

2. UML 구성요소

(1) 사물(Things)

  • a) 구조사물
    - 시스템의 개념적, 물리적 요소
    - ex. 클래스, 유스케이스 컴포넌트 등
  • b) 행동사물
    - 시간과 공간에 따른 요소들의 행위
    - ex. 상호작용, 상태머신
  • c) 그룹사물
    - 요소들을 그룹으로 묶은 것
    - ex. 패키지
  • d) 주해사물
    - 부가적 설명이나 제약조건
    - ex. 주석, 노트

(2) 관계(Relationship)

  • a) 일반화 관계(Generalization)
    - 한 클래스가 다른 클래스를 포함하는 상위 개념일 때의 관계
    - 객체지향 개념에서는 일반화 관계를 상속관계라고 함
  • b) 연관관계(Association)
    - 2개 이상 사물이 서로 관련된 관계
    - 한 클래스가 다른 클래스에서 제공하는 기능을 사용할 때 표시
    - 의존관계보다는 긴밀한 관계
  • c) 의존관계(Dependency)
    - 연관 관계와 비슷하지만, 두 클래스의 관계가 한 메서드를 실행하는 동안과 같이 매우 짧은 시간만 유지
    - 매개변수로 사용하여 잠깐만 사용하는 것
  • d) 실체화 관계(Realization)
    - 인터페이스를 구현받아 추상 메서드를 오버라이딩하는 것을 의미
    - 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정
  • e) 집합관계 - 집약관계(Aggregation)
    - 한 객체가 다른 객체를 소유하는 'has a' 관계
    - 라이프타임은 독립적으로 전체 객체가 사라진다 해도 부분 객체는 사라지지 않음
  • f) 집합관계 - 합성관계(Composition)
    - 부분 객체가 전체 객체에 속하는 관계로 긴밀한 필수적 관계
    - 전체 객체의 라이프타임과 부분 객체의 라이프타임은 의존적으로, 전체 객체가 없어지면 부분 객체도 없어짐

(3) 다이어그램(Diagram)

  • a) 구조 다이어그램
    - 안에 들어가 있는 속성들
    - 클래스 다이어그램, 객체 다이어그램, 컴포넌트 다이어그램, 배치 다이어그램, 복합체 구조 다이어그램, 패키지 다이어그램
  • b) 행위 다이어그램
    - 안에 있는 기능과 상태가 어떻게 변경되는지 나타냄
    - 유스케이스 다이어그램, 순차 다이어그램, 커뮤니케이션 다이어그램, 상태 다이어그램, 활동 다이어그램, 상호작용 다이어그램, 타이밍 다이어그램

 

3. 주요 다이어그램

(1) 클래스 다이어그램

  • a) 개념
    - 자기만의 속성과 일정한 행동으로 구성
    - 여러 개의 클래스들은 서로 연관이나 상속, 의존 관계 등으로 서로 간의 상호작용을 표현
  • b) 접근제한자 표기법
    - '-' : private 해당 클래스 내에서만 접근 가능
    - '#' : protected 상속, 동일 패키지 내에서만 접근 가능
    - '+' : public 어디서든 접근 가능

(2) 유스케이스 다이어그램

  • a) 개념
    - 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여줌
    - 행위 다이어그램의 대표적인 다이어그램으로 기능들을 명세하는 것
  • b) 구성요소
    - 시스템 : 만들고자 하는 프로그램 명칭
    - 액터 : 행위를 하는 사용자나 외부에 있는 시스템
    - 유스케이스 : 사용자 입장에서 바라본 시스템의 기능
    - 관계 : 액터와 유스케이스 사이의 의미 있는 관계
  • c) 다이어그램 관계
    - 연관 관계(Association) : 유스케이스와 액터 간의 상호작용이 있음을 실선으로 표현
    - 포함 관계(Include) : 유스케이스를 실행할 때 반드시 실행되어야 하는 경우(<<Include>>)
    - 확장 관계(Extend) : 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우(<<Extend>>)
    - 일반화 관계(Generalization) : 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스(상속)

(3) 시퀀스 다이어그램

  • a) 개념
    - 객체 간의 상호작용 메시지 시퀀스를 시간의 흐름에 따라 나타내는 다이어그램
  • b) 구성요소
    - 객체와 생명선 : 객체는 직사각형, 라이프 라인은 점선으로 표현하고 점선은 아래로 갈수록 시간의 경과를 의미
    - 활성 박스 : 현재 객체가 어떤 활동을 하고 있는지 기다란 직사각형으로 표현
    - 메시지 : 인스턴스 간 주고받은 데이터로 동기 메시지, 동기 메시지, 자체 메시지, 반환 메시지가 있음
  • c) 다이어그램 관계
    - 연관 관계(Association) : 유스케이스와 액터 간의 상호작용이 있음을 실선으로 표현
    - 포함 관계(Include) : 유스케이스를 실행할 때 반드시 실행되어야 하는 경우(<<Include>>)
    - 확장 관계(Extend) : 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우(<<Extend>>)
    - 일반화 관계(Generalization) : 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스(상속)

(4) 상태 다이어그램

  • a) 개념
    - 한 객체의 상태 변화를 나타내는 다이어그램

 

더보기

💡 다이어그램의 종류와 특징만 알아두기

 

참고자료

흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
 

1억뷰 N잡

[1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

www.njobler.net