모듈 · 응집도 · 결합도 · UML E15

응집도 7단계와 결합도 6단계는 이름과 순서가 곧 답이다. UML 은 다이어그램 14개와 관계 6개의 짝이다

왜 이 장을 하나
이 장의 9문항은 이름 · 순서 · 설명 매칭이 전부다. 응집도와 결합도는 단계마다 「무엇이 묶였나 · 무엇을 주고받나」 한 줄이 있어, 그 한 줄을 알면 설명이 어떻게 바뀌어도 이름이 나온다. 2회 마지막 문제(2026-2회 2번)도 여기서 나왔다.
다루는 것응집도 7 · 결합도 6 · UML 다이어그램 · 관계 · 팬인/팬아웃
문항기출 9 · 훈련 5
끝나면설명 한 줄에서 단계 이름을 적는다

01왜 이 장인가

왜 이걸 하나 — SW공학 묶음 37문항 중 9문항이 이 장이고, 11회 중 8회에 나왔다. 2회에서 1~2문항 샌 묶음의 첫 장이다.

11회분 220문항 중 이 장의 기출은 9문항이다. 2024년 2회에는 2문항(순차적 응집도 · 제어 결합도)이 나왔고, 2026년에는 두 회 연속(응집도 3칸 · 내용 결합도)이다. 예상 모의는 없고 훈련 5문항이 빈자리를 메운다.

몇 문항무엇을 적나보기
설명 → 응집도 · 결합도 이름5순차적 응집도 · 제어 결합도 · 내용 결합도, 3칸 매칭2024-2회 6번 · 18번 · 2025-1회 12번 · 2026-1회 20번 · 2026-2회 2번
순서 나열1응집도를 높은 것부터2024-1회 3번
UML 다이어그램 이름2패키지 다이어그램2023-3회 6번 · 2025-3회 1번
UML 관계 매칭1연관 · 일반화 · 의존2024-3회 15번

→ 응집도 · 결합도가 6문항, UML 이 3문항이다. 패키지 다이어그램은 같은 문장으로 두 번 나왔고, 결합도는 2024년 2회 · 2025년 1회 · 2026년 2회 세 번 나왔다. 이 장은 이름 13개(응집도 7 + 결합도 6)와 UML 짝 20개를 한 벌로 묶는다.

E01 진단의 SW공학 4문항 중 결합도 1문항(2번)이 이 장이었다. 「1~2문제 틀린 것 같다」고 한 묶음이라 05절에서 헷갈리는 짝(논리적 vs 절차적, 스탬프 vs 자료, 집합 vs 합성)을 따로 갈라 둔다.

문항 수는 이 노트의 문제 데이터에서 ch=E15 인 것을 센 값이다(2026-09-14). 2025-1회 12번은 이전 자료가 기호 매칭 요약만 남겨 grandlife.co.kr 복원(내용 · 스탬프 · 공통)으로 채웠다.

02한눈에

왜 이걸 하나 — 시험 전날 단계 이름 13개를 순서대로 백지에 적어 본다.

응집도 7 (낮 → 높)우연적(관계없는 것들) · 논리적(비슷해서, 플래그로 고름) · 시간적(같은 때 실행) · 절차적(순서만 있음) · 교환(통신)적(같은 데이터를 씀) · 순차적(앞의 출력이 뒤의 입력) · 기능적(한 가지 일). 「우 · 논 · 시 · 절 · 교 · 순 · 기」. 높을수록 좋다.
결합도 6 (낮 → 높)자료(값만) · 스탬프(자료구조째) · 제어(플래그로 조종) · 외부(외부 형식 · 프로토콜 공유) · 공통(전역 변수 공유) · 내용(남의 내부 직접). 「자 · 스 · 제 · 외 · 공 · 내」. 낮을수록 좋다.
좋은 모듈응집도 높게 · 결합도 낮게 · 팬인(공유도, 나를 부르는 수) 높게 · 팬아웃(제어도, 내가 부르는 수) 낮게. 모듈은 독립적으로 컴파일 · 재사용 가능한 단위.
UML 구조 다이어그램 6클래스 · 객체 · 컴포넌트 · 배치 · 복합 구조 · 패키지(요소를 관련된 것끼리 묶음). 정적.
UML 행위 다이어그램 7유스케이스 · 시퀀스(시간순 메시지) · 커뮤니케이션 · 상태 · 활동(흐름) · 타이밍 · 상호작용 개요. 동적.
UML 관계 6연관(실선) · 집합(빈 마름모, 부분이 따로 존재 가능) · 합성(채운 마름모, 생명주기 같이) · 일반화(실선 + 빈 삼각형, 상속) · 의존(점선 화살표, 일시적 사용) · 실체화(점선 + 빈 삼각형, 인터페이스 구현).
UML 구성 요소사물(things) · 관계(relationships) · 다이어그램(diagrams). 유스케이스 다이어그램의 액터 · 유스케이스 · 관계(연관 · 포함 include · 확장 extend · 일반화).

