문서 읽는 데 30분 · 3강 · 1과목 · 소프트웨어 설계

UML과 애자일

목차 24
전체 59강 중 3강 · 1과목 · 소프트웨어 설계

요구사항을 그림으로 합의하는 표준 언어(UML)와 변화에 빠르게 적응하는 일하는 방식(애자일)을 한 강에 담은 빈출 구간. UML 1~2문항 + 애자일 1문항이 거의 매 회차 출제된다.

핵심 암기 6종: 관계 6종 연집포일의실 · 구조 7종 클객컴배복패프 · 행위 7종 유시통상활타상 · 애자일 4대 프작고변 · XP 5대 의단피용존 · 스크럼 3-3-5


UML 기초

UML이란 ·개념 정의·

[정의] 객체지향 시스템의 산출물을 명세화·시각화·문서화하는 표준 모델링 언어(Unified Modeling Language, 통합 모델링 언어).

[배경] 1990년대 객체지향 방법론이 난립 → Booch·Rumbaugh·Jacobson 3인이 표기법 통합 → 1997년 OMG(Object Management Group)가 표준으로 채택. 현재 UML 2.x.

🔑 암기 정의의 세 단어 = 명세화·시각화·문서화. 표준화 주체 = OMG. ⚠️ 함정 특정 회사의 사유 표준이 아니라 국제 표준. '누가 UML을 표준화했나(OMG)' 변형이 등장. 🎯 빈출 '명세화·시각화·문서화' 세 단어가 보기에 보이면 정답 후보. 간헐.

UML 3대 구성 요소 ·핵심 분류·

[분류] UML은 사물·관계·다이어그램 3대 구성 요소로 이루어진다.

구성 요소 정의 역할
사물(Things) 모델을 구성하는 기본 요소 그림의 등장인물
관계(Relationship) 사물 사이의 의미적 연결 등장인물 사이의 관계선
다이어그램(Diagram) 사물·관계를 모은 시각 표현 한 장면 그림

[참고] 사물(Things)은 다시 구조·행위·그룹·주해 4종 — 구조 사물(클래스·인터페이스·컴포넌트), 행위 사물(상호작용·상태머신), 그룹 사물(패키지), 주해 사물(노트).

🔑 암기 3대 구성 = 사물·관계·다이어그램. 스테레오타입(<< >>)은 구성 요소가 아니라 표기 확장 메커니즘(아래 별도 카드). ⚠️ 함정 스테레오타입을 4번째 구성 요소로 끼워 넣은 보기가 정답(아닌 것) — 구성 요소는 사물·관계·다이어그램 셋뿐. 사물 4종(구조·행위·그룹·주해) 소거형은 간헐. 🎯 빈출 3대 구성 요소 나열·소거형. 간헐.


UML 관계 6종 — 연집포일의실

관계 6종 한눈에 ·메인 골격·

[분류]

# 관계 표기 의미
1 연관(Association) 실선 두 사물이 서로 연결됨
2 집합(Aggregation) 빈 마름모 ◇ 부분이 전체에 속함(독립 가능)
3 포함(Composition) 채운 마름모 ◆ 부분이 전체에 강하게 종속(독립 불가)
4 일반화(Generalization) 실선 + 빈 삼각형 △ 상속(is-a)
5 의존(Dependency) 점선 화살표 일시적 사용
6 실체화(Realization) 점선 + 빈 삼각형 인터페이스 구현(이행)

🔑 암기 연집포일의실 (연관·집합·포함·일반화·의존·실체화). ⚠️ 함정 헷갈리는 두 쌍이 핵심 — 집합 vs 포함(둘 다 마름모), 일반화 vs 실체화(둘 다 삼각형). 🎯 빈출 관계↔표기 짝짓기, 그림→의미 매칭. 거의 매회.

집합 vs 포함 — 마름모 한 쌍 ·빈출 함정·

[비교]

구분 집합(Aggregation) 포함(Composition)
표기 빈 마름모 ◇ 채운 마름모 ◆
소속 강도 약함 강함
부분 독립성 전체 소멸해도 부분 생존 전체 소멸 시 부분도 소멸
학과–학생 사람–심장

🔑 암기 빈=약, 채움=강 (속이 비었다=비어도 산다=약한 관계 / 채워졌다=운명 공동체). 💡 보충 '주문(Order)–주문 상세(OrderItem)'는 포함(주문 삭제 시 상세도 소멸), '사용자–즐겨찾기 가게'는 집합. 🎯 빈출 거의 매회 변형. 표기↔의미를 한 쌍으로 묶어두면 그림·텍스트 문제 모두 즉답.

