본문 바로가기

정보처리기사 실기

다이어그램(Diagram)

다이어그램(Diagram)

 

구조적(Structure) 다이어그램

-클래스(Class) 다이어그램

클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현
UML을 이용한 정적 모델링의 대표적인 것이 클래스 다이어그램

구성 요소

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

 

-객체 다이어그램 : 클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현

 

-컴포넌트 다이어그램 : 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현

 

-배치 다이어그램 : 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현

 

-패키지 다이어그램 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현

 

 

행위 다이어그램

-시퀀스 다이어그램

행위(Behavioral) 다이어그램에는 동적 모델링인 시퀀스 다이어그램, 커뮤니케이션 다이어그램, 상태 다이어그램, 기능 모델링 유스케이스 다이어그램, 활동 다이어그램 등이 있다. 
  • 시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호 작용하는 과정을 그림으로 표현한 것
  • 구성 요소  : 액터, 객체, 라이프라인, 활성 상자, 메시지, 객체 소멸, 프레임
액터(Actor)
  • 시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부 시스템
객체
(Object)
  • 메시지를 주고 받는 주체
  • 콜론(;)을 기준으로 앞쪽에는 객체명을 뒤쪽에는 클래스명 기술
라이프라인
(Lifeline)
  • 객체가 메모리에 존재하는 기간으로 객체 아래쪽에 점선을 그어 표현
활성상자
(Activation Box)
  • 객체가 메시지를 주고받으며 구동되고 있음을 라이프라인 상에 겹쳐 직사각형 형태로 표현
메시지
(Message)
  • 객체가 상호 작용을 위해 주고받는 메시지
객체 소멸
  • 라이프라인 상에서 객체 소멸 표시를 만나면 해당 객체는 더 이상 메모리에 존재한지 않음
프레임
(Frame)
  • 다이어그램의 전체 또는 일부를 묶어 표현

 

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

시퀀스 다이어그램과 같은 동작에 참여하는 객체들이 주고받는 메시지를 표현하는데 메시지뿐만 아니라 객체들 간의 연관까지 표현

구성 요소 : 액터, 객체, 링크, 메시지 등

링크(Link)
  • 객체들 간의 관계를 표현하는 데 사용
  • 액터와 객체, 객체와 객체 간에 실선을 그어 표현

 

-상태(State) 다이어그램

하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현

구성 요소 : 상태, 이벤트 상태 전환 등

상태
(State)
  • 객체의 상태를 둥근 사각형 안에 기술
  • 시작 상태 : 상태의 시작을 속이 채워진 원으로 표현
  • 종료 상태 : 상태의 종료를 속이 채워진 원을 둘러싼 원으로 표현
이벤트
(Event)
  • 조건, 외부 신호, 시간의 흐름 등 상태 변화를 주는 현상
상태 전환 
  • 상태 사이의 흐름, 변화를 화살표로 표현
프레임
(Frame)
  • 상태 다이어그램의 범위를 표현

 

-유스케이스 다이어그램

개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현

구성 요소 : 시스템 범위, 액터, 유스케이스, 관계

시스템 범위
(System Scope)
  • 시스템 내부에서 수행되는 기능들을 외부시스템과 구분하기 위해 시스템 내부의 유스케이스들을 사격형으로 묶어 시스템의 범위를 표현
액터
(Actor)
  • 시스템과 상호작용을 하는 모든 외부 요소로 사람이나 외부 시스템을 의미
유스케이스
(Use Case)
  • 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능을 표현
관계
(Relationship)
  • 유스케이스 다이어그램에서 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날수 있으며 포함 관계, 확장 관계, 일반화 관계의 3종류가 있음

 

-활동 다이어그램

자료 흐름도와 유사한 것으로 사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현

구성 요소 : 액션, 액티비티, 노드, 스윔레인

액션(Action)/
액티비티(Activity)
  • 액션은 더 이상 분해할 수 없는 단일 작업
  • 액티비티는 몇 개의 액션으로 분리될 수 있는 작업
노드
  • 시작 노드 : 액션이나 액티비티가 시작됨을 의미
  • 종료 노드 : 액티비티 안의 모든 흐름이 종료됨을 의미
  • 조건 노드 : 조건에 따라 제어의 흐름이 분리됨을 표현
  • 병합 노드 : 여러 경로의 흐름이 하나로 합쳐짐을 표현
  • 포크 노드 : 액티비티의 흐름이 분리돼 수행됨을 표현
  • 조인 노드 : 분리돼 수행되던 액티비티의 흐름이 다시 합쳐짐을 표현
스윔레인
(Swim Lane)
  • 액티비티 수행을 담당하는 주체를 구분

'정보처리기사 실기' 카테고리의 다른 글

이상(Anomaly)  (0) 2021.06.16
데이터 모델  (0) 2021.06.16
UML(Unified Modeling Language)  (0) 2021.06.15
요구사항(2)  (0) 2021.06.15
요구사항(1)  (0) 2021.06.15