03밑바닥

왜 이걸 하나 — 이름 13개를 외우는 것이 아니라 무엇을 기준으로 등급이 매겨지는지 알면 설명이 낯설어도 자리를 찾는다.

3-1. 응집도는 「왜 같이 있나」로 등급이 매겨진다

응집도는 한 모듈 안의 것들이 왜 한 모듈에 모여 있느냐의 이유가 얼마나 그럴듯한가다. 이유가 없으면 우연적, 「비슷해 보여서」면 논리적, 「같은 때 돌아서」면 시간적, 「순서가 있어서」면 절차적, 「같은 데이터를 다뤄서」면 교환적, 「앞의 출력이 뒤의 입력이라서」면 순차적, 「한 가지 일을 위해서」면 기능적이다.

위로 갈수록 이유가 강해진다. 2026년 1회 20번의 세 칸이 이 사다리의 위쪽 셋을 설명으로 물었다 — 「순서에 따라 차례대로」는 절차적, 「동일한 입출력 데이터」는 교환적, 「단일 기능」은 기능적. 2024년 2회 6번의 「한 활동의 출력이 다음 활동의 입력」은 순차적이다.

절차적과 순차적이 가장 많이 섞인다. 둘 다 순서가 있지만 데이터가 앞에서 뒤로 넘어가느냐가 다르다. 넘어가면 순차적, 순서만 있고 데이터는 따로면 절차적. 2024년 1회 3번의 순서 나열은 이 사다리를 그대로 적는 문제였다.

3-2. 결합도는 「무엇을 주고받나」로 등급이 매겨진다

결합도는 두 모듈이 무엇을 매개로 얽혀 있느냐다. 필요한 값만 인자로 넘기면 자료, 배열 · 구조체를 통째로 넘기면 스탬프, 상대의 동작을 고르는 플래그를 넘기면 제어, 파일 형식 · 프로토콜 같은 외부 규격을 함께 알면 외부, 전역 변수를 같이 쓰면 공통, 상대의 내부 변수 · 코드를 직접 건드리면 내용이다.

아래로 갈수록 한쪽을 고치면 다른 쪽이 깨진다. 2026년 2회 2번은 「다른 모듈의 내부 데이터나 제어 흐름을 직접 참조하거나 수정」이라 내용 결합도이고, 2024년 2회 18번의 「플래그 · 스위치 등 제어 요소 전달」은 제어 결합도, 2025년 1회 12번의 「자료구조 전체를 전달」은 스탬프 결합도다.

자료와 스탬프가 가장 많이 섞인다. 둘 다 인자로 넘기지만 필요한 값만 넘기느냐 덩어리째 넘기느냐가 다르다. 값 하나면 자료, 구조체 · 객체째면 스탬프. 「보기에서 기호로」 답하라고 하면 이름이 아니라 기호(ㅁ)를 적는다.

3-3. UML 은 「정적이냐 동적이냐」와 「선의 모양」

UML 다이어그램 14개는 둘로 나뉜다. 구조(정적) 다이어그램은 시스템에 무엇이 있고 어떻게 연결됐나를 그리고, 행위(동적) 다이어그램은 시간에 따라 무엇이 일어나나를 그린다. 클래스 · 객체 · 컴포넌트 · 배치 · 복합 구조 · 패키지가 앞이고, 유스케이스 · 시퀀스 · 커뮤니케이션 · 상태 · 활동 · 타이밍 · 상호작용 개요가 뒤다.

