코딩일기/자격증

[정보처리기사] UML 다이어그램 | 구조적 다이어그램, 행위적 다이어그램 | 정보처리기사 실기 기출문제

jhy_2023 2024. 7. 24. 09:01
728x90
반응형

붉은색=기출
주황색 = 빈출

📌UML (Unified Modeling Language)

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


📌UML 구성 요소

UML(Unified Modeling Language)에서는 시스템을 시각적으로 모델링하기 위해 사물(Things), 관계(Relationships), 다이어그램(Diagrams)**이라는 세 가지 주요 구성 요소를 사용합니다.


1️⃣ 사물

UML 모델에서 나타내고자 하는 객체나 개념

  • 구조적 사물(Structural Things): 클래스, 인터페이스, 협력, 컴포넌트, 노드 등.
  • 행위적 사물(Behavioral Things): 상호작용, 상태 기계 등.
  • 그룹화 사물(Grouping Things): 패키지 등.
  • 주석 사물(Annotational Things): 주석 등.

2️⃣ 관계

사물들 간의 연결 및 상호작용을 나타냄
관계는 사물과 사물 사이의 연관성을 나타내며, UML 다이어그램에서 중요한 역할을 합니다. 주요 관계 유형으로는 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계, 실체화 관계 등이 있으며, 다양한 유형의 관계를 통해 시스템 내 객체 간의 상호작용을 표현합니다. 각각의 관계는 특정한 의미와 표현 방법을 가지고 있습니다.


1. 연관 관계 (Association)

  • 두 개 이상의 사물이 서로 연관되어 있는 관계입니다. 사물 간의 연결을 실선으로 표현하며, 관계의 방향성을 화살표로 나타냅니다.
  • 양방향 관계일 경우 화살표를 생략할 수 있습니다. 객체의 개수를 의미하는 다중도는 선 위에 표시합니다.
  • 예제 : 사람이 집을 소유하는 관계. 사람쪽에 표기된 다중도가 1이므로 집은 한 사람에 의해서만 소유될 수 있다.

2. 집합 관계 (Aggregation)

  • 한 사물이 다른 사물에 포함된 관계로, 포함하는 쪽(전체)과 포함되는 쪽(부분)은 독립적입니다. 전체에서 부분으로 향하는 속 빈 마름모를 사용하여 표현합니다.
  • 하나의 사물이 다른 사물에 포함되어 있는 관계로, 전체와 부분으로 구분되어지며 서로 독립적이다.
  • 예제 : 프린터(부분)는 컴퓨터 (전체)에 연결해서 사용할 수 있으며, 다른 컴퓨터(전체)에 연결해서 사용할 수도 있다.

3. 포함 관계 (Composition)

  • 포함하는 사물(전체)이 포함되는 사물(부분)에 영향을 미치는 관계입니다. 전체와 부분은 생명주기를 공유하며 독립될 수 없습니다. 부분에서 전체로 향하는 속이 채워진 마름모로 표현합니다.
  • 문(전체)을 열 수 있는 키(부분)는 하나이며, 해당 키(부분)로 다른 문(전체)을 열 수 없다. 문(전체)이 없어지면 키(부분)도 더 이상 필요하지 않다

4. 일반화 관계 (Generalization)

  • 한 사물이 다른 사물에 비해 더 일반적이거나 구체적인지를 나타내는 관계입니다. 일반적인 개념을 상위(부모), 구체적인 개념을 하위(자식)으로 구분하며, 하위에서 상위로 향하는 속 빈 화살표로 표현합니다.
  • 상위 모듈이 하위 모듈보다 더 일반적인 개념을 가지고 있으며, 하위 모듈이 상위 모듈보다 더 구체적인 개념을 가진다
  •  아메리카노(구체적 개념, 자식)와 에스프레소(구체적 개념, 자식)는 커피(일반적 개념, 부모)이다.

5. 실체화 관계 (Realization)

 

 

  • 사물이 수행할 수 있거나 수행해야 하는 기능에 따라 서로를 그룹화하는 관계입니다. 사물에서 기능 쪽으로 속 빈 점선 화살표를 사용하여 표현합니다.
  • 비행기는 날 수 있고 새도 날 수 있다. 그러므로 비행기와 새는 날수 있다는 행위로 그룹화 할 수 있다.

6. 의존 관계 (Dependency)

 

  • 사물 사이에 일시적인 연관성을 나타내며, 필요에 따라 짧은 시간 동안만 서로에게 영향을 미치는 관계입니다. 포함 관계와 달리 소유 관계는 아니지만, 한 사물의 변화가 다른 사물에도 영향을 줍니다. 영향 주는 사물이 영향 받는 사물 쪽으로 점선 화살표로 연결됩니다.
  • 예시 : 등급(한 사물의 변화)이 높으면 할인율이 적용(다른 사물에도 영향)되고, 등급이 낮으면(한 사물의 변화) 할인율이 적용되지 않는다.(다른 사물에도 영향)

3️⃣ 다이어그램

UML에서 사물과 관계를 시각적으로 표현한 그림으로 UML 다이어그램은 구조적 다이어그램행위적 다이어그램 두 가지로 나뉩니다.

반응형

📌UML 다이어그램 유형

UML 다이어그램은 구조적(정적) 다이어그램과 행위적(동적) 다이어그램으로 구분됩니다.

1️⃣ 구조적 다이어그램 종류(Structure Diagram)

