정보처리기사 개념정리 목차

1과목 소프트웨어설계

이 트랙의 기출 160문항(과목1)을 세어 빈출 순서로 재구성했다 — 모듈·결합도/응집도(37) · 다이어그램(52) · 모형(39) · 객체지향(42) · 패턴(17) · 요구사항(16).

계산이 없고 용어의 구분 기준이 전부인 과목이다. 그래서 이 편은 정의를 나열하지 않고 무엇과 무엇이 헷갈리는지를 축으로 쓴다. 부정형이 44문항(27%)이라 "틀린 것 고르기"에서 갈리는 지점을 함정 박스로 따로 뽑았다.


0. 이 과목의 지형

요구사항 확인      도출 · 분석 · 명세 · 확인 / 요구공학 / 검증 기법
화면 설계          UI 원칙 · 유형 · 설계 도구
애플리케이션 설계   객체지향 · 모듈(결합도·응집도) · 디자인 패턴 · 아키텍처
인터페이스 설계     시스템 인터페이스 · EAI · 미들웨어

출제 비중이 가장 큰 두 덩어리는 ① 모듈 설계(결합도·응집도)② 다이어그램·모형 이름 맞히기다. 이 둘만 확실히 하면 20문항 중 10문항 전후가 안정된다.


1. 요구사항 확인

요구공학 프로세스

도출(Elicitation) → 분석(Analysis) → 명세(Specification) → 확인/검증(Validation)
단계하는 일산출물·기법
도출이해관계자에게서 요구를 끌어낸다인터뷰·설문·브레인스토밍·워크숍·프로토타이핑
분석충돌·중복·누락을 걸러 구조화한다자료흐름도·UML·요구사항 분류
명세문서로 확정한다요구사항 정의서·명세서(SRS)
확인명세가 이해관계자 뜻과 맞는지 본다검토·프로토타입·모델 검증·인수 테스트 기준

함정 — 도출의 결과가 분석이 아니다. 네 단계는 순서가 정해진 이름으로 나오며, "요구사항 개발 프로세스에 해당하지 않는 것" 형태로 구현·유지보수를 섞어 낸다.

기능 요구사항과 비기능 요구사항

구분
기능시스템이 무엇을 하는가로그인, 검색, 결제, 리포트 출력
비기능얼마나 잘 하는가성능·보안·가용성·사용성·이식성·법규 준수

함정 셋 — ① "응답 시간 2초 이내"는 비기능이다. 문장이 구체적이어서 기능으로 착각한다. ② "동시 사용자 1만 명 지원"도 비기능(성능). ③ "개인정보를 암호화해 저장한다"는 비기능(보안) 쪽으로 분류된다.

명세 기법 — 정형 vs 비정형

정형(formal)     수학·논리 기반 표기      VDM · Z 표기법 · Petri-net · CSP
비정형(informal) 자연어·다이어그램        유스케이스 · 시나리오 · 상태 전이도

정형 기법은 명확성과 검증 가능성이 장점이고, 작성·이해 난도가 단점이다.

요구사항 검증 기법 — 이름이 셋인데 주체가 다르다

기법누가성격
동료 검토(Peer Review)작성자가 설명, 동료가 듣는다가장 비공식
워크스루(Walkthrough)검토 회의를 사전 배포 후 짧게준공식, 오류 발견 목적
인스펙션(Inspection)작성자를 제외한 전문가가 결함을 찾는다가장 공식적·체계적

함정 — 인스펙션은 작성자가 참여하지 않는다는 점이 워크스루와 갈리는 지점이다. "가장 공식적인 검토 방법"의 답은 인스펙션.


2. 분석 모델링 — 구조적 분석과 객체지향 분석

자료흐름도(DFD) — 4개 기호가 전부다

기호이름표기
프로세스(처리)자료를 변환하는 일
화살표자료 흐름(Data Flow)자료의 이동
이중선(=)자료 저장소(Data Store)파일·DB
사각형단말(Terminator)시스템 외부의 발생·종착지

