정보처리기사 실기 · 다이어그램 총정리

UML · 유스케이스 · 시퀀스 · 클래스 · 상태/활동 · ERD · DFD — 헷갈리는 포인트 집중

시험 직전 회독용 · 인쇄 가능

1 UML 개요 & 다이어그램 분류

거의 매 회차 "다음 다이어그램이 구조/행위 중 무엇인가", "○○ 다이어그램의 종류를 쓰시오" 형태로 출제됩니다. 분류부터 확실히.

UML(Unified Modeling Language) : 객체지향 소프트웨어 개발 과정의 산출물을 명세화·시각화·문서화할 때 사용하는 표준 모델링 언어. 구성요소는 사물 Things관계 Relationships다이어그램 Diagrams.

핵심 — 두 갈래 분류 UML 다이어그램은 구조적(정적, Static) 다이어그램과 행위적(동적, Dynamic) 다이어그램으로 나뉜다.
구분종류성격
구조 다이어그램
(정적/Static)
클래스 · 객체 · 컴포넌트 · 배치(Deployment) · 복합체 구조 · 패키지 시스템의 구조·형태를 표현. 시간에 따라 변하지 않는 정적 요소.
행위 다이어그램
(동적/Dynamic)
유스케이스 · 시퀀스 · 커뮤니케이션 · 상태 · 활동(Activity) · 상호작용 개요 · 타이밍 시스템의 동작·흐름을 표현. 시간·이벤트에 따른 변화.
암기법 구조 → 클 객 컴 배 복 패 · 행위 → 유 시 커 상 활 상 타
함정: 유스케이스·시퀀스는 "행위(동적)"다. 클래스만 정적, 나머지 상호작용류는 대부분 동적이라고 기억.

2 UML 관계(Relationship) 6종 ★★★

실기 단골 최다 출제. "기호를 보고 관계명을 쓰시오", "설명을 보고 관계를 고르시오"가 정석. 마름모의 색(빈/채움)과 화살표(삼각형/열린), 선(실선/점선)만 정확히 구분하면 다 맞힙니다.

① 연관 Association ② 집합 Aggregation ③ 합성 Composition ④ 일반화 Generalization ⑤ 의존 Dependency ⑥ 실체화 Realization 실선 전체◇(속 빈 마름모) — 부분 독립적 전체◆(채운 마름모) — 부분 종속(생명주기 공유) 실선 + 속 빈 삼각형 △ (하위→상위) 점선 + 열린 화살표 → 점선 + 속 빈 삼각형 △
UML 6대 관계 기호 — 색·선·화살표 모양이 채점 포인트
관계기호의미 / 예시
연관 Association실선 (양방향/단방향 화살표)둘 이상이 서로 관련. 다중도 표기. 예: 학생 — 수강 — 과목
집합 Aggregation속 빈 마름모 ◇전체-부분, 단 부분이 독립적. 예: 컴퓨터 ◇— 모니터 (모니터 떼도 됨)
합성 Composition채운 마름모 ◆전체-부분, 부분이 전체에 완전 종속(생명주기 함께). 예: 건물 ◆— 방
일반화 Generalization실선 + 빈 삼각형 △상속(is-a). 하위→상위. 예: 정사각형 —▷ 도형
의존 Dependency점선 + 열린 화살표짧은 시간만 이용(파라미터 등). 예: 메서드 인자로만 잠깐 사용
실체화 Realization점선 + 빈 삼각형 △인터페이스와 구현. 예: Bird ┄▷ «Flyable»
함정 주의 ① 마름모는 항상 "전체(whole)" 쪽에 붙는다. ② 집합◇ vs 합성◆ — 색으로 구분(빈=독립, 채움=종속). ③ 일반화△(실선) vs 실체화△(점선) — 삼각형은 같고 선의 실선/점선으로 갈린다.

다중도(Multiplicity) 표기

표기의미표기의미
1정확히 1개0..10개 또는 1개
* / 0..*0개 이상1..*1개 이상
n..mn개 이상 m개 이하n정확히 n개

3 클래스 다이어그램 (Class Diagram)

유일한 대표 "구조(정적)" 다이어그램. 접근제어자 기호와 3칸 구조가 포인트.

