본문 바로가기

자격증/정보처리기사

1. 소프트웨어 설계 - 주요 UML 다이어그램

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

유스케이스 다이어그램은 개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점(View)에서 표현한 것이다.

  • 외부 요소와 시스템 간의 상호 작용을 확인할 수 있다.
  • 사용자의 요구사항을 분석하귀 위한 도구로 사용된다.
  • 시스템의 범위를 파악할 수 있다.

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

유스케이스 다이어그램은 시스템 범위, 액터, 유스케이스, 관계로 구성된다.

시스템(System) /
시스템 범위(System Scope)
• 시스템 내부에서 수행되는 기능들을 외부 시스템과 구분하기 위해 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현함
액터(Actor) • 시스템과 상호 작용을 하는 모든 외부 요소로, 사람이나 외부 시스템을 의미함
• 주액터: 시스템을 사용함으로써 이득을 얻는 대상으로, 주로 사람이 해당함
• 부액터(시스템 액터): 주액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템으로, 조직이나 기관이 될 수 있음
유스케이스(Use Case) • 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 가능을 표현한 것
관계(Relationship) • 유스케이스 다이어그램에서 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있으며, 연관 관계, 포함 관계, 확장 관계, 일반화 관계를 표현할 수 있음

 

 

 

2. 클래스(Class) 다이어그램

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

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

 

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

클래스 다이어그램은 클래스, 제약조건, 관계 등으로 구성된다. 

클래스(Class) • 클래스는 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현함
• 일반적으로 3개의 구획(Compartment)으로 나눠 클래스의 이름, 속성, 오퍼레이션을 표기함
• 속성(Attribute): 클래스의 상태나 정보를 표현함
• 오퍼레이션(Operation): 클래스가 수행할 수 있는 동작으로, 함수(Method, 메소드)라고도 함
제약조건 • 속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야 할 조건이 있다면 이를 적음
관계(Relationships) • 관계는 클래스와 클래스 사이의 연관성을 표현함
• 클래스 다이어그램에 표현하는 관계에는 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계가 있음

 

 

 

3. 순차(Sequence) 다이어그램

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

  • 순차 다이어그램은 시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지를 표현한다.
  • 순차 다이어그램을 통해 각 동작에 참여하는 시스템이나 객체들의 수행 기간을 확인할 수 있다.
  • 순차 다이어그램에서 수직 방향은 시간의 흐름을 나타낸다.
  • 순차 다이어그램은 클래스 내부에 있는 객체들을 기본 단위로 하여 그들의 상호 작용을 표현한다.
  • 순차 다이어그램은 주로 기능 모델링에서 작성한 유스케이스 명세서를 하나의 표현 범위로 하지만, 하나의 클래스에 포함된 오퍼레이션을 하나의 범위로 표현하기도 한다.

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

순차 다이어그럄은 액터, 객체, 생명선, 실행, 메시지 등으로 구성된다.

액터(Actor) • 시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 의미함
객체(Object) • 메시지를 주고받는 객체
생명선(Lifeline) • 객체가 메모리에 존재하는 기간으로, 객체 아래쪽에 점선을 그어 표현함
실행 상자(Active Box) • 객체가 메시지를 주고 받으며 구동되고 있음을 표현
메시지(Message) • 객체가 상호 작용을 위해 주고받는 메시지
회귀 메시지(Reply /
Return Message)
• 객체가 처리한 반환값이 담긴 메시지
제어 블록(Loop) • 반복 처리되는 영역을 표시함

 

728x90