DFD 는 하향식으로 분할한다. 최상위가 배경도(Context Diagram)이고, 번호를 붙여 세분한다.

함정 — 기출은 terminator(6회), data store(8회), process, data flow 를 영어로 던지고 "자료 저장소를 나타내는 기호" 처럼 짝을 묻는다. 원=프로세스, 사각형=단말을 뒤집어 내는 문항이 많다.

자료 사전(Data Dictionary) 표기법 — 기호가 곧 정답

기호의미
=자료의 정의(is composed of)
+자료의 연결(and)
( )자료의 생략(optional)
{ }자료의 반복(iteration)
[ | ]자료의 선택(택 1)
* *자료의 설명(주석)

{ } 는 반복, ( ) 는 생략이다. 이 둘을 바꿔 낸 문항이 반복 출제된다.

HIPO — 도표 세 종류

가시적 도표(도식 목차)   전체 기능을 계층으로 보여 주는 목차
총체적 도표(개요 도표)   입력-처리-출력의 개요
세부적 도표(상세 도표)   각 기능의 상세 입력-처리-출력

HIPO 는 Hierarchy plus Input Process Output 이고, 하향식 개발에 쓰인다. 기출에서 8회 등장했다.

객체지향 분석 방법론 — 사람 이름과 3모델

제안자특징
럼바우(Rumbaugh) = OMT객체(정보) 모델링 → 동적 모델링 → 기능 모델링 3단계
부치(Booch)미시적(Micro)·거시적(Macro) 개발 프로세스, 다이어그램 중심
야콥슨(Jacobson)유스케이스를 강조 (Use Case 중심 분석)
코드-요든(Coad-Yourdon)E-R 다이어그램으로 객체 행위 모델링
위르페스-브록(Wirfs-Brock)분석과 설계 사이 구분이 없다

럼바우의 3모델을 순서대로 쓰면 이렇다.

객체 모델링(Object)   객체·클래스·속성·연산을 찾아 객체 다이어그램으로  ← 가장 먼저
동적 모델링(Dynamic)  상태 다이어그램으로 시간 흐름에 따른 상태 변화
기능 모델링(Function) 자료흐름도로 프로세스 간 자료 흐름

함정 — 럼바우의 첫 단계는 객체 모델링이다. "기능 모델링이 먼저"로 뒤집은 보기가 단골. 그리고 동적 모델링에 쓰는 것이 상태 다이어그램, 기능 모델링에 쓰는 것이 DFD 다.


3. UML — 이 과목 최다 출제(다이어그램 52회 · UML 21회)

구성 요소 세 가지

사물(Things)   구조 사물 · 행동 사물 · 그룹 사물 · 주해 사물
관계(Relationships)  아래 6종
다이어그램(Diagrams) 구조 + 행위

관계 6종 — 화살표 모양이 곧 답

관계표기
연관(Association)서로를 알고 참조한다실선 (방향 있으면 화살표)
집합(Aggregation)부분이 전체와 독립적으로 존재실선 + 빈 마름모
포함/합성(Composition)전체가 사라지면 부분도 사라진다실선 + 채운 마름모
일반화(Generalization)상속 (is-a)실선 + 빈 삼각형
의존(Dependency)잠깐 사용한다 (파라미터·지역변수)점선 + 화살표
실체화(Realization)인터페이스 구현점선 + 빈 삼각형

함정 둘 — ① 집합과 합성의 마름모 채움 여부가 갈린다. 자동차와 바퀴는 집합, 사람과 심장은 합성으로 예시가 나온다. ② 의존과 연관의 차이는 관계의 지속성이다.

다중성(Multiplicity) 표기도 그대로 나온다.

1      정확히 하나            0..1    없거나 하나
*      0 이상                 1..*    하나 이상
n..m   n 개 이상 m 개 이하

