자격증/정보처리기사 실기

정처기 실기 SW 설계 암기표 (응집도·UML·디자인 패턴)

공감(공부하는감자) 2026. 6. 23. 13:54

안녕하세요, 공부하는 감자입니다 🥔

소프트웨어 설계 파트는 코드를 추적할 일이 없어요. 설명을 주고 디자인 패턴 이름을 쓰라거나, 응집도 중 가장 강한 걸 고르라거나, UML의 이 선이 뭘 의미하냐고 묻는 식이죠.

그래서 시험에 나오는 키워드 셋 자체가 고정돼 있고, 표 몇 장만 손에 익히면 점수가 됩니다. 제가 외운 순서대로 정리해볼게요.

응집도·결합도 — 순서 자체가 문제로 나옵니다

응집도는 모듈 안 기능들이 얼마나 밀접한가이고 높을수록 좋습니다.

강도 응집도 설명
강함 기능적 단일 기능만 수행
순차적 이전 출력이 다음 입력
교환적 같은 데이터 활용
절차적 특정 순서로 실행
시간적 같은 시간대 실행 (예: 초기화)
논리적 비슷한 종류를 묶음
약함 우연적 관련 없는 기능의 우연한 묶음

결합도는 모듈 간 의존 정도이고 낮을수록 좋습니다.

강도 결합도 설명
약함 자료 매개변수로 값만 전달
스탬프 자료 구조 전체를 전달
제어 제어 플래그 전달
외부 외부 환경(파일 등) 공유
공통 전역 변수 공유
강함 내용 다른 모듈 내부 직접 참조

응집도는 높을수록, 결합도는 낮을수록 좋다 — 이 한 줄이 그대로 단답이 됩니다. 양 극단(기능적 응집도, 자료 결합도)이 정답으로 가장 자주 나와요.

UML — 구조냐 행위냐부터

UML 13종은 일단 두 갈래로 나누는 게 시작입니다.

구분 종류
구조 다이어그램 클래스, 객체, 컴포넌트, 배치, 패키지, 복합 구조
행위 다이어그램 유스케이스, 시퀀스, 활동, 상태, 커뮤니케이션, 타이밍

"시퀀스 다이어그램은 구조인가 행위인가?" 같은 문제가 나오는데, 시간의 흐름을 표현하니까 행위입니다.

클래스 다이어그램의 선 표기는 이렇게 구분돼요.

관계 표기 의미
연관 실선 두 클래스가 연결
의존 점선 화살표 잠시 사용
일반화 빈 삼각형 상속
실체화 빈 삼각형 + 점선 인터페이스 구현
집합 빈 마름모 부분이 전체 없이 존재 가능
합성 채운 마름모 부분과 전체의 생명주기 동일

집합과 합성 구분이 단골인데, 기준은 "전체가 사라지면 부분도 같이 사라지는가"예요. 같이 사라지면 합성, 아니면 집합.

유스케이스 쪽에서는 include(반드시 포함)와 extend(조건부 확장)의 구분을 묻습니다.

디자인 패턴 — 5개만 정확히

분류는 생성(Singleton, Factory Method, Abstract Factory, Builder, Prototype) / 구조(Adapter, Bridge, Composite, Decorator, Facade, Proxy) / 행위(Observer, Strategy, Command, Template Method, Iterator, State)입니다.

실기는 "다음 설명에 해당하는 패턴은?" 형태라, 자주 나오는 다섯 개의 한 줄 정의만 정확히 써낼 수 있으면 거의 다 맞힙니다.

패턴 한 줄 정의
Singleton 인스턴스를 하나만 만들어 전역 공유
Factory Method 객체 생성을 서브클래스에 위임
Observer 상태 변경 시 관련 객체에 자동 통지
Strategy 알고리즘을 캡슐화해 런타임 교체
Adapter 호환되지 않는 인터페이스 연결

Singleton이 생성 패턴이지 행위 패턴이 아니라는 분류 함정도 같이 기억해두세요.

SOLID — 설명에서 원칙 이름으로

다섯 원칙은 머리글자와 핵심 문구를 짝지어 외우면 됩니다.

원칙 핵심
S (단일 책임) 클래스는 하나의 책임만
O (개방-폐쇄) 확장에는 열려, 수정에는 닫혀
L (리스코프 치환) 자식이 부모 자리를 대체해도 무방
I (인터페이스 분리) 두꺼운 인터페이스는 작게 쪼개기
D (의존 역전) 구체 클래스가 아닌 추상화에 의존

출제는 "설명 → 이름" 매칭이 전부고, 특히 OCP와 DIP가 디자인 패턴과 엮여 자주 나옵니다.

요구사항과 방법론 — 가볍게 한 바퀴

기능 요구사항은 시스템이 무엇을 해야 하는가(로그인, 결제), 비기능 요구사항은 어떻게 동작해야 하는가(성능, 보안, 가용성)입니다. 도출 기법은 인터뷰·설문·브레인스토밍·프로토타이핑·워크숍(JAD) 정도만 이름을 알아두면 돼요.

개발 방법론은 네 가지 구분이 기본이에요.

  • 폭포수 — 순차 진행, 변경 어려움
  • 나선형 — 위험 분석 기반
  • V모델 — 단계별 대응 테스트
  • 애자일 — 반복·점진, 변화 수용

애자일 하위로는 Scrum(스프린트 단위 반복), XP(짝 프로그래밍·TDD), Kanban(흐름 시각화·WIP 제한), Lean(낭비 제거)을 매칭합니다.

틀리기 쉬운 지점 모음

마지막으로, 제가 실제로 헷갈렸던 함정들만 모았습니다.

함정 정답
시퀀스 다이어그램의 분류 행위
집합 vs 합성 생명주기 공유 여부
가장 강한 응집도 기능적
가장 약한 결합도 자료
OCP 수정에 닫혀, 확장에 열려
Singleton의 분류 생성 패턴

이 과목은 이해보다 반복이에요.

처음엔 패턴 설명이 다 비슷해 보이는데, 문제를 돌리다 보면 "이 설명은 Observer"가 바로 떠오르는 순간이 옵니다.

저는 표를 외운 다음 문어CBT에서 설계 유형만 반복해서 풀었는데, 무료라서 부담 없이 키워드 감을 쌓기 좋았어요. 위 표들을 손으로 한 번씩 써보는 것만으로도 단답형 대부분이 커버됩니다.

 

SQLD·정처기·컴활·ADsP 무료 CBT 모의고사

기출 변형 문제, 자동 채점, 회차별 실력 추적까지 가입 없이 바로 풀어보세요.

sqldpass.com