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

    반응형

    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

     

     

    반응형

    댓글