다이어그램 — 정적(구조) vs 동적(행위)

구분다이어그램무엇을 보여 주나
구조(정적)클래스클래스와 관계 — 가장 대표적
객체인스턴스와 링크
컴포넌트물리적 구성 요소와 인터페이스
배치(Deployment)하드웨어·노드에 무엇이 놓이는가
복합체 구조내부 구조를 가진 클래스
패키지요소를 묶은 그룹
행위(동적)유스케이스사용자(액터) 관점의 기능
시퀀스객체 간 메시지를 시간 순으로
커뮤니케이션메시지와 객체 간 연관을 함께
상태(State)한 객체의 상태 변화
활동(Activity)처리의 흐름·분기
상호작용 개요여러 상호작용을 묶은 흐름
타이밍시간 제약에 따른 상태 변화

정적/동적 구분이 그대로 문제다. 기출은 "동적 다이어그램이 아닌 것"으로 클래스·객체·배치·컴포넌트·패키지를 섞어 낸다(동적 18회 등장). 시퀀스는 시간 순서, 커뮤니케이션은 연관 관계가 강조점이라는 것도 갈리는 지점.

유스케이스 다이어그램

액터(Actor)        시스템 외부의 사용자·외부 시스템   (막대 사람)
유스케이스         시스템이 제공하는 기능             (타원)
관계               포함(include) · 확장(extend) · 일반화

상태(State) 다이어그램의 구성 — 이 셋을 구분해 묻는다.

상태(State)      객체가 머무는 조건        전이(Transition) 상태에서 상태로 옮겨가는 것
이벤트(Event)    전이를 일으키는 요인       동작(Action)     전이 시 수행되는 일

함정"객체 전이의 요인"은 이벤트(event) 다. 전이(transition)는 결과이고 상태(state)는 머무는 지점이라, 원인·결과를 바꿔 낸 보기가 나온다.

  • 포함(<<include>>) — 반드시 실행되는 공통 기능(로그인 → 인증)
  • 확장(<<extend>>) — 조건에 따라 선택적으로 실행

함정 — 액터는 사람만이 아니다. 외부 시스템·타이머도 액터가 된다(액터 4회 출제). <<...>> 표기는 스테레오타입이라 부른다.


4. 프로세스 모형과 방법론 (모형 39회)

모형핵심함정
폭포수(Waterfall)단계를 순차 진행, 되돌아가지 않는다가장 오래된 모형, 요구가 명확할 때 유리
프로토타입견본으로 요구를 확정견본은 버리는 것이 원칙
나선형(Spiral)계획 → 위험 분석 → 개발 → 고객 평가 반복위험 분석이 핵심 단계
RADCASE 도구로 초고속 개발60~90일
V 모델폭포수 + 단계별 대응 테스트검증(Verification)·확인(Validation) 짝
4GT4세대 언어·도구로 코드 자동 생성소규모에 적합
애자일짧은 반복, 변화 수용문서보다 동작하는 소프트웨어

함정 — 나선형의 4단계 순서 중 위험 분석을 빼거나 위치를 바꾼 보기가 단골이다.

애자일 — 4가치와 12원칙

프로세스·도구보다  개인과 상호작용
문서보다          동작하는 소프트웨어
계약 협상보다      고객과의 협력
계획 준수보다      변화에 대응

XP(eXtreme Programming) — 5가치 + 실천 항목

5가치   용기 · 단순성 · 의사소통 · 피드백 · 존중
실천 항목내용
Pair Programming둘이 한 화면에서 코딩
Test-Driven Development테스트를 먼저 작성
Refactoring기능을 바꾸지 않고 구조 개선
Continuous Integration수시로 통합
Small Releases작게 자주 배포
Collective Ownership코드는 팀 공동 소유
Planning Game다음 릴리스 범위를 함께 결정
On-site Customer고객이 상주
Coding Standard코딩 표준 준수
Sustainable Pace주 40시간, 초과근무 금지
Simple Design / Metaphor단순 설계 · 공통 은유

