🧩 정보처리기사 — 소프트웨어 설계
정보처리기사 필기 1과목 '소프트웨어 설계' 빈출 개념 50문항 (한국어)
전체 문제·정답 (50)
- 소프트웨어 개발 생명주기(SDLC) 모델의 예는?폭포수, 프로토타입, 나선형, 애자일
- 폭포수 모델의 특징은?단계를 순차적으로 진행하며 앞 단계로 되돌아가기 어려움
- 나선형 모델의 핵심은?위험 분석을 반복하며 점진적으로 개발
- 애자일의 핵심 가치는?계획보다 변화 대응, 문서보다 동작하는 소프트웨어
- 스크럼에서 짧은 개발 주기를 뜻하는 것은?스프린트
- 스크럼의 세 가지 역할은?제품책임자(PO), 스크럼마스터, 개발팀
- XP(익스트림 프로그래밍)의 실천법 예는?짝 프로그래밍, 테스트 주도 개발(TDD)
- 요구사항의 두 종류는?기능 요구사항, 비기능 요구사항
- 비기능 요구사항의 예는?성능, 보안, 사용성 등
- 요구사항 개발 과정의 순서는?도출 → 분석 → 명세 → 확인
- UML이란?객체지향 설계를 표준화한 통합 모델링 언어
- 사용자와 시스템의 상호작용을 표현하는 UML 다이어그램은?유스케이스 다이어그램
- 클래스와 그 관계를 표현하는 UML 다이어그램은?클래스 다이어그램
- 객체 간 메시지 흐름을 시간순으로 표현하는 다이어그램은?시퀀스 다이어그램
- 시스템의 상태 변화를 표현하는 다이어그램은?상태 다이어그램
- UML 관계 중 '일반화'는 무엇인가?상속(is-a) 관계
- 객체지향의 4대 특징은?캡슐화, 상속, 다형성, 추상화
- 캡슐화란?데이터와 기능을 하나로 묶고 내부 구현을 숨김
- 다형성이란?같은 메시지에 객체마다 다르게 응답하는 것
- 추상화란?핵심만 뽑아 단순화해 표현하는 것
- 응집도란?모듈 내부 요소들이 관련된 정도(높을수록 좋음)
- 결합도란?모듈 간 의존 정도(낮을수록 좋음)
- 좋은 모듈 설계의 기준은?응집도는 높게, 결합도는 낮게
- 디자인 패턴이란?자주 나오는 설계 문제의 재사용 가능한 해결책
- 디자인 패턴의 3가지 분류는?생성, 구조, 행위 패턴
- 객체 생성을 하나로 제한하는 생성 패턴은?싱글턴(Singleton)
- 객체 생성을 서브클래스에 위임하는 패턴은?팩토리 메서드
- 한 객체 변화에 다른 객체들이 자동 반응하는 행위 패턴은?옵서버(Observer)
- 서로 다른 인터페이스를 연결하는 구조 패턴은?어댑터(Adapter)
- 소프트웨어 아키텍처 스타일의 예는?계층형, 클라이언트-서버, MVC, 파이프-필터
- MVC 패턴의 구성은?모델(Model), 뷰(View), 컨트롤러(Controller)
- 계층형 아키텍처의 특징은?기능을 계층으로 나눠 상위가 하위를 호출
- 소프트웨어 재사용을 위한 부품화 단위는?컴포넌트
- 느슨한 결합으로 서비스를 조합하는 아키텍처는?서비스 지향(SOA)/마이크로서비스
- UI 설계의 기본 원칙은?직관성, 유효성, 학습성, 유연성
- 명령어 기반 UI와 그래픽 기반 UI를 각각 무엇이라 하나?CLI, GUI
- 프로토타입을 만드는 이유는?요구사항을 빠르게 확인·수정하기 위해
- 데이터의 흐름을 표현하는 구조적 분석 도구는?자료 흐름도(DFD)
- 자료의 정의를 정리한 것은?자료 사전(Data Dictionary)
- 객체지향 분석 방법론의 예는?럼바우(OMT), 부치, 야콥슨
- 럼바우 분석의 3가지 모델링은?객체·동적·기능 모델링
- CASE 도구란?소프트웨어 개발을 자동화·지원하는 도구
- 설계 산출물을 검토하는 활동의 예는?리뷰, 워크스루, 인스펙션
- 인터페이스 데이터 형식 표준의 예는?JSON, XML
- 미들웨어란?서로 다른 시스템·소프트웨어를 연결해 주는 중간 소프트웨어
- 정형 명세 기법이란?수학적 표기로 요구사항을 명세(예: Z, VDM)
- 모듈의 독립성을 높이려면?응집도를 높이고 결합도를 낮춤
- 객체지향에서 클래스란?객체를 만들기 위한 설계도(틀)
- 객체지향에서 인스턴스란?클래스로부터 생성된 실제 객체
- 요구사항 명세서의 조건은?명확성·일관성·검증 가능성
CSV를 Mem8 앱에서 가져오면 FSRS 간격반복으로 학습할 수 있어요 (Anki 호환 앱에서도 사용 가능).