1과목 소프트웨어 설계 1. 요구사항 확인 (9)

도지는·2024년 1월 20일

정보처리기사

목록 보기
6/43

UML *

💡
💡
💡
💡

¹ UML(Unified Modeling Language)의 개요

🖍️ UML(Unified Modeling Language)
시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어

  • 공통된 표현법을 사용해 개발할 대상물을 다이어그램으로 표현하는 도구
  • Rumbaugh(OMT), Booch, JAcobson 등의 객체지향 방법론의 장점을 통합
  • 객체 기술에 관한 국제표준화기구인 OMG(Object Management Group)에서 표준으로 지정
  • 시스템의 구조를 표현하는 6개의 구조 다이어그램
  • 시스템의 동작을 표현하는 7개의 행위 다이어그램
  • 구성요소: 사물(Things), 관계(Relationships), 다이어그램

² 사물(Things)

모델을 구성하는 가장 중요한 기본요소
다이어그램 안에서 관계가 형성될 수 있는 대상

  • 구조 사물(Structural Things)
    시스템의 개념적, 물리적 요소 표현
    클래스, 유스케이스, 컴포넌트, 노드
  • 행동 사물(Behavioral Things)
    시공간에 따른 요소들의 행위
    상호작용, 상태머신
  • 그룹 사물(Grouping Things)
    요소들을 그룹으로 묶어서 표현
    패키지
  • 주해 사물(Annotaion Things)
    부가적인 설명이나 제약조건 표현

³ 관계(Relationships)

사물과 사물 사이의 연관성을 표현
연관, 집합, 포함, 일반화, 의존, 실체화 관계

(1) 연관 관계

2개 이상의 사물이 서로 관련되어 있음

  • 실선으로 연결, 방향성은 화살표로 표현
  • 양방향 관계인 경우 화살표 생략
  • 선 위에 다중도 표시
    ex) 1, n, 1..n, 0..1, 1..*, n..m

(2) 집합 관계

하나의 사물이 다른 사물에 포함되어 있는 관계

  • 전체와 부분은 서로 독립적임
  • 전체를 속이 빈 마름모로 표현
    ex) 컴퓨터◇-프린터

(3) 포함 관계

집합 관계의 특수한 형태, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계

  • 서로 독립될 수 없고 생명주기를 함께함
  • 전체를 속이 채워진 마름모로 표현
    ex) 문◆-키 (문이 없으면 키도 필요 없음)

(4) 일반화 관계

하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현

  • 일반적인 개념: 상위, 부모
  • 구체적인 개념: 하위, 자식
  • 하위에서 상위 쪽으로 속이 빈 화살표 연결
    ex) 아메리카노 ⇾ 커피

(5) 의존 관계

연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계

  • 두 사물이 소유 관계는 아니지만 사물의 변화가 다른 사물에도 영향을 미치는 관계
  • 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우
  • 영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표 연결
    ex) 등급 ----> 할인율

(6) 실체화 관계

사물이 할 수 있거나 해야 하는 기능(오퍼레이션, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현

  • 사물에서 기능 쪽으로 속이 빈 점선 화살표 연결
    ex) 비행기 ----▷ 날 수 있는 ◁---- 새

⁴ 다이어그램

사물과 관계를 도형으로 표현한 것

  • 정적 모델링에는 구조적 다이어그램
  • 동적 모델링에는 행위 다이어그램

구조적 다이어그램

  • 클래스 다이어그램
  • 객체 다이어그램
  • 컴포넌트 다이어그램
  • 배치 다이어그램
  • 복합체 구조 다이어그램
  • 패키지 다이어그램

행위 다이어그램

  • 유스케이스 다이어그램
  • 순차 다이어그램
  • 커뮤니케이션 다이어그램
  • 상태 다이어그램
  • 활동 다이어그램
  • 상호작용 개요 다이어그램
  • 타이밍 다이어그램

스테레오 타입
: UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용
<<include>>: 포함 관계
<<extend>>: 확장 관계
<<interface>>: 인터페이스 정의
<<exception>>: 예외 정의
<<constructor>>: 생성자 역할을 수행하는 경우

profile
왕왕

0개의 댓글