일반화 vs 실체화 — 삼각형 한 쌍 ·빈출 함정·

[비교]

구분 일반화(Generalization) 실체화(Realization)
표기 실선 + 빈 삼각형 점선 + 빈 삼각형
의미 상속(is-a) 인터페이스 구현
관계 부모–자식 클래스 인터페이스–구현 클래스
코드 extends implements

🔑 암기 실선=핏줄, 점선=약속 (실선 △=일반화/상속, 점선 △=실체화/구현). ⚠️ 함정 둘 다 빈 삼각형 → 선이 실선이냐 점선이냐로만 갈린다. 🎯 빈출 표기↔의미 매칭. extends=일반화, implements=실체화.


UML 다이어그램 14종

구조 7 + 행위 7 = 14 ·메인 골격·

[분류]

분류 개수 특징
구조(Structure·정적) 7 시간이 흘러도 안 변함(사진)
행위(Behavioral·동적) 7 시간 흐름·동작 변화(영상)

🔑 암기 구조 7 + 행위 7 = 14종. 핵심 한 줄 = '클래스만 구조, 나머지 빈출은 행위'. ⚠️ 함정 '구조 8종'·'행위 6종'·'전체 13종' 변형 선지. 7+7=14 등식 고정. 🎯 빈출 분류·개수 묻는 소거형. 거의 매회.

구조 다이어그램 7종 — 클객컴배복패프 ·정적·

[분류]

다이어그램 영문 한 줄
클래스 Class 클래스 속성·메서드·관계 (최빈출)
객체 Object 특정 시점의 인스턴스 모습
컴포넌트 Component 부품(모듈)·의존성
배치 Deployment 노드(HW)에 컴포넌트 배치
복합체 구조 Composite Structure 클래스 내부의 부품 구조
패키지 Package 관련 요소를 폴더처럼 묶음
프로파일 Profile 특정 도메인에 맞게 확장

🔑 암기 클객컴배복패프 (클래스·객체·컴포넌트·배치·복합체·패키지·프로파일). 🎯 빈출 '구조가 아닌 것' 소거형에 행위(시퀀스·활동·상태)를 섞어 출제. 대표 = 클래스.

행위 다이어그램 7종 — 유시통상활타상 ·동적·

[분류]

다이어그램 영문 한 줄
유스케이스 Use Case 액터–시스템 기능 (요구분석)
시퀀스 Sequence 객체 간 메시지의 시간 순서
통신 Communication 객체 간 메시지 + 관계
상태 State 한 객체의 상태 전이
활동 Activity 업무 흐름(플로우차트 닮음)
타이밍 Timing 시간 축에 따른 상태 변화(실시간)
상호작용 개요 Interaction Overview 여러 시퀀스를 한 장에 묶음

🔑 암기 유시통상활타상 (유스케이스·시퀀스·통신·상태·활동·타이밍·상호작용개요). ⚠️ 함정 유스케이스는 행위(사용자 시나리오=동적 흐름). 구조로 착각하는 함정이 단골. 🎯 빈출 빈출 TOP 5 = 유스케이스·클래스·시퀀스·활동·상태 — 이 중 클래스만 구조, 나머지 4종은 행위.

스테레오타입 ·표기 확장·

[정의] 새 요소를 추가하지 않고 기존 요소에 라벨을 붙여 의미를 확장하는 표기. << >>(꺾쇠 두 개) 안에 키워드를 적는다.

[표]

표기 의미
<<include>> 반드시 포함하여 실행(필수)
<<extend>> 선택적으로 확장
<<interface>> 이 클래스는 인터페이스

🔑 암기 표기 = << >>. include=필수 포함, extend=선택 확장. 🎯 빈출 include/extend 의미 구분. 보통.


애자일 — 변화에 적응하는 방식

애자일이란 + 폭포수 비교 ·개념·빈출 비교·

[정의] 요구 변화에 빠르게 대응하도록 짧은 반복 주기와 점진적 개발을 강조하는 소프트웨어 개발 방법론. 2001년 애자일 선언문(Agile Manifesto)에서 출발.

[비교]