기출은 익스트림(5회) 로 등장하며, "XP 의 5가지 가치가 아닌 것" 형태로 정확성·완전성 같은 그럴듯한 단어를 섞는다.

스크럼(Scrum)

요소내용
제품 책임자(PO)백로그 작성·우선순위 결정
스크럼 마스터(SM)팀이 장애 없이 굴러가게 돕는다 (관리자가 아니다)
개발팀5~9명 자율 조직
제품 백로그요구사항 목록, 우선순위 있음
스프린트2~4주 반복 주기
일일 스크럼매일 15분 서서 하는 회의
번다운 차트남은 작업량을 시간축에 그린 차트
스프린트 검토·회고결과 점검 / 프로세스 개선

함정 — 스크럼 마스터는 팀을 지시하는 관리자가 아니다. 그리고 번다운 차트는 남은 일을 그린다(누적 완료가 아니다).

방법론 계열

구조적 방법론     프로세스 중심 · 하향식 · DFD
정보공학 방법론   기업 전체 정보 시스템 · 자료 중심
객체지향 방법론   객체 단위 · 재사용
CBD(컴포넌트 기반) 컴포넌트를 조립 · 재사용성 최고
제품 계열 방법론   임베디드 등 유사 제품군을 공통 자산으로

규모 산정에 쓰는 기능점수(FP) 와 수학적 명세인 정형기법은 5과목 범위에서 다룬다 — 5과목 1절·12절 참고.


5. 객체지향 (객체 23 · 객체지향 19회)

구성 요소

클래스 · 객체(인스턴스) · 속성 · 메서드(연산) · 메시지

특징 다섯

특징
캡슐화(Encapsulation)데이터와 함수를 하나로 묶는다 → 결합도 낮아짐, 재사용 쉬움
정보 은닉(Information Hiding)내부 구현을 감추고 인터페이스만 공개
추상화(Abstraction)공통 성질을 뽑아 표현, 불필요한 세부는 생략
상속(Inheritance)상위 클래스의 속성·연산을 물려받는다
다형성(Polymorphism)같은 메시지에 객체마다 다르게 반응 (오버라이딩·오버로딩)

함정 — 캡슐화의 효과로 "결합도가 낮아진다" 가 맞고 "응집도가 낮아진다"는 틀리다. 추상화(9회)는 "생략"이 핵심이라 정보 은닉과 헷갈리게 배치된다.

설계 원칙 SOLID

원칙
SRP 단일 책임클래스는 하나의 책임만
OCP 개방-폐쇄확장에는 열려 있고 수정에는 닫혀 있다
LSP 리스코프 치환하위 타입은 상위 타입을 대체할 수 있어야
ISP 인터페이스 분리쓰지 않는 메서드에 의존하지 않게 인터페이스를 쪼갠다
DIP 의존 역전구체가 아니라 추상에 의존한다

6. 모듈 설계 — 결합도와 응집도 (모듈 37회, 이 과목 최다)

좋은 설계의 기준 한 줄결합도는 낮게, 응집도는 높게.

결합도(Coupling) — 낮은 것부터

자료(Data) < 스탬프(Stamp) < 제어(Control) < 외부(External) < 공통(Common) < 내용(Content)
   낮음 ←─────────────────── 좋다 ─────────────────────→ 높음(나쁘다)
결합도무엇을 주고받는가
자료(Data)필요한 값만 매개변수로 전달 — 가장 바람직
스탬프(Stamp)배열·구조체 등 자료 구조 전체를 전달(일부만 쓰는데도)
제어(Control)제어 플래그를 넘겨 상대의 논리 흐름을 지시
외부(External)외부에 선언된 데이터·통신 형식을 함께 참조
공통(Common)전역 변수를 공유
내용(Content)다른 모듈의 내부 기능·데이터를 직접 참조 — 최악