패키지 다이어그램은 「모델 요소들을 관련된 것끼리 그룹화」가 정의 그대로다(2023년 3회 6번 · 2025년 3회 1번). 배치 다이어그램은 하드웨어 노드에 무엇이 놓이나, 컴포넌트 다이어그램은 실행 단위의 의존, 시퀀스는 객체 사이 메시지를 시간순으로, 활동은 업무 흐름을 순서도처럼, 상태는 한 객체의 상태 변화를 그린다.

관계는 선의 모양이 곧 이름이다. 실선은 연관, 실선 끝의 빈 삼각형은 일반화(상속), 점선 화살표는 의존(잠깐 쓰는 관계), 점선 끝의 빈 삼각형은 실체화(인터페이스 구현), 빈 마름모는 집합(부분이 따로 살 수 있음), 채운 마름모는 합성(부분이 전체와 같이 없어짐). 2024년 3회 15번이 앞의 셋을, 훈련 4번이 뒤의 셋을 묻는다.

3-4. 유스케이스의 관계와 모듈화의 낱말

유스케이스 다이어그램에는 관계가 넷 더 있다. 액터와 유스케이스를 잇는 연관, 한 유스케이스가 다른 것을 반드시 포함하는 포함(include, 점선 화살표가 포함되는 쪽으로), 조건이 맞을 때만 덧붙는 확장(extend, 점선 화살표가 확장 대상 쪽으로), 액터나 유스케이스 사이의 일반화. 「로그인을 반드시 거친다」면 포함, 「쿠폰이 있을 때만」이면 확장이다.

모듈화를 설명하는 낱말도 짝으로 나온다. 분할 정복은 큰 문제를 작은 모듈로 나눠 푸는 것, 정보 은닉은 모듈 안의 세부를 밖에서 못 보게 감추는 것, 추상화는 세부를 빼고 본질만 드러내는 것이다. 정보 은닉이 잘 되면 결합도가 내려간다 — 밖에서 내부를 못 건드리니 내용 결합도가 생길 수 없다.

모듈의 크기는 팬인 · 팬아웃으로 본다. 팬인이 높은 모듈은 여러 곳이 재사용하는 공용 부품이라 좋고, 팬아웃이 높은 모듈은 너무 많은 것을 부려 복잡하므로 줄인다. 훈련 5번이 이 둘의 정의와 방향을 묻는다.

통과 기준은 넷이다. 첫째, 응집도 7 · 결합도 6 을 순서대로 적고 각 단계의 한 줄 기준을 말한다. 둘째, 절차적 vs 순차적, 자료 vs 스탬프를 「데이터가 넘어가나 · 덩어리째냐」로 가른다. 셋째, UML 다이어그램 14개를 구조 · 행위로 나눈다. 넷째, 관계 6개를 선 모양으로 가른다. 기출 9문항은 이 넷 안에 있다.
응집도도 결합도도 낮을수록 좋다.응집도는 높을수록, 결합도는 낮을수록 좋다. 「높은 것부터 나열」(2024년 1회 3번)과 「낮은 것부터 나열」(훈련 1번)이 각각 어느 쪽인지 문제에서 읽는다. 응집도의 「높다」는 사다리의 위(기능적)다.
집합과 합성은 같은 마름모니 같은 관계다.빈 마름모(집합)는 부분이 전체 없이도 존재하고, 채운 마름모(합성)는 전체가 없어지면 부분도 없어진다. 자동차와 바퀴(집합), 집과 방(합성)이 흔한 예다. 채웠는지가 답이다.

04기출

왜 이걸 하나 — 설명에서 기준 낱말을 찾아 사다리의 자리로 옮기는 연습이다.

답을 적기 전에 설명에서 기준 낱말(플래그 · 순서 · 데이터 · 전역 · 내부)을 동그라미 치고, 사다리의 몇째 칸인지 먼저 정한 뒤 이름을 적는다. 기호를 요구하면 기호를 적는다.