구분 폭포수(Waterfall) 애자일(Agile)
진행 단계별 순차(한 방향) 짧은 반복(스프린트)
요구 변경 어려움(재작업 비용 큼) 환영(변화 적응)
산출물 단계마다 완전 문서 작동 SW 우선
고객 참여 초기·인수 위주 전 과정 지속
적합 요구 명확·안정 요구 불확실·변화 잦음

⚠️ 함정 '애자일이 무조건 우월'은 거짓. 군사·항공·금융 코어 같은 안정 영역엔 폭포수가 여전히 유효. 🎯 빈출 '폭포수 vs 애자일 비교 중 옳지 않은 것' 거의 매회.

애자일 4대 가치 — 프작고변 ·빈출 1순위·

[비교]

낮은 가치 높은 가치
프로세스·도구 개인과 상호작용
포괄적 문서 작동하는 소프트웨어
계약 협상 고객과의 협력
계획 따르기 변화에 대응

🔑 암기 프작고변 (프로세스<상호작용 · 문서<작동SW · 계약<고객협력 · 계획<변화대응). ⚠️ 함정 왼쪽을 '완전히 무시'가 아니라 '오른쪽을 더 가치 있게' 둔다는 뜻. '문서를 안 만든다'·'후반 요구 변경 거부'·'강한 통제 강조'는 모두 오답. 🎯 빈출 빈칸·소거형으로 최빈출. 12원칙은 통째로 출제되지 않고 핵심 = 변화 환영·짧은 주기·협업·자기조직화.


스크럼 — 3-3-5

스크럼 3-3-5 구조 ·메인 골격·

[정의] 2~4주짜리 스프린트(Sprint) 반복으로 점진적으로 인도하는, 가장 유명한 애자일 프레임워크. 이름은 럭비의 스크럼(팀이 한 덩어리로 전진)에서 왔다.

[분류]

구분 개수 항목
역할(Role) 3 PO · SM · 개발팀
산출물(Artifact) 3 제품 백로그 · 스프린트 백로그 · 증분(Increment)
이벤트(Event) 5 스프린트 계획 · 데일리 스크럼 · 스프린트 · 리뷰 · 회고

[이벤트 보충]

이벤트 시점·핵심
스프린트 계획 스프린트 시작 시 백로그 결정
데일리 스크럼 매일·15분·서서(어제/오늘/장애물 공유)
스프린트 2~4주 개발 진행
스프린트 리뷰 끝에 결과물 시연·피드백
스프린트 회고 리뷰 직후 프로세스 개선

🔑 암기 3-3-5 (역할 3 · 산출물 3 · 이벤트 5). ⚠️ 함정 데일리 스크럼 = 매일·15분·서서. '주 1회·30분·앉아서'는 오답. 🎯 빈출 3-3-5 분류, 데일리 스크럼 키워드. 거의 매회.

스크럼 3대 역할 — PO·SM·팀 ·빈출 함정·

[비교]

역할 핵심 책임
제품 책임자(PO) 제품 백로그·우선순위 결정 — 무엇(What)
스크럼 마스터(SM) 프로세스 코칭·장애물 제거·팀 보호
개발팀(Dev Team) 실제 개발·자기조직화(5~9명 권장) — 어떻게(How)

🔑 암기 PO=What, 팀=How, SM=프로세스(코칭·장애물 제거). ⚠️ 함정 SM은 PM이 아니다 — '일정 결정·작업 할당'은 오답. PO는 개발팀에 명령하지 않는다. 🎯 빈출 역할↔책임 짝짓기. 거의 매회. 'SM이 작업을 할당한다'가 매번 함정.


XP·기타 애자일

XP 5대 가치 — 의단피용존 ·빈출·

[정의] eXtreme Programming(익스트림 프로그래밍). 1996년 켄트 벡(Kent Beck)이 제안한, 짧은 반복과 고품질 코드를 강조하는 애자일 방법론.

[분류]

가치 영문 의미
의사소통 Communication 팀원·고객 사이 활발한 대화
단순성 Simplicity 지금 필요한 만큼만 단순하게
피드백 Feedback 빠르고 자주 받기
용기 Courage 변경·리팩토링을 두려워하지 않기
존중 Respect 팀원·고객 서로 존중

🔑 암기 의단피용존 (의사소통·단순성·피드백·용기·존중). ⚠️ 함정 '효율성·안정성·통제력'은 가짜 가치(소거형 단골). 애자일 4대 프작고변과 헷갈리지 말 것. 🎯 빈출 'XP 5대 가치가 아닌 것' 거의 매년.

XP 12 실천법 — 빈출 5 ·실천법·