함정 — 기출은 결합(15회)·결합도(13회)로 나오며 순서 뒤집기가 가장 많다. "가장 바람직한 결합도"는 자료 결합도, "가장 강한(나쁜) 것"은 내용 결합도. 그리고 공통 결합도 = 전역 변수라는 짝이 반복된다.

응집도(Cohesion) — 높은 것부터

기능적 > 순차적 > 통신적 > 절차적 > 시간적 > 논리적 > 우연적
 높음(좋다) ←──────────────────────────────→ 낮음(나쁘다)
응집도모듈 안의 요소들이
기능적(Functional)하나의 기능만 수행 — 가장 바람직
순차적(Sequential)앞 요소의 출력이 뒤 요소의 입력
통신적(Communicational)같은 입력·출력 자료를 사용
절차적(Procedural)순서대로 실행되지만 자료는 무관
시간적(Temporal)같은 시간대에 실행(초기화 모듈 등)
논리적(Logical)유사한 성격의 작업을 묶어만 놓음
우연적(Coincidental)아무 관련 없는 것들이 모임 — 최악

암기 도우미 — 결합도는 자스제외공내, 응집도는 기순통절시논우 로 외우고, 양쪽 다 앞쪽이 좋은 것임을 함께 기억한다. 응집도가 11회, 결합도가 13회 나왔다.

팬인·팬아웃 (팬인 5 · 팬아웃 6회)

팬인(Fan-In)    나를 호출하는 모듈의 수  ← 많을수록 재사용이 잘 되는 것
팬아웃(Fan-Out) 내가 호출하는 모듈의 수  ← 많을수록 복잡, 단순화 검토

설계 지침은 팬인은 높게, 팬아웃은 낮게다. 공유도(팬인)가 높은 모듈은 오류가 났을 때 영향 범위가 크므로 철저히 검사해야 한다.

계산 문항 주의 — 그림에서 특정 모듈의 팬인/팬아웃을 세라는 형태로 나온다. 화살표가 들어오면 팬인, 나가면 팬아웃이다.


7. 디자인 패턴 — GoF 23개 (패턴 17 · GoF 6회)

분류개수패턴
생성(Creational)5Factory Method · Abstract Factory · Builder · Prototype · Singleton
구조(Structural)7Adapter · Bridge · Composite · Decorator · Facade · Flyweight · Proxy
행위(Behavioral)11Chain of Responsibility · Command · Interpreter · Iterator · Mediator · Memento · Observer · State · Strategy · Template Method · Visitor

자주 나오는 것만 뜻을 붙인다.

패턴한 줄
싱글톤(Singleton)인스턴스를 하나만 만들고 공유 (5회 출제)
팩토리 메서드객체 생성을 서브클래스에 위임
추상 팩토리관련 객체 군(群) 을 함께 생성
빌더복잡한 객체를 단계적으로 조립
프로토타입기존 객체를 복제해 생성
어댑터인터페이스가 다른 클래스를 맞춰 준다
브리지기능과 구현을 분리해 독립적으로 확장
컴포지트전체-부분을 같은 방식으로 다룬다 (트리 구조)
데코레이터객체에 기능을 덧붙인다(상속 없이)
퍼싸드(Facade)복잡한 서브시스템에 단순한 창구 하나
프록시대리자를 두어 접근을 제어
옵서버상태 변화를 구독자에게 통보
스트래티지(전략)알고리즘을 캡슐화해 갈아 끼운다
템플릿 메서드골격은 상위에, 세부는 하위에서 구현
책임 연쇄요청을 다음 처리자에게 넘긴다
상태(State)상태에 따라 행위가 달라지는 것을 객체로
메멘토상태를 저장해 되돌린다