2023-3회 · 6번UML

유스케이스·클래스 등 모델 요소들을 관련된 것끼리 그룹화하여 표현하는 UML 다이어그램은?

정답패키지 다이어그램
"서류를 폴더별로 정리"하는 다이어그램. 구조(정적) 다이어그램에 속합니다. 2025년 3회 재출제!
2024-1회 · 3번SW공학

다음 응집도를 높은 것부터 순서대로 나열하시오: ㄱ. 기능적 ㄴ. 교환(통신)적 ㄷ. 우연적 ㄹ. 시간적

정답ㄱ → ㄴ → ㄹ → ㄷ (기능적 > 교환적 > 시간적 > 우연적)
전체 서열 "기순교절시논우"(높음→낮음)에서 해당 4개만 뽑으면 됩니다. 이 구호 하나로 5점 확보.
2024-2회 · 6번SW공학

모듈 내 한 활동의 출력이 다음 활동의 입력 데이터로 사용되는 응집도는?

정답순차적 응집도 (Sequential Cohesion)
"썰기 결과를 볶기에 넘기는" 릴레이 관계. 순서만 있고 데이터 연결이 없으면 절차적 — "출력→입력 연결" 유무로 구분하세요.
2024-2회 · 18번SW공학

다른 모듈 내부의 논리적 흐름을 제어하기 위해 플래그·스위치 등 제어 요소를 전달하는 결합도는?

정답제어 결합도 (Control Coupling)
"주문서에 요리법까지 지시하는 손님" — 값이 아니라 동작 방식을 조종하는 신호를 넘기면 제어 결합. 키워드 "플래그, 스위치" = 제어 결합도.
2024-3회 · 15번UML

UML 관계 매칭: ① 클래스가 다른 클래스를 사용하는 지속적 연결(실선) ② 상속 관계(빈 삼각형) ③ 일시적으로 사용하는 관계(점선 화살표)

정답① 연관(Association) ② 일반화(Generalization) ③ 의존(Dependency)
연관="단골 관계"(지속), 의존="일회성 거래"(잠깐), 일반화="부모-자식"(is-a). 화살표 모양(실선/빈 삼각형/점선)과 함께 암기.
2025-1회 · 12번SW공학

다음 설명에 해당하는 결합도를 ①부터 ③까지 순서대로 쓰시오.

① 다른 모듈 내부의 변수나 기능을 직접 사용한다.
② 모듈 사이에서 배열, 객체, 구조체 같은 자료구조 전체를 전달한다.
③ 여러 모듈이 모듈 밖의 전역 변수를 함께 참조하거나 갱신한다.

정답① 내용 결합도 ② 스탬프 결합도 ③ 공통 결합도
「내부를 직접」이면 내용, 「자료구조 전체」면 스탬프(필요한 값만 넘기면 자료), 「전역 변수 공유」면 공통. 결합도 6단계는 낮은 것부터 자료 · 스탬프 · 제어 · 외부 · 공통 · 내용이고, 이 문제는 그중 셋을 설명으로 골랐다. 이전 자료는 이 문항을 기호 매칭 요약으로만 남겼는데 그랜드라이프 복원으로 채웠다. 복원 출처는 grandlife.co.kr 회차별 복원 페이지(2026-09-14 대조). 공식 원문이 아니라 문장·값이 실제와 다를 수 있고, 문항 번호도 복원본마다 다르다.
2025-3회 · 1번UML

모델 요소들을 관련된 것끼리 그룹화하여 표현하는 UML 다이어그램은?

정답패키지 다이어그램
2023년 3회와 완전 동일 문제 재출제. "그룹화" 키워드 = 패키지.
2026-1회 · 20번SW공학

응집도 3종: ① 다수의 관련 기능이 순서에 따라 차례대로 수행됨 ② 동일한 입출력 데이터를 사용하는 기능들이 모임 ③ 단일 기능만 수행