① 클래스 다이어그램 (Class Diagram)

  • 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현.
  • 시스템을 구성하는 클래스들 사이의 관계를 표현한다.
  • 객체(Object)들을 클래스로 추상화하여표현하는 다이어그램으로 대표적인 구조적 다이어그램이다.
    클래스는 각각의 객체들이 갖는 속성과 메소드를 표현한 것으로 3개의 구획으로 나눠 이름, 속성, 메소드를 표기한다 

② 객체 다이어그램 (Object Diagram)

  • 클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현.
  • 럼바우 객체지향 분석 기법에서 객체 모델링에 활용됨.
  • 객체 정보를 보여준다.

③ 컴포넌트 다이어그램 (Component Diagram)

  • 컴포넌트 구조 사이의 관계를 표현한다.
  • 실제 구현 모듈인 컴포넌트 간의 관계나 인터페이스를 표현.
  • 구현 단계에서 사용됨.

④ 배치 다이어그램 (Deployment Diagram)

  • 소프트웨어, 하드웨어, 네트워크를 포함한 실행 시스템의 물리 구조를 표현한다.
  • 구현 단계에서 사용됨.

⑤ 복합체 구조 다이어그램 (Composite Structure Diagram)

  • 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현.
  • 복합 구조의 클레스와 컴포넌트 내부 구조를 표현한다

⑥ 패키지 다이어그램 (Package Diagram)

  • 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현.
  • 클래스나 유스 케이스 등을 포함한 여러 모델 요소들을 그룹화하여 패키지를 구성하고 패키지들 사이의 관계를 표현한다.

🔎 2020년 정보처리기사 4회 기출문제
UML을 이용한 다이어그램 중 해당 그림에 해당하는 다이어그램을 쓰시오.

2020년 정보처리기사 4회 기출문제

 

  • 논리적으로 관련된 클래스나 요소들을 폴더 모양으로 묶어 하나의 그룹으로 표현합니다. 의존 관계(Dependency)는 패키지 간의 참조나 의존성을 화살표로 나타냅니다. 의존 관계는 한 패키지가 다른 패키지의 기능이나 클래스를 참조하거나 사용한다는 의미입니다.
  • 의존 관계 : 결제 패키지가 카드와 계좌이체 패키지에 의존합니다

 

🔎  2020년 정보처리기사 4회 기출문제
다음은 판매와 관련된 다이어그램이다. 해당 다이어그램의 명칭을 쓰시오.

2020년 정보처리기사 4회 기출문제

  • 패키지 다이어그램은 폴더 모양으로 패키지를 표현하고, 점선 화살표로 의존 관계를 나타냅니다.
    <<import>>라는 스테레오 타입이 사용되었으므로, ordering 패키지가 products 패키지를 가져와 사용하는 의존 관계가 있다는 것을 알 수 있습니다.
  • <<import>> : 여기서는 ordering 패키지가 products 패키지를 가져와(import) 사용하는 것을 나타냅니다.
  • 의존 관계  : ordering 패키지가 products와 pricing 패키지를 의존합니다.  
  1.  

728x90

2️⃣ 행위 다이어그램 종류

유스케이스 다이어그램 (Use Case Diagram)

  • 사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용.
  • 시스템이 제공해야 할 기능을 사용자의 관점에서 시각화합니다. (사용자 관점에서 시스템 행위를 표현한다.)
  • 사용자(Actor)와 사용 사례(Use Case)로 구성됨.
  • 유스케이스 다이어그램 구성 요소
    • 시스템 및 시스템 범위 :
      시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현합니다.
    • 액터 :
      시스템과 상호작용하는 외부 요소로, 주 액터는 시스템을 사용해 이득을 얻는 대상을 의미하고, 부 액터는 주 액터의 목적 달성을 돕는 외부 시스템입니다.
    • 유스케이스 :
      사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스나 기능을 나타냅니다.
    • 관계 :
      액터와 유스케이스, 유스케이스와 유스케이스 사이의 연결을 표현합니다.
  • 유스케이스에서 나타날 수 있는 관계
    • 포함 관계  :
      두 개 이상의 유스케이스가 공통적으로 수행하는 기능을 별도로 분리하여 새로운 유스케이스를 만든 경우애 포함 관계라 합니다.
    • 확장 관계  :
      기본 유스케이스가 특정 조건을 만족할 때 유스케이스의 기능이 확장될때 원래의 유스케이스와 확장된 유스케이스와의 관계를 확장 관계라고 합니다.
    • 일반화 관계  :
      유사한 액터나 유스케이스를 하나의 그룹으로 묶고 싶을때 그보다 일반적인 상위 개념으로 묶고 액터나 유스케이스를 만들어 이들을 연결하여 표현하는 관계이다.
  •  

시퀀스 다이어그램 (Sequence Diagram)

  • 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현.

커뮤니케이션 다이어그램 (Communication Diagram)

  • 동작에 참여하는 객체들이 주고받는 메시지와 객체들 간의 연관 관계를 표현.

상태 다이어그램 (State Diagram)

  • 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현.
  • 객체의 생명주기를 표현한다
  • 럼바우 객체지향 분석 기법에서 동적 모델링에 활용됨.

⑤ 활동 다이어그램 (Activity Diagram)

  • 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현.
  • 업무 처리 과정이나 연산이 수행되는 과정을 표현한다.

⑥ 상호작용 개요 다이어그램 (Interaction Overview Diagram)

  • 상호작용 다이어그램 간의 제어 흐름을 표현.

⑦ 타이밍 다이어그램 (Timing Diagram)

  • 객체 상태 변화와 시간 제약을 명시적으로 표현.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형