함정 — 분류를 뒤집는 문항이 가장 많다. 프로토타입은 생성, 어댑터·프록시·데코레이터는 구조, 옵서버·전략·상태는 행위다. 그리고 GoF 는 23개이며 분류가 3가지(생성·구조·행위) 다.


8. 아키텍처 패턴

패턴특징
계층화(Layered)상위 계층이 하위 계층을 사용, 관심사 분리
클라이언트-서버요청과 응답, 서버가 자원을 제공
파이프-필터데이터가 필터를 거치며 변환, 재사용 쉬움 (UNIX 파이프)
MVC모델·뷰·컨트롤러 분리, 뷰 교체 쉬움
브로커(Broker)분산된 서비스를 중개자가 연결
마스터-슬레이브마스터가 작업을 분배, 슬레이브가 수행
피어-투-피어각 노드가 클라이언트이면서 서버
이벤트-버스발행자가 이벤트를 올리고 구독자가 받는다
마이크로커널최소 핵심 + 플러그인 확장

소프트웨어 아키텍처 4+1 뷰

논리 뷰(Logical)      기능 요구 — 클래스·객체
프로세스 뷰(Process)  성능·동시성 — 실행 단위
개발 뷰(Development)  모듈 구성 — 개발자 관점
물리 뷰(Physical)     배치 — 하드웨어 노드
+1 유스케이스 뷰      나머지 넷을 묶는 시나리오

함정 — "+1" 에 해당하는 것이 유스케이스(시나리오) 뷰다. 데이터 뷰·보안 뷰 같은 그럴듯한 이름을 섞어 낸다.

아키텍처 품질 속성과 비용 평가

ATAM   아키텍처 트레이드오프 분석
SAAM   변경 용이성·기능성 중심 평가
CBAM   비용·이익 분석 (ATAM 기반)

9. 인터페이스 설계와 미들웨어

EAI 구축 유형 4가지 (EAI 6회 · Hub 6 · Spoke 6회)

유형구조특징
Point-to-Point1:1 직접 연결가장 단순, 연결이 늘면 관리 불가
Hub & Spoke중앙 허브 경유확장·유지보수 쉬움, 허브 장애 시 전체 영향
Message Bus (ESB)버스를 통해 미들웨어로 연계대용량 처리에 유리
Hybrid그룹 내부는 Hub, 그룹 간은 Bus병목 최소화

함정 — Hub & Spoke 의 단점이 단일 장애점(허브) 이라는 점이 자주 나온다.

미들웨어 종류

종류역할
DB 접속(ODBC/JDBC)애플리케이션과 DB 연결
RPC원격 프로시저를 로컬처럼 호출
MOM메시지 기반 비동기 연계
TP-Monitor트랜잭션 처리·감시 (항공 예약 등)
ORB객체 요청 브로커 (CORBA)
WAS동적 웹 콘텐츠·비즈니스 로직 실행

함정 — RPC 는 동기, MOM 은 비동기가 강조점이다. WAS 와 웹 서버(정적 파일)를 바꿔 낸 보기도 나온다.

인터페이스 구현 검증과 보안

연계 데이터 표준화 → 송수신 → 검증
데이터 형식   JSON · XML · YAML · CSV
전송 보안     IPSec · SSL/TLS · S-HTTP
검증 도구     xUnit · STAF · FitNesse · NTAF · Selenium · watir

10. 화면(UI) 설계

UI 설계 원칙 4개

원칙
직관성누구나 쉽게 이해하고 사용
유효성정확하고 완전하게 목적 달성
학습성누구나 쉽게 배우고 익힘
유연성사용자의 요구를 수용하고 오류를 최소화

네 개의 이름을 바꿔 "일관성" 같은 그럴듯한 항목을 넣은 보기가 단골이다.

UI 유형

CLI  명령 줄 인터페이스
GUI  그래픽 (아이콘·마우스)
NUI  자연스러운 동작 — 터치·제스처·음성
VUI  음성 중심
OUI  모든 사물과의 유기적 상호작용