정답① 절차적 응집도 ② 교환(통신)적 응집도 ③ 기능적 응집도
✔ 재검증 완료: 흥달쌤 시트·정처기감자·갤러리 복원 3개 소스 일치로 ①은 절차적으로 최종 정리 (시험 직후 "순차 vs 절차" 논쟁 종료). 구분 열쇠: "순서대로 수행(데이터 연결 없음)" = 절차적, "출력이 다음 입력으로" = 순차적, "같은 데이터 사용" = 교환적, "하나의 기능" = 기능적. 2024년 1·2회에 이어 또 응집도 — 매년 나옵니다.
2026-2회 · 2번SW공학

다음 설명에 해당하는 결합도를 보기에서 골라 기호로 쓰시오.

한 모듈이 다른 모듈의 내부 데이터나 내부 제어 흐름을 직접 참조하거나 수정한다. 예를 들어 다른 모듈의 내부 코드 위치로 분기하거나, 내부에 선언된 자료를 직접 사용하는 경우이다.

ㄱ. 자료 결합도
ㄴ. 스탬프 결합도
ㄷ. 제어 결합도
ㄹ. 외부 결합도
ㅁ. 내용 결합도

정답ㅁ (내용 결합도)
「다른 모듈의 내부」를 직접 건드린다는 말이 나오면 내용 결합도다. 결합도 6단계는 낮은 것부터 자료 · 스탬프 · 제어 · 외부 · 공통 · 내용이고, 내용 결합도가 가장 나쁘다. 문제가 기호를 쓰라고 했으므로 ㅁ 을 적는다. 복원 출처는 grandlife.co.kr 2026-2회 복원 풀이(2026-09-14 대조). 공식 원문이 아니라 문장·변수명·수치가 실제와 다를 수 있다.

05틀리는 자리

왜 이걸 하나 — 이 장은 이웃한 단계끼리 바꿔 적어서 깎인다.

자리새는 꼴적는 법기출
절차적 · 순차적둘을 바꾼다데이터가 앞에서 뒤로 넘어가면 순차적, 순서만 있으면 절차적2024-2회 6번 · 2026-1회 20번
자료 · 스탬프구조체를 넘기는데 자료라 적는다값 하나면 자료, 배열 · 구조체 · 객체째면 스탬프2025-1회 12번
공통 · 내용전역 변수 공유를 내용이라 적는다전역 변수는 공통, 남의 내부 코드 · 변수를 직접 건드리면 내용2025-1회 12번 · 2026-2회 2번
기호 · 이름「기호로 쓰시오」에 이름을 적는다보기 기호(ㅁ)를 적는다. 이름을 덧붙여도 기호가 먼저2026-2회 2번
순서 방향「높은 것부터」에 낮은 것부터 적는다응집도 높은 것 = 기능적. 방향을 문제에서 확인2024-1회 3번
교환적 표기「통신적」만 적거나 「교환적」만 적는다둘 다 같은 것 — 교환(통신)적 응집도로 병기하면 안전2026-1회 20번
UML 관계의존과 연관을 바꾼다점선이면 의존(일시적), 실선이면 연관(지속적)2024-3회 15번

세 칸짜리 매칭은 소문항마다 점수가 있다. 한 칸이 헷갈리면 사다리에서 이웃한 두 칸 중 기준 낱말에 더 가까운 쪽을 적고 비우지 않는다.

06훈련

왜 이걸 하나 — 기출에 아직 안 나온 칸이다. 결합도 순서, 응집도 아래쪽 셋, UML 분류, 관계 나머지 셋, 팬인/팬아웃.

5문항 전부 정의로 대조한 용어라 계산이 없다. 응집도 · 결합도 사다리의 13칸 중 기출이 안 건드린 칸(우연적 · 논리적 · 시간적, 외부)이 여기 있다.

훈련 SW공학 · 1번SW공학

결합도 6종을 결합도가 낮은 것부터 높은 것 순서로 나열하시오.

공통, 내용, 자료, 제어, 스탬프, 외부

