Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

공부해보잠

주요 UML 다이어그램 본문

자격증/정보처리

주요 UML 다이어그램

heejk 2025. 1. 28. 03:51
유스케이스(Use Case) 다이어그램

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

개발된 시스템과 관련된 외부 요소(사용자와 다른 외부 시스템)가 개발될 시스템을 이용해 수행할 수 있는 기능을 **사용자 관점(View)**에서 표현한 다이어그램입니다.

 

주요 특징 :

  • 외부 요소와 시스템 간의 상호작용을 확인할 수 있습니다.
  • 사용자의 요구사항을 분석하기 위한 도구로 사용됩니다.
  • 시스템의 범위를 파악하는 데 도움을 줍니다.

유스케이스 다이어그램 구성 요소

 

구성 요소 설명
시스템(System) /
시스템 범위(System Scope)
시스템 내부에서 수행되는 기능들을 외부 시스템과 구분하기 위해 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현.
액터(Actor) 시스템과 상호작용하는 외부 요소로, 사람이나 외부 시스템을 의미.
주액터(Main Actor) 시스템을 사용하여 직접 이득을 얻는 주체. 주로 사람을 지칭 (예: 고객, 직원).
부액터(Supporting Actor) 주액터의 목적 달성을 돕기 위해 시스템에 서비스를 제공하는 외부 시스템. (예: 결제 게이트웨이, 조직 또는 기관).
부가설명: 외부 시스템은 시스템과 별도로 존재하며, 데이터를 주고받으며 상호작용함.
유스케이스(Use Case) 사용자가 시스템에서 기대하는 특정 서비스나 기능을 나타냄.
관계(Relationship) 액터와 유스케이스, 유스케이스 간의 상호작용을 나타냄. 주요 관계는 연관, 포함, 확장, 일반화 관계로 구분.

 

유스케이스 다이어그램의 관계

관계 설명 예제 표현 방식
연관 관계
(Association)
액터와 유스케이스 간의 기본적인 상호작용을 표현. 고객(액터)이 상품 조회(유스케이스)를 요청. 실선
포함 관계
(Include)
하나의 유스케이스가 다른 유스케이스의 기능을 반드시 포함할 때 사용. 상품 결제는 "재고 확인"을 포함. <<include>>점선
확장 관계
(Extend)
특정 조건에서만 수행되는 추가적인 유스케이스를 표현. 상품 주문 시, 고객 요청에 따라 선물 포장 추가. <<extend>>점선
일반화 관계
(Generalization)
상위 유스케이스가 하위 유스케이스로 구체화될 때 사용. "결제"는 "카드 결제"와 "현금 결제"로 구체화. 삼각형 화살표

 

UML 방식의 관계와 유스케이스 관계의 차이

 

목적:

  • UML의 관계: 클래스, 객체 등 시스템의 구조적 설계를 표현하며, 시스템 요소 간의 상호작용과 의존성을 나타냄.
  • 유스케이스 다이어그램 관계: 시스템 외부 사용자가 시스템과 어떻게 상호작용하는지를 기능적 관점에서 표현.

사용 대상:

  • UML 관계: 클래스 다이어그램, 객체 다이어그램 등 구조적 다이어그램에서 사용.
  • 유스케이스 다이어그램 관계: 유스케이스 간 또는 액터와 유스케이스 간의 기능적 상호작용을 설명.

표현 방식:

  • UML 관계와 유스케이스 다이어그램 관계는 기본적으로 유사하지만, 유스케이스 다이어그램에서는 시스템 기능 중심으로 간소화되어 있으며, 관계의 목적이 사용자와의 상호작용을 설명하는 데 있음.
  • 예를 들어, 연관 관계는 두 사물 사이의 연관성을 UML에서 표현하듯이 유스케이스 다이어그램에서도 사용하지만, 유스케이스 다이어그램에서는 사용자의 요구사항 분석과 기능 파악이 초점임.

클래스(Class)다이어그램

시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이의 관계를 표현합니다.

 

특성:

  • 클래스 다이어그램은 시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램입니다.
  • 시스템 구성 요소를 문서화하는 데 사용됩니다.
  • 코딩에 필요한 객체의 속성, 함수 등의 정보를 명확히 표현하여 시스템을 모델링하는 데 자주 활용됩니다.

클래스 다이어그램의 구성요소

구성 요소 설명
클래스(Class) 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현.
속성(Attribute) 클래스의 상태나 정보를 나타내는 변수.
오퍼레이션(Operation) 클래스가 수행할 수 있는 동작. 함수(메소드, Method)로 표현.
제약조건(Constraint) 속성 값이나 오퍼레이션 수행 전후에 지정해야 할 조건.
관계(Relationships) 클래스와 클래스 사이의 연관성을 나타냄. 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계 등이 있음.

 