[분류]

실천법 영문 핵심
페어 프로그래밍 Pair Programming 두 명이 한 화면에서 같이 코딩
테스트 주도 개발 TDD 테스트 먼저, 코드 나중
리팩토링 Refactoring 동작은 그대로, 구조만 개선
지속적 통합 CI 코드 변경을 매일 통합·테스트
소규모 릴리스 Small Releases 짧은 주기로 자주 배포

🔑 암기 빈출 5 = 페어·TDD·리팩토링·CI·소규모 릴리스. ⚠️ 함정 TDD는 '테스트 먼저, 코드 나중'. 순서를 뒤집으면 오답. 🎯 빈출 XP 실천법 매칭. 보통.

기타 애자일 방법론 ·간헐·

🌟 간헐 출제 — 키워드만 잡으면 충분.

[분류]

방법론 핵심 키워드
칸반(Kanban) WIP(진행 중 작업) 시각화, To Do/Doing/Done 보드
Lean(린) 낭비 제거, 가치 흐름 최적화(도요타 생산방식에서 출발)
Crystal(크리스탈) 팀 규모·중요도에 따라 색깔로 분류

🔑 암기 칸반=WIP 시각화. 보기에 'WIP'가 보이면 칸반. 🎯 빈출 애자일 패밀리(스크럼·XP·칸반·Lean·Crystal) 소거형. 간헐.


기출 다지기

[기출 1 출제] UML 다이어그램 중 정적(구조) 다이어그램에 해당하지 않는 것은? (소거형)

  • ① 클래스 다이어그램(Class Diagram)
  • ② 객체 다이어그램(Object Diagram)
  • ③ 컴포넌트 다이어그램(Component Diagram)
  • ④ 활동 다이어그램(Activity Diagram)
정답 및 해설 보기

정답 ④

선지 판정 근거
구조 클래스 — 구조의 대표주자
구조 객체 — 특정 시점 인스턴스
구조 컴포넌트 — 부품·의존성
행위 활동 — 업무 흐름(동적)

🔑 '클래스만 구조'를 떠올리면, 보기에 섞인 활동·시퀀스·상태·유스케이스가 곧 정답(=구조 아님).

[기출 2 출제] UML 관계(Relationship)와 표기법이 잘못 짝지어진 것은? (짝짓기 오류)

  • ① 연관(Association) — 실선
  • ② 집합(Aggregation) — 속이 채워진 마름모(◆)
  • ③ 일반화(Generalization) — 실선과 속이 빈 삼각형
  • ④ 의존(Dependency) — 점선 화살표
정답 및 해설 보기

정답 ②

선지 판정 근거
옳음 연관 = 실선
오답 집합은 빈 마름모(◇) — 채운 마름모(◆)는 포함
옳음 일반화 = 실선 + 빈 삼각형
옳음 의존 = 점선 화살표

🔑 빈=약(집합), 채움=강(포함). 두 마름모를 바꿔치기하는 빈출 함정.

[기출 3 출제] 다음 설명에 해당하는 UML 관계는? (설명 판단형)

전체와 부분의 관계로, 전체 객체가 사라지면 부분 객체도 함께 소멸하는 강한 소속 관계이다. 표기는 속이 채워진 마름모(◆)로 한다.

  • ① 집합(Aggregation)
  • ② 포함(Composition)
  • ③ 의존(Dependency)
  • ④ 일반화(Generalization)
정답 및 해설 보기

정답 ②

선지 판정 근거
오답 집합 — 빈 마름모(◇)·약한 소속
정답 포함 — 채운 마름모(◆)·운명 공동체
오답 의존 — 점선 화살표·일시적
오답 일반화 — 빈 삼각형·상속

🔑 단서 두 개('전체 소멸 시 부분 소멸' + '채운 마름모')가 모두 포함을 가리킨다.

[기출 4 출제] UML의 행위(Behavioral) 다이어그램에 해당하지 않는 것은? (소거형)

  • ① 시퀀스 다이어그램(Sequence Diagram)
  • ② 상태 다이어그램(State Diagram)
  • ③ 컴포넌트 다이어그램(Component Diagram)
  • ④ 활동 다이어그램(Activity Diagram)
정답 및 해설 보기

정답 ③

선지 판정 근거
행위 시퀀스 — 메시지의 시간 순서
행위 상태 — 상태 전이
구조 컴포넌트 — 부품·의존성(정적)
행위 활동 — 업무 흐름