정답자료 → 스탬프 → 제어 → 외부 → 공통 → 내용
「자 · 스 · 제 · 외 · 공 · 내」. 값만 주고받는 자료가 가장 좋고, 남의 내부를 직접 건드리는 내용이 가장 나쁘다. 2024년 1회 3번이 응집도를 순서로 물었듯 결합도도 순서로 나올 수 있다. 응집도는 반대로 높은 것이 좋다는 것을 함께 잡아 둔다.
훈련 SW공학 · 2번SW공학

다음 설명에 해당하는 응집도를 각각 쓰시오.

① 비슷해 보이는 기능들을 하나로 모아 놓고 매개변수(플래그)로 골라 실행한다
② 특정 시점에 함께 실행돼야 하는 기능들(초기화 · 종료 처리)을 모아 놓았다
③ 순서대로 실행되지만 서로 데이터를 주고받지는 않는 기능들을 모아 놓았다

정답① 논리적 응집도 ② 시간적 응집도 ③ 절차적 응집도
응집도 7단계는 낮은 것부터 우연적 · 논리적 · 시간적 · 절차적 · 교환(통신)적 · 순차적 · 기능적. 「플래그로 고른다」면 논리적, 「같은 때」면 시간적, 「순서만 있다」면 절차적, 「같은 데이터를 쓴다」면 교환적, 「앞의 출력이 뒤의 입력」이면 순차적. 2026년 1회 20번과 2024년 2회 6번이 절차 · 교환 · 순차 · 기능을 물었고 이 문제는 나머지 셋이다.
훈련 SW공학 · 3번UML

다음 UML 다이어그램을 구조(정적) 다이어그램과 행위(동적) 다이어그램으로 나누시오.

클래스, 시퀀스, 유스케이스, 컴포넌트, 활동, 배치, 상태, 패키지

정답구조: 클래스, 컴포넌트, 배치, 패키지
행위: 시퀀스, 유스케이스, 활동, 상태
구조 다이어그램은 시스템의 정적 구조(무엇이 있고 어떻게 연결됐나) — 클래스 · 객체 · 컴포넌트 · 배치 · 복합 구조 · 패키지. 행위 다이어그램은 시간에 따른 동작 — 유스케이스 · 시퀀스 · 활동 · 상태 · 커뮤니케이션 · 타이밍 · 상호작용 개요. 2023년 3회 · 2025년 3회의 패키지 다이어그램은 구조 쪽이다.
훈련 SW공학 · 4번UML

UML 클래스 관계 중 다음 설명에 해당하는 것을 각각 쓰시오.

① 전체와 부분의 관계이나 부분이 전체 없이도 존재할 수 있다(빈 마름모)
② 전체와 부분의 관계이고 부분은 전체와 생명주기를 같이한다(채운 마름모)
③ 인터페이스와 그것을 구현한 클래스의 관계(점선 + 빈 삼각형)

정답① 집합(Aggregation) ② 합성(Composition) ③ 실체화(Realization)
2024년 3회 15번이 연관 · 일반화 · 의존을 물었고 이 셋이 나머지다. 마름모는 「전체-부분」이고 채웠으면 생명주기까지 같이(합성), 비었으면 따로 살 수 있다(집합). 점선 화살표는 의존, 점선에 빈 삼각형은 실체화(인터페이스 구현), 실선에 빈 삼각형은 일반화(상속).
훈련 SW공학 · 5번SW공학

모듈 설계에서 다음 설명에 해당하는 용어를 각각 쓰시오.

① 어떤 모듈을 호출하는 상위 모듈의 수
② 어떤 모듈이 호출하는 하위 모듈의 수
③ 좋은 설계는 이 둘 중 무엇을 높이고 무엇을 줄이는가

정답① 팬인(Fan-in, 공유도) ② 팬아웃(Fan-out, 제어도) ③ 팬인은 높이고 팬아웃은 줄인다
팬인이 높다는 것은 여러 곳에서 재사용된다는 뜻이라 좋고, 팬아웃이 높으면 한 모듈이 너무 많은 것을 부려 복잡하다. 응집도는 높게 · 결합도는 낮게 와 짝을 이루는 설계 원칙이다.

07백지 재현

왜 이걸 하나 — 아래를 안 보고 적을 수 있어야 이 장이 끝난다.