클래스 다이어그램 관계 vs 유스케이스/일반 UML 관계의 차이

구분 클래스 다이어그램 관계 유스케이스 다이어그램 관계
목적 클래스 간의 구조적 설계와 객체 간의 속성/동작 정의를 표현. 액터와 유스케이스 간의 상호작용, 또는 유스케이스 간의 기능적 관계를 표현.
관계 대상 클래스와 클래스 간의 관계를 표현. 액터와 유스케이스 간, 유스케이스 간의 관계를 표현.
표현 방식 UML의 표준 기호를 활용. 연관, 집합, 포함, 일반화, 의존 관계를 포함. UML 기호를 간소화하여 유스케이스 간
<<include>>, <<extend>>로 표현.
사용 목적 클래스의 구조와 동작을 구체적으로 설계하고, 이를 통해 시스템의 물리적 구현에 반영. 시스템의 기능적 요구사항을 분석하고,
사용자의 요구를 모델링하여 시스템의 기능적 범위를 정의.
연관성 UML 관계와 동일한 기호(실선, 마름모 등)를 사용하되, 클래스 간의 구조적 관계를 강조. 유스케이스 다이어그램에서는 기능적 관점에서 관계를 표현하며,
액터와 시스템 간의 상호작용을 이해하는 데 초점.

 

클래스 다이어그램에서 표현되는 관계는 UML에서 배운 관계(연관, 집합, 포함, 일반화, 의존)와 동일한 기호를 사용하지만, 구조적 설계에 초점을 둡니다. 반면, 유스케이스 다이어그램에서는 사용자와 시스템 간의 기능적 상호작용을 모델링하기 위해 관계를 간소화하여 사용합니다.


순차(Sequence) 다이어그램

순차 다이어그램은 시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호작용하는 과정을 액터, 객체, 메시지 등의 요소를 사용하여 그림으로 표현합니다.

 

특성

  • 시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지를 시간 순서에 따라 표현.
  • 각 동작에 참여하는 시스템이나 객체들의 수행 기간을 확인 가능.
  • 클래스 내부의 객체를 기본 단위로 하여 객체 간의 상호작용을 표현.

부가설명 

  • 객체 간의 상호작용은 서로 메시지를 주고받으며 특정 작업을 수행하는 과정으로, 객체가 주어진 역할에 따라 요청(request)을 처리하거나 데이터를 반환하는 방식으로 이루어집니다.

순차 다이어그램의 구성요소

구성 요소 설명
액터(Actor) 시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 의미.
객체(Object) 메시지를 주고받는 주체. 객체는 클래스의 인스턴스로, 동작 수행의 단위가 됨.
생명선(Lifeline) 객체가 메모리에 존재하는 기간을 나타내며, 객체 아래쪽에 그려진 점선으로 표현.
실행상자(Active Box) 객체가 메시지를 주고받으며 실행 중임을 나타내는 직사각형.
메시지(Message) 객체 간의 상호작용을 위해 주고받는 정보나 요청.

 

순차 다이어그램은 유스케이스 명세서에 기반하여 작성되며, 시스템의 동작을 상세히 표현함으로써 개발자와 이해관계자 간의 원활한 소통과 설계 검증에 도움을 줍니다.


접근 제어자
  • 접근제어자는 속성 오퍼레이션에 동일하게 적용되며, 객체나 클래스의 구성요소에 대한 접근 권한을 제어합니다.
  • 접근제어자는 객체 지향 설계에서 캡슐화(Encapsulation)를 구현하기 위한 중요한 요소로, 데이터의 무분별한 접근을 방지하고 보안을 강화합니다.

접근제어자 표현법

접근제어자 표현법 내용
Public + 클래스 외부에서 제한 없이 접근 가능.(어떤 클래스라도 접근 가능)
Private - 같은 클래스 내부에서만 접근 가능. 외부 클래스나 상속받은 클래스에서는 접근 불가.
Protected # 같은 클래스 및 상속받은 클래스에서 접근 가능. 외부 클래스에서는 접근 불가.
Package ~ 같은 패키지(모듈) 내에서 접근 가능. 패키지 외부에서는 접근 불가.

위 표는 접근 권한과 표현법을 요약한 것으로, UML 다이어그램이나 코드 설계 시 간편하게 사용할 수 있습니다.


 

출저 및 참고

정보처리 산업기사 기본서(시나공)

 

 

728x90

'자격증 > 정보처리' 카테고리의 다른 글

아키텍처 패턴  (0) 2025.01.29
소프트웨어 아키텍처  (0) 2025.01.28
UML(Unified Modeling Language)  (0) 2025.01.28
요구사항 분석 CASE와 HIPO  (0) 2025.01.27
요구사항 분석  (0) 2025.01.27