
안녕하세요, 공부하는 감자입니다 🥔
소프트웨어 설계 파트는 코드를 추적할 일이 없어요. 설명을 주고 디자인 패턴 이름을 쓰라거나, 응집도 중 가장 강한 걸 고르라거나, 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
'자격증 > 정보처리기사 실기' 카테고리의 다른 글
| 정처기 실기 시험 전 마지막 주 체크리스트 (0) | 2026.06.30 |
|---|---|
| 정처기 실기 3주 남았을 때 60점 만드는 순서 (0) | 2026.06.30 |
| 정처기 실기 보안 정리, 헷갈리는 용어 4쌍 (0) | 2026.06.23 |
| 정처기 실기 파이썬 출력 문제 정리 (슬라이싱·기본 인자) (0) | 2026.06.23 |
| 정처기 실기 SQL 문제 풀이법 (JOIN·RANK) (0) | 2026.06.23 |