설계 도구 — 상세도 순서

도구무엇
와이어프레임레이아웃 뼈대만 (선·박스)
목업(Mockup)정적인 화면 — 동작하지 않는다
스토리보드화면 + 설명·흐름을 함께 담은 산출물 (개발자 전달용)
프로토타입동작하는 시제품, 상호작용 확인
유스케이스 명세사용자 관점의 기능 시나리오

함정목업은 동작하지 않고, 프로토타입은 동작한다. 이 한 줄이 정답을 가른다.

UI 설계 지침·품질 요구

사용자 중심 · 일관성 · 단순성 · 결과 예측 가능 · 가시성 · 표준화 · 접근성 · 명확성 · 오류 처리
품질 요구사항(ISO 9126)  기능성 · 신뢰성 · 사용성 · 효율성 · 유지보수성 · 이식성

11. CASE 와 재사용

상위(Upper) CASE   계획·요구 분석·설계 지원
하위(Lower) CASE   코드 생성·테스트 지원
통합(Integrated)   전 과정 지원

CASE 의 원천 기술 — 구조적 기법 · 프로토타이핑 · 자동 프로그래밍 · 정보 저장소 · 분산 처리. 정보 저장소(Repository)는 모든 산출물을 통합 저장하는 곳이다.

재사용 방식은 둘이다.

합성 중심(Composition)  블록을 조립 — 부품 조립형
생성 중심(Generation)   명세로부터 생성 — 패턴 구성형

12. 함정 정리 — 부정형에서 틀리는 지점

결합도·응집도 순서 뒤집기 — 결합도는 자료가 가장 낮고(좋다) 내용이 가장 높다(나쁘다). 응집도는 기능적이 가장 높다(좋다). "가장 바람직한 것" 과 "가장 강한 것" 을 구분해 읽어야 한다.

팬인/팬아웃 방향 — 들어오는 화살표가 팬인. 지침은 팬인 ↑ 팬아웃 ↓.

정적/동적 다이어그램 — 클래스·객체·컴포넌트·배치·패키지는 정적, 유스케이스·시퀀스·상태·활동·커뮤니케이션·타이밍은 동적.

집합 vs 합성 — 빈 마름모는 집합(독립 존재), 채운 마름모는 합성(생명주기 공유).

럼바우 순서 — 객체 → 동적 → 기능. 동적은 상태도, 기능은 DFD.

목업 vs 프로토타입 — 목업은 정적, 프로토타입은 동작한다.

인스펙션 — 작성자가 참여하지 않는 가장 공식적인 검토.

자료 사전 기호{} 반복, () 생략, [|] 선택, ** 주석.

GoF 분류 — 프로토타입은 생성. 어댑터·프록시·데코레이터·퍼싸드는 구조.

Hub & Spoke — 장점은 관리 편의, 단점은 허브 단일 장애점.


한눈에 정리

  • 이 과목의 최다 출제 덩어리는 모듈 설계(결합도·응집도·팬인/팬아웃)다이어그램 구분이다
  • 결합도 자스제외공내, 응집도 기순통절시논우양쪽 다 앞이 좋은 것
  • UML 은 관계의 화살표 모양정적/동적 구분이 곧 점수다
  • 모형은 이름과 핵심어 한 개씩 짝지어 둔다 — 나선형은 위험 분석, 프로토타입은 폐기, V 모델은 테스트 대응
  • GoF 23 = 생성 5 + 구조 7 + 행위 11. 분류만 확실히 하면 절반은 맞힌다
  • 요구사항은 기능 / 비기능 분류와 도출·분석·명세·확인 순서
  • UI 는 4원칙(직관성·유효성·학습성·유연성)과 목업 vs 프로토타입
  • 부정형이 27%다. "않은·아닌·먼"에 표시하고 읽는 습관이 가장 싼 점수다
시험 구조·기출 분석2과목 소프트웨어개발