Student - id : int - name : String # grade : int + enroll() : void + getName() : String
1칸 클래스명 · 2칸 속성(attribute) · 3칸 연산(operation/method)
기호접근제어자의미
+public모든 클래스에서 접근 가능
-private해당 클래스 내부에서만
#protected같은 패키지 + 상속받은 하위 클래스
~package같은 패키지 내에서만
암기 +공개, -비밀(private), #울타리 안 가족(protected), ~같은 동네(package).

4 유스케이스 다이어그램 ★★★

"사용자 관점의 기능적 요구사항"을 표현. 구성요소 나열 + include/extend 구분이 핵심 출제.

회원 주문 시스템 상품 주문 로그인 쿠폰 적용 «include» «extend»
액터(회원) · 유스케이스(타원) · 시스템경계(사각형) · include/extend 관계

구성요소

  • 액터(Actor) — 시스템과 상호작용하는 사람/외부시스템(막대인간). 주액터(이득 얻는 사용자) / 부액터(외부시스템·조직).
  • 유스케이스(Use Case) — 사용자 관점의 기능/서비스(타원).
  • 시스템 경계(System Boundary) — 시스템 범위(사각형).
  • 관계 — 연관 / 포함(include) / 확장(extend) / 일반화.
가장 많이 틀리는 곳 — include vs extend
포함 «include»확장 «extend»
필수성항상 실행(필수)조건부(선택적)
화살표 방향기본UC → 포함되는 UC확장UC → 기본(대상) UC
주문 → (항상) 로그인쿠폰적용 → (선택) 주문
둘 다 점선 화살표이므로 «include» / «extend» 스테레오타입 라벨과 방향으로 구분.

5 시퀀스 다이어그램 ★★

객체 간 메시지 교환을 시간 순서로 표현하는 대표 "동적" 다이어그램. 구성요소 5개 암기.

사용자 :주문UI :주문DB 1: 주문요청() 2: 저장() 3: 결과(점선=반환)
상단 객체 → 생명선(점선) ↓ · 활성상자 · 메시지(실선=호출, 점선=반환)
구성요소설명
액터 / 객체(Object)상호작용 주체. 상단 사각형.
생명선(Lifeline)객체에서 아래로 뻗는 점선. 시간의 흐름(위→아래).
활성 상자(Activation)객체가 활성화되어 동작 중인 구간(얇은 직사각형).
메시지(Message)객체 간 화살표. 실선=동기 호출, 점선=반환(return).
암기 · 비교 시퀀스 5요소 액 객 생 활 메. 시퀀스=시간순, 커뮤니케이션=객체 관계 중심(메시지에 순번) — 둘은 표현만 다르고 담는 정보는 유사(상호작용 다이어그램).

6 상태 · 활동 · 기타 행위 다이어그램

상태 다이어그램 (State / Statechart)

하나의 객체가 이벤트에 따라 상태(state)가 어떻게 변하는지(생명주기)를 표현.

  • 시작(●) → 상태(둥근 사각형) → 전이(Transition, 이벤트 라벨 화살표) → 종료(◉)
  • 예: 주문 → 결제대기 →[결제완료]→ 배송중 →[수령]→ 완료

활동 다이어그램 (Activity)

업무/처리의 흐름(제어 흐름)을 순서대로 표현. 순서도(flowchart)와 유사.

  • 시작점 · 액션(둥근 사각형) · 분기 Decision(마름모) · 병합(Merge) · 동기화 Fork/Join(굵은 바) · 종료점
  • 스윔레인(Swim lane) — 활동의 수행 주체(책임)를 구획으로 나눠 표현.
다이어그램한 줄 정의분류
커뮤니케이션객체 간 관계와 메시지 순번 중심 상호작용행위(동적)
타이밍(Timing)시간 축에 따른 객체 상태 변화행위(동적)
상호작용 개요여러 상호작용(시퀀스 등)의 흐름을 개괄행위(동적)
컴포넌트컴포넌트 구성·의존 관계구조(정적)
배치(Deployment)물리적 노드(하드웨어)에 SW 배치구조(정적)
패키지요소들을 그룹(패키지) 단위로 묶어 표현구조(정적)

7 ER 다이어그램 (개체-관계, ERD)

데이터 모델링의 대표. Peter Chen 표기법의 기호 ↔ 의미 매칭이 핵심.

