반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것
기능 모델링: 사용자의 요구사항을 분석하여 개발될 시스템이 갖춰야 할 기능을 정리한 후 사용자와 함께 정리된 내용을 공유하기 위해 그림으로 표현하는 것이다.
- 유스케이스(UseCase) 다이어그램: 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것이다. 시스템의 범위를 파악할 수 있고 사용자의 요구사항을 분석하기 위한 도구로 사용된다.
| 구성 요소 | 표현 방법 | 내용 |
| 시스템/시스템 범위 | 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현한 것 | |
| 액터 | ![]() ![]() |
· 시스템과 상호작용하는 모든 외부 요소 · 주로 사람이나 외부 시스템을 의미함 - 주액터(사용자 액터): 시스템을 사용함으로써 이득을 얻는 대상으로 주로 사람이 해당됨 - 부액터(시스템 액터): 주액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템으로 조직이나 기관 등이 될 수 있음 |
| 유스케이스 | ![]() |
사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스나 기능을 표현한 것 |
| 관계 | · 유스케이스 다이어그램에서 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있음 · 포함(Include) 관계, 확장(Extends) 관계, 일반화(Generalization) 관계 |
- - 포함(Include) 관계: 두 개 이상의 유스케이스들의 공통적 부분을 따로 유스케이스로 만들 때
- - 확장(Extend) 관계: 유스케이스가 특정 조건에 부합되어 기능이 확장될 때
- 활동(Activity) 다이어그램: 사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것, 하나의 유스케이스 안에서 혹은 유스케이스 사이에 발생하는 처리의 흐름을 명확하게 표현하며 자료 흐름도와 유사함
| 구성 요소 | 표현 방법 | 내용 |
| 액션/액티비티 | · 액션: 더이상 분해할 수 없는 단일 작업 · 액티비티: 몇 개의 액션으로 분리될 수 있는 작업 |
|
| 시작 노드 | 액션이나 액티비티가 시작됨을 표현한 것 | |
| 종료 노드 | 액티비티 안의 모든 흐름이 종료됨을 표현한 것 | |
| 조건(판단)노드 | ![]() |
조건에 따라 제어의 흐름이 분리됨을 표현한 것 |
| 병합 노드 | ![]() |
여러 경로의 흐름을 하나로 합쳐짐을 표현한 것 |
| 포크(Fork) 노드 | ![]() |
액티비티의 흐름을 분리되어 수행됨을 표현한 것 |
| 조인(Join) 노드 | ![]() |
분리되어 수행되던 액티비티의 흐름을 다시 합쳐짐을 표현한 것 |
| 스윔레인(Swim Lane) | · 액티비티 수행을 담당하는 주체를 구분하는 선 · 가로 또는 세로 실선을 그어 구분함 |
정적 모델링: 사용자가 요구한 기능을 구현하는 데 필요한 자료들의 논리적인 구조를 표현한 것. 시스템에 의해 처리되거나 생성될 객체들 사이에 어떤 관련이 있는지를 구조적인 관점에서 표현하고 객체들을 클래스로 추상화하여 표현한다.
- 클래스(Class) 다이어그램: 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것이다. 구조적 다이어그램이며 시스템 구성 요소를 문서화하는데 사용한다. 공통된 속성과 연산(행위)을 갖는 객체의 집합으로 객체의 일반적인 타입(Type)
| 구성 요소 | 표현 방법 | 내용 |
| 클래스 | ![]() |
· 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현한 것 · 일반적으로 3개의 구역으로 나눔(클래스명, 속성, 오퍼레이션) - 속성(Attribute): 클래스의 상태나 정보를 표현함 - 오퍼레이션(Operation): 클래스가 수행할 수 있는 동작으로 함수(Method)라고도 함 |
| 제약 조건 | ![]() |
속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야 할 조건을 작성 |
| 관계 | 클래스와 클래스 사이의 연관성을 표현함(연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계 등) |
동적 모델링: 시스템의 내부 구성 요소들의 상태 변화 과정과 과정에서 발생하는 상호 작용을 표현한 것, 시스템 내부 구성 요소들 간에 이루어지는 동작이라는 관점에서 표현한다. 오퍼레이션을 통한 상호 작용에 초점을 둠
- 순차(Sequence) 다이어그램: 시스템이나 객체들이 메시지를 주고 받으며 상호 작용하는 과정을 그림으로 표현한 것이다. 시스템이나 객체들의 상호 작용 과정에서 주고 받는 메시지를 표현하며 시스템이나 각 객체들의 수행 기간을 확인할 수 있다. 교류 다이어그램(Interaction Diagram)의 한 종류로 볼 수 있다.
| 구성 요소 | 표현 방법 | 내용 |
| 액터(Actor) | 시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부 시스템을 의미함 | |
| 객체(Object) | 메시지를 주고받는 주체 | |
| 생명선(Lifeline) | 객체가 메모리에 존재하는 기간으로 객체 소멸이 표시된 기간까지 존재함 | |
| 실행 상자(Active Box) | 객체가 메시지를 주고받으며 구동되고 있음을 표현함 | |
| 메시지(Message) | 객체가 상호 작용을 위해 주고받는 메시지 | |
| 객체 소멸 | 해당 객체가 더 이상 메모리에 존재하지 않음을 표현한 것 | |
| 프레임(Frame) | ![]() |
다이어그램의 전체 또는 일부를 묶어 표현한 것 |
- 커뮤니케이션(Communication) 다이어그램: 시스템이나 객체들이 메시지를 주고받으며 상호작용하는 과정을 객체들간의 연관을 그림으로 표현한 것, 동작에 참여하는 객체들 사이의 관계를 파악하는 데 사용하며 클래스 다이어그램에서 관계가 제대로 표현되었는지 점검하는 용도로 사용한다. 초기에는 협업 다이어그램이라고 불렸다.
- 상태(State) 다이어그램: 객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것, 객체의 상태란 객체가 갖는 속성값의 변화를 의미
| 구성 요소 | 표현 방법 | 내용 |
| 상태 | 객체의 상태를 표현한 것 | |
| 시작 상태 | 상태의 시작을 표현한 것 | |
| 종료 상태 | 상태의 종료를 표현한 것 | |
| 상태 전환 | 상태 사이의 흐름 변화를 화살표로 표현한 것 | |
| 이벤트(Event) | 상태에 변화를 주는 현상(조건, 외부 신호, 시간의 흐름 등) # 객체 전이의 요인 | |
| 프레임 | ![]() |
상태 다이어그램의 범위를 표현한 것 |
- 패키지(Package) 다이어그램: 유스케이스나 클래스 등의 요소들을 그룹화한 패키지 간의 의존 관계를 표현한 것, 패키지는 또 다른 패키지의 요소가 될 수 있고 주요 요소 간의 종속성을 파악하는데 사용한다.
| 구성 요소 | 표현 방법 | 내용 |
| 패키지 | ![]() |
객체들을 그룹화한 것 - 단순 표기법: 패키지 안에 패키지 이름만 표현 - 확장 표기법: 패키지 안에 요소까지 표현 |
| 객체 | 유스케이스, 클래스, 인터페이스, 테이블 등 패키지에 포함될 수 있는 다양한 요소들 | |
| 의존 관계 | · 패키지와 패키지, 패키지와 객체 간을 점선 화살표로 연결하여 표현함 · 스테레오타입을 이용해 의존관계를 구체적으로 표현할 수 있음 - <<import>>: 패키지에 포함된 객체들을 직접 가져와서 이용하는 관계 - <<access>>: 인터페이스를 통해 패키지 내의 객체에 접근하여 이용하는 관계 |
반응형
'정보처리기사' 카테고리의 다른 글
| [정보처리기사 요약 1-6] 비용 산정(COCOMO)부터 일정 계획(PERT/CPM)까지 (0) | 2026.02.23 |
|---|---|
| [정보처리기사 요약 1-5] 개발 방법론부터 재공학까지 (0) | 2026.02.23 |
| [정보처리기사 요약 1-3] UML 다이어그램의 모든 것 (구조적/행위 다이어그램, 스테레오 타입) (0) | 2026.02.20 |
| [정보처리기사 요약 1-2] DFD, DD 기호부터 CASE 도구까지 완벽 대비 (0) | 2026.02.19 |
| [정보처리기사 요약 1-1] 스크럼(Scrum)과 XP 방법론 핵심 가이드 (0) | 2026.02.19 |































