본문 바로가기

잡다한 것

2023 정처기도전-6

728x90
반응형
SMALL

UML

UML은 "Unified Modeling Language"의 약자로 객체 지향 소프트웨어 개발에서 사용되는 모델링 언어입니다. 소프트웨어 개발 과정에서 시스템의 구조, 동작 및 상호 작용을 시각적으로 표현할 수 있도록 해주며, 개발자들 간의 의사소통을 원활하게 합니다. UML은 다양한 다이어그램 형태로 표현되며, 각각의 다이어그램은 시스템의 특정한 측면을 나타냅니다. UML은 객체 지향 분석과 설계, 소프트웨어 아키텍처 설계 등 다양한 분야에서 활용됩니다.

 

대표적인 다이어그램 종류

  1. 클래스 다이어그램
    객체 지향 소프트웨어에서 사용되는 클래스와 그들 간의 관계를 표현하는 다이어그램입니다. 클래스, 인터페이스, 추상 클래스 등의 요소와 이들 간의 관계, 상속, 구성 등을 표현할 수 있습니다.
    필수요소: 클래스, 인터페이스, 관계(연관, 일반화, 집합, 합성 등)
  2. 객체 다이어그램
    특정 시점에서 시스템 내에 존재하는객체들과그들간의관계를표현하는다이어그램입니다. 클래스 다이어그램에서 정의된 클래스들의 인스턴스들을 보여줍니다. 객체 다이어그램은 시스템의 실행 중인 상태를 보여줄 때 유용하게 사용됩니다.
    필수요소: 객체, 객체 간의 관계
  3. 시퀀스 다이어그램
    객체 간의 상호작용을 시간순으로 표현하는 다이어그램입니다. 시스템 내에서 객체 간에 메시지 전송이 일어나는 과정을 단계적으로 보여줍니다. 객체 간의 상호작용 및 시스템의 동작을 이해하는 데 유용하게 사용됩니다.
    필수요소: 객체, 객체 간의 상호작용, 메시지, 활성화및 반환, 각 시점에서의 객체 상태
  4. 유스케이스 다이어그램
    시스템이 제공하는 기능과 이를 사용하는 사용자들 간의 관계를 표현하는 다이어그램입니다. 주로 요구사항 분석 단계에서 사용되며, 시스템의 사용자 관점에서 시스템의 동작을 파악할 수 있습니다.
    필수요소: 시스템 범위 액터, 유스케이스, 관계(포함, 확장, 일반화)
  5. 상태 다이어그램
    시스템 내의 객체가 가질 수 있는 상태와 이에 따른 상태 전이를 표현하는 다이어그램입니다. 객체의 생명주기를 표현하며, 객체의 행동과 이벤트에 따른 상태 변화를 시각적으로 표현할 수 있습니다.
    필수요소: 상태, 상태 전이, 동작(동작의 집합, 신호 발생)
  6. 활동 다이어그램
    시스템 내에서 수행되는작업과이들간의관계를표현하는다이어그램입니다. 주로 비즈니스 프로세스, 시스템의 동작 흐름 등을 표현할 때 사용됩니다. 특히, 복잡한 프로세스를 단계적으로 분해하고 이해하는 데 유용합니다.
    필수요소: 동작, 의사 결정, 분기, 병합, 이터레이션, 객체 흐름, 예외 처리
  7. 컴포넌트 다이어그램
    시스템을 구성하는 컴포넌트들의 구성과 상호작용을 표현하는 다이어그램입니다. 시스템의 아키텍처 수립 및 설계 단계에서 사용됩니다. 컴포넌트 간의 의존성, 인터페이스, 구현 등을 표현할 수 있으며, 각 컴포넌트가 제공하는 기능과 요구사항 등을 명확하게 파악할 수 있습니다.
    필수요소: 컴포넌트, 인터페이스, 의존 관계, 사용 관계, 제공 관계
  8. 배치 다이어그램
    시스템의 물리적인 배치 구조와 컴포넌트 간의 배치 상태를 표현하는 다이어그램입니다. 시스템을 구성하는 하드웨어나 소프트웨어 구성 요소들이 물리적으로 어떻게 배치되는지를 보여줍니다. 네트워크 구성, 서버 구성, 노드 구성 등을 명확하게 파악할 수 있으며, 시스템 구성 요소 간의 관계를 분석하고 디자인할 때 유용하게 사용됩니다.
    필수요소: 노드, 컴포넌트, 관계(배치, 의존, 사용)

 

  1. UML에서 클래스 다이어그램의 특징에 대해 설명하세요.
    클래스 다이어그램은 객체 지향 프로그래밍에서 사용되는 객체와 클래스의 관계를 시각적으로 표현하는 UML 다이어그램입니다. 클래스 다이어그램은 클래스, 인터페이스, 상속, 연관 등의 요소들을 이용해 시스템의 구조를 표현할 수 있습니다.
  2. 시퀀스 다이어그램과 상태 다이어그램의 차이점에 대해 설명하세요.
    시퀀스 다이어그램과 상태 다이어그램은 각각 객체 간 상호작용과 객체의 상태 변화를 나타내는 UML 다이어그램입니다. 시퀀스 다이어그램은 객체 간 메시지 흐름과 시간적 순서를 표현하며, 상태 다이어그램은 객체의 상태 변화와 상태 전이를 표현합니다.
  3. 유스케이스 다이어그램의 사용 목적과 장점에 대해 설명하세요.
    유스케이스 다이어그램은 시스템의 사용자 관점에서 시스템 기능과 사용자의 역할 및 상호작용을 모델링하는 UML 다이어그램입니다. 유스케이스 다이어그램은 시스템의 요구사항 분석과 설계에 활용되며, 요구사항의 명확한 이해와 기능의 정의를 위해 사용됩니다.
  4. UML에서 객체지향 모델링의 원칙은 무엇이며, 간단히 설명하세요.
    객체지향 모델링의 원칙에는 추상화, 캡슐화, 상속, 다형성이 있습니다. 추상화는 객체의 공통적인 특성을 추출하여 클래스로 정의하는 것을 말하며, 캡슐화는 객체의 내부 상태와 행위를 외부에 감추는 것을 의미합니다. 상속은 부모 클래스의 특성을 자식 클래스가 물려받는 것을 말하며, 다형성은 객체의 동일한 인터페이스를 구현하는 다른 클래스의 인스턴스로 대체 가능함을 나타냅니다.
  5. 다음 UML 다이어그램 중, 시스템의 물리적인 배치 구조와 컴포넌트 간의 배치 상태를 표현하는 것은 무엇인가요? (컴포넌트 다이어그램, 배치 다이어그램)
    시스템의 물리적인 배치 구조와 컴포넌트 간의 배치 상태를 표현하는 것은 배치 다이어그램입니다.
  6. 클래스 다이어그램에서 연관, 일반화, 집합, 합성 등의 관계를 각각 어떻게 표현하나요?
    클래스 다이어그램에서 연관은 두 개 이상의 클래스 간의 관계를 표현하며, 일반화는 하위 클래스가 상위 클래스의 특성을 물려받는 관계를 나타냅니다. 집합은 클래스와 객체 사이의 전체-부분 관계를 표현하며, 합성은 두 클래스 간의 강한 관계를 나타내는데, 한 클래스의 인스턴스가 다른 클래스의 인스턴스를 소유하는 관계입니다.
  7. 객체지향 프로그래밍에서 클래스와 객체의 차이점에 대해 설명하세요.
    객체지향 프로그래밍에서 클래스는 객체를 생성하기 위한 틀 또는 설계도이고, 객체는 클래스를 기반으로 생성된 구체적인 인스턴스입니다. 클래스는 객체의 공통적인 특성과 행동을 정의하고, 객체는 클래스에 정의된 특성과 행동을 갖습니다. 즉, 클래스는 추상적인 개념이고, 객체는 구체적인 실체입니다.
  8. UML에서 사용되는 다이어그램 중, 상태 다이어그램에서 객체의 상태 전이에 대해 설명하세요.
    상태 다이어그램에서 객체의 상태 전이는 객체가 특정 이벤트를 받아서 상태를 변경하는 과정을 나타냅니다. 상태 다이어그램은 객체의 상태와 상태 전이를 상태와 전이를 나타내는 상자와 화살표로 표현합니다. 상태 전이는 이벤트와 조건, 액션으로 이루어집니다.
  9. 유스케이스 다이어그램에서 액터와 유스케이스의 관계를 어떻게 표현하나요?
    유스케이스 다이어그램에서 액터와 유스케이스의 관계는 선으로 표현됩니다. 액터는 다이어그램의 왼쪽에 표시되며, 유스케이스는 다이어그램의 위쪽에 표시됩니다. 액터와 유스케이스 사이에는 선이 그려지며, 선의 끝에는 화살표가 표시됩니다. 액터는 시스템과 상호작용하는 사용자나 기타 시스템을 나타내며, 유스케이스는 시스템이 수행하는 기능이나 작업을 나타냅니다. 이러한 관계는 시스템의 기능을 시각적으로 표현하여 사용자나 기타 시스템과의 인터페이스를 명확하게 정의하는 데 사용됩니다.
  10. UML에서 다이어그램의 분류는 총 몇 가지이며, 각각 어떤 용도로 사용되나요?
    UML에서 다이어그램은 총 14가지로 분류됩니다. 각각의 다이어그램은 시스템의 다양한 측면을 모델링하기 위해 사용됩니다. 다음은 각각의 다이어그램의 용도입니다.
    유스케이스 다이어그램: 시스템의 기능적 요구사항을 나타내고, 사용자와 시스템 간의 상호작용을 표현합니다.
    클래스 다이어그램: 시스템의 객체와 클래스 간의 정적인 구조를 표현합니다.
    객체 다이어그램: 클래스 다이어그램에서 정의된 객체 간의 상호작용을 표현합니다.상태 다이어그램: 시스템의 객체나 시스템 자체의 동적인 동작을 모델링하며, 객체의 상태 변화를 표현합니다.
    시퀀스 다이어그램: 객체 간의 상호작용과 메시지 흐름을 표현합니다.
    활동 다이어그램: 시스템의 동적인 동작을 모델링하며, 프로세스나 알고리즘의 흐름을 표현합니다.
    컴포넌트 다이어그램: 시스템의 컴포넌트와 그들 간의 관계를 표현합니다.
    배치 다이어그램: 시스템의 물리적인 배치 구조와 컴포넌트 간의 배치 상태를 표현합니다.
    구조 다이어그램: 시스템의 구조를 전체적으로 표현하며, 클래스, 객체, 인터페이스 등의 요소와 그들 간의 관계를 나타냅니다.
    패키지 다이어그램: 시스템의 패키지와 그들 간의 관계를 표현합니다.
    프로파일 다이어그램: UML 프로파일을 생성하고 수정하는 데 사용됩니다.
    커뮤니케이션 다이어그램: 시스템의 객체 간의 상호작용을 표현합니다.
    인터랙션 오버뷰 다이어그램: 다른 시퀀스 다이어그램이나 행위 다이어그램을 요약하고 전체적인 시스템 행위를 표현합니다.
    타이밍 다이어그램: 객체 간의 상호작용과 상태 변화를 시간의 흐름에 따라 표현합니다.

 

728x90
반응형
LIST

'잡다한 것' 카테고리의 다른 글

정처기 보고 들어갈 것 정리  (0) 2023.04.22
정처기 역대 합격률 및 시험전날 마지막 정리  (0) 2023.04.22
2023 정처기 도전-5  (0) 2023.04.22
2023 정처기 도전-4  (0) 2023.04.21
2023 정처기 도전-3  (0) 2023.04.21