학생 수강 과목 N M 학번 과목명
개체(□) — 관계(◇) — 개체(□), 속성(○, 밑줄=기본키), N:M 카디널리티
기호구성요소비고
사각형 □개체(Entity)이중 사각형 = 약한 개체
마름모 ◇관계(Relationship)개체 간 연관
타원 ○속성(Attribute)밑줄=기본키, 이중타원=다중값 속성
선 —연결(Link)개체·관계·속성 연결, 카디널리티(1:1, 1:N, N:M) 표기
기출 포인트 "밑줄 친 타원의 의미?" → 기본키(primary key) 속성. "마름모는?" → 관계. DFD의 마름모(❌ 없음)와 헷갈리지 말 것.

8 자료 흐름도 (DFD, Data Flow Diagram)

구조적 분석의 대표 도구. 4대 구성요소와 각 기호를 정확히.

고객 주문 처리 주문파일 주문정보 저장
단말(□) → 자료흐름(→) → 프로세스(○) → 자료저장소(=)
구성요소기호의미
프로세스(Process)원 ○ (버블)자료를 변환/처리하는 과정
자료 흐름(Data Flow)화살표 →자료의 이동 방향
자료 저장소(Data Store)평행 이중선 =자료가 저장되는 곳(파일·DB)
단말(Terminator)사각형 □외부 엔티티(자료 발생/도착지)
함께 나오는 개념 구조적 분석 도구 3종 → DFD(자료 흐름) + 자료 사전(Data Dictionary)(자료 정의) + 소단위 명세서(Mini-spec)(프로세스 처리 절차).

9 헷갈림 총정리 (직전 5분 회독)

마름모 총정리 • UML 집합/합성 → 전체 쪽 마름모(빈◇=독립, 채움◆=종속)
• ERD → 관계(Relationship)
• 활동 다이어그램 → 분기(Decision)
• DFD → 마름모 없음
삼각형 화살표 △실선 + 빈 삼각형 → 일반화(상속)
점선 + 빈 삼각형 → 실체화(인터페이스 구현)
점선 화살표 총정리 • UML 의존(열린 화살표)
• 유스케이스 include / extend
• 실체화(빈 삼각형)
• 시퀀스 반환(return) 메시지
원(○) 총정리 • DFD → 프로세스
• ERD → 속성(타원)
• 상태 다이어그램 시작/종료 → ● / ◉
구조(정적) vs 행위(동적) 한 번 더 구조 6: 클래스·객체·컴포넌트·배치·복합체구조·패키지  |  행위 7: 유스케이스·시퀀스·커뮤니케이션·상태·활동·상호작용개요·타이밍. 클래스만 정적이라고 기억하면 상호작용류(유스케이스/시퀀스)를 정적으로 오답하는 실수를 막는다.

10 자가점검 문제 (클릭해서 정답 확인)

Q1. UML 다이어그램 중 '정적(구조)' 다이어그램을 3개 이상 쓰시오.

클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지 (중 3개)

Q2. 속 채운 마름모(◆)로 표현되며, 부분이 전체에 완전히 종속되어 생명주기를 함께하는 관계는?

합성(Composition) 관계. (빈 마름모 ◇ = 집합/Aggregation)

Q3. 점선 + 속 빈 삼각형 화살표(△)로 표현하는 관계는? 실선일 때와의 차이는?

점선△ = 실체화(Realization)(인터페이스-구현). 실선△ = 일반화(Generalization)(상속).

Q4. 유스케이스에서 '반드시 실행되는' 포함 관계와, '조건부로 실행되는' 확장 관계의 스테레오타입을 각각 쓰시오.

포함 = «include» (필수), 확장 = «extend» (선택/조건부).

Q5. 시퀀스 다이어그램의 구성요소를 쓰시오. 반환 메시지는 어떤 선인가?

액터/객체, 생명선(Lifeline), 활성상자(Activation), 메시지. 반환 메시지 = 점선 화살표.

Q6. ERD에서 사각형·마름모·타원(밑줄)은 각각 무엇인가?

사각형 = 개체(Entity), 마름모 = 관계(Relationship), 밑줄 친 타원 = 기본키 속성.

Q7. DFD의 4대 구성요소와 기호를 쓰시오.

프로세스(○), 자료 흐름(→), 자료 저장소(= 평행선), 단말/외부엔티티(□).

Q8. 클래스 다이어그램의 접근제어자 + - # ~ 를 각각 해석하시오.

+ public, - private, # protected, ~ package.