🔑 구조 클객컴배복패프 중 하나(컴포넌트)가 보기에 섞이면 그게 '행위 아닌 것' 정답.

[기출 5 출제] 다음은 애자일 선언문의 4대 가치 중 일부이다. ( )에 들어갈 단어로 가장 적절한 것은? (빈칸 채우기)

포괄적인 문서보다 ( )하는 소프트웨어를 / 계획을 따르기보다 ( )에 대응하기를

  • ① 안정 / 효율
  • ② 작동 / 변화
  • ③ 동작 / 통제
  • ④ 검증 / 일정
정답 및 해설 보기

정답 ②

선지 판정 근거
오답 일반 SW 품질 용어
정답 작동 SW / 변화 대응
오답 '통제'는 폭포수 키워드
오답 검증·일정은 V모델·PM 키워드

🔑 프작고변 — 문서보다 동 SW, 계획보다 화 대응. '문서를 안 쓴다'가 아니라 우선순위가 낮을 뿐.

[기출 6 출제] XP(eXtreme Programming)의 5가지 핵심 가치에 해당하지 않는 것은? (소거형)

  • ① 의사소통(Communication)
  • ② 단순성(Simplicity)
  • ③ 효율성(Efficiency)
  • ④ 용기(Courage)
정답 및 해설 보기

정답 ③

선지 판정 근거
XP 가치 의사소통
XP 가치 단순성
가치 아님 효율성 — 일반 SW 품질 용어
XP 가치 용기

🔑 의단피용존 — 의사소통·단순성·피드백·용기·존중. '효율성·안정성·통제력'은 단골 가짜 가치.

[기출 7 출제] 스크럼(Scrum)의 역할(Role)과 핵심 책임이 잘못 짝지어진 것은? (짝짓기 오류)

  • ① 제품 책임자(PO) — 제품 백로그 관리 및 우선순위 결정
  • ② 스크럼 마스터(SM) — 팀의 일정을 결정하고 작업을 직접 할당
  • ③ 개발팀(Dev Team) — 자기조직화 + 5~9명 권장
  • ④ 스크럼 마스터(SM) — 프로세스 코칭 및 장애물 제거
정답 및 해설 보기

정답 ②

선지 판정 근거
옳음 PO = 백로그·우선순위
오답 일정 결정·작업 할당은 PM 역할 — SM 아님
옳음 개발팀 = 자기조직화·5~9명
옳음 SM = 코칭·장애물 제거

🔑 PO=What, 팀=How, SM=프로세스. SM은 결정권자가 아닌 코치이고, 작업 할당은 자기조직화된 개발팀의 몫.


한 장 요약

주제 암기 내용
UML 정의 명세화·시각화·문서화 OMG 표준 채택(1997), 통합 모델링 언어
3대 구성 사물·관계·다이어그램 사물 4종 = 구조·행위·그룹·주해 (스테레오타입은 구성 요소 아닌 확장 메커니즘)
관계 6종 연집포일의실 연관(실선)·집합(◇)·포함(◆)·일반화(실선△)·의존(점선)·실체화(점선△)
마름모 빈=약, 채움=강 ◇ 집합(부분 독립) / ◆ 포함(운명 공동체)
삼각형 실선=핏줄, 점선=약속 실선△ 일반화(extends) / 점선△ 실체화(implements)
구조 7 클객컴배복패프 클래스·객체·컴포넌트·배치·복합체·패키지·프로파일
행위 7 유시통상활타상 유스케이스·시퀀스·통신·상태·활동·타이밍·상호작용개요
다이어그램 구조 7 + 행위 7 = 14 클래스만 구조, 나머지 빈출은 행위
애자일 4대 프작고변 상호작용·작동SW·고객협력·변화대응(무시 아닌 우선순위)
스크럼 3-3-5 역할 3(PO=What·SM=프로세스·팀=How)·산출물 3·이벤트 5
XP 5대 의단피용존 의사소통·단순성·피드백·용기·존중

🎯 합격 한 끗: 다이어그램은 '클래스만 구조' 한 줄, 표기는 빈 마름모=집합·채운 마름모=포함·실선 삼각형=일반화·점선 삼각형=실체화. 이 두 줄이 UML 점수의 절반을 가른다.

전체 목록 필기 이론

합격까지

정처기, 혼자 막막하다면

초개인화 학습앱 Klue와 에듀윌 온라인강의로 합격까지 이어가세요.