자격증 요약/정보처리기사

[24년 1회 1과목] 정보처리기사 필기 문제 풀이

문성 2026. 1. 13. 15:21

제1과목: 소프트웨어 설계 (1~20번)

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목

1. 객체지향 분석 방법론 중 E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 것은?

① Coad와 Yourdon 방법

② Booch 방법

③ Jacobson 방법

④ Wirfs-Brocks 방법

객체지향 분석의 방법론
Rumbaugh (럼바우) 방법 : 가장 일반적으로 사용되는 방법으로 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행
Booch (부치) 방법 : 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의
Jacobson 방법 : Use case를 강조하여 사용하는 분석 방법
Coad와 Yourdon 방법 : E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법
Wirfs-Brock 방법 : 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법

답: 1번
럼바우는 객동기
코드 에러(coad-ER)
미시적/거시적 →부치
 

2. 트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어하는 미들웨어는?

① RPC

② ORB

③ TP monitor

④ HUB

미들웨어 : '운영체체-응용프로그램', '서버-클라이언트' 사이에서 다양한 서비스를 제공
DB: 클라이언트와 원격 DB 연결 (예: ODBC, JDBC).
RPC (원격 프로시저 호출, Remote Procedure call): 다른 컴퓨터의 프로시저를 내 것처럼 호출
MOM (메시지 지향 미들웨어, Message Oriented Middleware): 메시지 기반의 비동기 서비스 제공.
TP Monitor (Transaction Processing Monitor): 항공권 예약 등 트랜잭션 처리 감시/제어.
ORB (객체 요청 브로커, Object Request Broker): 객체지향 시스템에서 객체 간 통신 지원 (예: CORBA).
WAS (웹 애플리케이션 서버, Web Application Server): 동적 콘텐츠 처리를 위한 미들웨어 (예: WebLogic, WebSphere)

답: 3번
※ HUB : 여러 대의 컴퓨터를 연결하여 네트워크를 구성하는 물리적 장비로, 미들웨어의 분류보다는 네트워크 하드웨어에 해당
 

3. 자료 흐름도(Data Flow Diagram)의 구성 요소로 옳은 것은?

① process, data flow, data store, comment

② process, data flow, data store, terminator

③ data flow, data store, terminator, data dictionary

④ process, data store, terminator, mini-spec

자료 흐름도 (DFD) : 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법으로 자료 흐름 그래프, 버블 차트라고도 한다.
 - 프로세스 ( Process ) : 원
 - 자료 흐름 ( Data Flow ) : 화살표
 - 자료 저장소( Data Store ) : 평행선
 - 단말 (Terminator ) : 사각형

※DFD는 시간의 흐름을 표현하지 못 한다. (20년 4회 기출)

답: 2번
 

4. 객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?

① Encapsulation

② Class

③ Method

④ Instance

Encapsulation (캡슐화) : 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것
 - 캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐(정보 은닉)되어 외부에서의 접근이 제한적이기 때문에 외부 모듈의 변경으로 인한 파급 효과가 적다.
 - 캡슐화된 객체들은 재사용이 용이하다.
 - 객체들 간의 메시지를 주고받을 때 상태 객체의 세부 내용은 알 피룡가 없으므로 인터페이스가 단순해지고, 객체 간의 결합도가 낮아진다.
Class (클래스) : 객체를 만들기 위한 설계도 또는 틀입니다. 공통된 속성과 연산을 갖는 객체들의 집합을 정의한 것입니다.
Method (메서드) : 객체가 수행하는 구체적인 연산 또는 함수입니다. 메시지를 받았을 때 객체가 어떻게 행동할지를 정의합니다.
Instance (인스턴스) : 클래스라는 설계도를 통해 메모리에 실제로 생성된 객체를 의미합니다.
 - 예: '붕어빵 틀'이 클래스라면, 구워져 나온 '붕어빵'은 인스턴스입니다.

답: 1번
캡슐화(Encapsulation) : "하나로 묶는다", "정보 은닉" 
클래스(Class) : "설계도", "틀"
인스턴스(Instance) : "실제 생성된 실체"
메서드(Method) : "동작", "행위"
 

5. 다음 중 자료 사전(Data Dictionary)에서 선택의 의미를 나타내는 것은?

① [ ]

② { }

③ +

④ =

자료 사전 : 자료 흐름도(DFD)에 있는 자료를 더 자세히 정의하기 위해 기호를 사용하여 그 구조를 명시하는 도구
= (정의, Definition): "~로 구성되어 있다" (is composed of) 
+ (연결, Sequence): "그리고" (and) 
[ | ] (선택, Selection): "또는" (or). 여러 항목 중 하나가 선택됨을 의미합니다. 
{ } (반복, Iteration): 항목이 반복됨을 의미합니다. 
( ) (생략, Optional): 해당 자료가 있을 수도 있고 없을 수도 있음을 의미합니다.
* * (주석, Comment): 자료에 대한 보충 설명을 기록합니다.

답: 1번
 

6. 소프트웨어 개발 단계에서 요구 분석 과정에 대한 설명으로 거리가 먼 것은?

① 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.

② 개발 비용이 가장 많이 소요되는 단계이다.

③ 자료흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.

④ 보다 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있다.

요구사항 분석 : 소프트웨어 개발의 실제적인 첫 단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동
 - 사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
 - 사용자의 요구를 정확하게 추출하여 목표를 정하고, 어떤 방식으로 해결할 것인지를 결정
 - 요구사항 분석을 통한 결과는 소프트웨어 설계 단계에서 필요한 기본적인 자료가 되므로 사용자의 요구사항을 정확하고 일관성 있게 분석하여 문서화해야한다.
 - 요구사항 분석을 위해 애자일 방법, UML, 자료 흐름도, 자료 사전, 소단위 명세서, 개체 관계도, 상태 전이도, 제어 명세서 등의 도구를 이용

요구사항 분석 시에 필요한 기술 (20년 2회)
 - 청취와 인터뷰 질문 기술
 - 분석과 중재기술
 - 관찰 및 모델 작성 기술
 - (오답) 설계 및 코딩 기술, 설계 명세서 작성 → 요구사항 분석은 사용자의 요구사항을 파악하여 문서화 하는 단계이므로 설계와 코딩은 다음에 오는 과정임

답: 2번
비용이 가장 많이 드는 곳은 유지보수()단계이다.
 

7. 럼바우(Rumbaugh) 분석 기법에서 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링은?

① Object

② Dynamic

③ Functional

④ Static

럼바우(Rumbaugh) 분석 기법 : 객체 모델링 → 동적 모델링 → 기능 모델링 순으로 이루어진다. (객동기)
객체 (Object) 모델링 : 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시하는 것

동적 (Dynamic)
모델링 : 상태 다이어그램(상태도)을 이용하여 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링

기능 (Functional)
모델링 : 자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링

답: 1번
(주요 키워드)
객체 모델링 : 객체, 속성, 연산, 구조, 정보 모델링
동적 모델링 : 상태변화, 이벤트, 시간의 흐름, STD
기능 모델링 : 자료 흐름, 프로세스, DFD, 결과물
 

8. UML(Unified Modeling Language)에 대한 설명 중 틀린 것은?

① 기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use case Diagram을 사용한다.

② 정적 모델은 객체, 속성, 연관관계, 오퍼레이션의 시스템의 구조를 나타내며, UML에서는 Class Diagram을 사용한다.

③ 동적 모델은 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용한다.

④ State Diagram은 객체들 사이의 메시지 교환을 나타내며, Sequence Diagram은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작순서를 나타낸다.

UML다이어그램 종류
 - 정적 : 래스, 체, 포넌트, 치, 합구조, 키지 (클객컴배복패)
 - 동적 : 유스케이스, 상태, 활동, 시퀸스, 커뮤니케이션

정적 다이어그램 (구조적 다이어그램) : 시스템의 정지된 상태, 구조를 표현
 - 클래스(Class) : 시스템 내 클래스들의 속성, 메서드 및 클래스 간의 관계를 표현하는 가장 대표적인 다이어그램
 - 객체(Object) : 특정 시점에 클래스에 의해 생성된 인스턴스(객체)들 사이의 관계를 표현
 - 컴포넌트(Component) : 물리적인 컴포넌트(파일, 라이브러리 등) 간의 구조와 의존 관계를 표현
 - 배치(Deployment) : 결과물, 프로세스 등이 실제 물리적인 하드웨어(노드)에 어떻게 배치되는지 표현
 - 복합구조(Composite Structure) : 클래스나 컴포넌트 내부의 복잡한 구조를 상세히 표현
 - 패키지(Package) : 모델 요소들을 그룹화한 패키지 간의 의존 관계를 표현

동적 다이어그램 (행위 다이어그램) : 시스템의 변화, 객체 간의 상호작용이나 동작을 표현
 - 유스케이스(Use Case) : 사용자(Actor)와 시스템 간의 상호작용을 기능 관점에서 표현하며, 요구사항 분석에 사용. (+기능모델링)
 - 순차/시퀀스(Sequence) : 객체 간에 주고받는 메시지를 시간의 흐름에 따라 순차적으로 표현.
 - 커뮤니케이션(Communication) : 메시지뿐만 아니라 객체들 간의 연관 관계를 중심으로 상호작용을 표현
 - 상태(State) : 객체가 가질 수 있는 상태와 상태 간의 전이 과정을 표현
 - 활동(Activity) : 시스템이 수행하는 로직의 흐름, 처리 순서, 조건 분기 등을 흐름도(Flowchart)처럼 표현
 - 상태 머신(State Machine) : 이벤트에 따른 객체의 상태 변화를 모델링

답: 4번
보기의 설명이 반대
Sequence Diagram 은 객체들 사이의 메시지 교환을 나타내며
State Diagram 은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작순서를 나타낸다
 

9. 사용자 인터페이스(UI)의 특징으로 틀린 것은?

① 구현하고자 하는 결과의 오류를 최소화한다.

② 사용자의 편의성을 높임으로써 작업시간을 증가시킨다.

③ 막연한 작업 기능에 대해 구체적인 방법을 제시하여 준다.

④ 사용자 중심의 상호 작용이 되도록 한다.

사용자 인터페이스(UI)의 특징
 - 사용자의 만족도에 가장 큰 영향을 미치는 중요한 요소로, 소프트웨어 영역 중 변경이 가장 많이 발생한다.
 - 사용자의 편리성과 가독성을 높임으로써 작업 시간을 단축시키고 업무에 대한 이해도를 높여준다.
 - 최소한의 노력으로 원하는 결과를 얻을 수 있게 한다.
 - 사용자 중심으로 설계되어 사용자 중심의 상호 작용이 되도록 한다.
 - 수행 결과를 오류를 줄인다.
 - 사용자의 막연한 작업 기능에 대해 구체적인 방법을 제시해 준다.
 - 정보 제공자와 공급자 간의 매개 역할을 수행한다.
 - 사용자 인터페이스를 설계하기 위해서는 소프트웨어 아키텍처를 반드시 숙지해야 한다.

답: 2번

 

10. GoF(Gangs of Four) 디자인 패턴에 대한 설명으로 틀린 것은?

① Factory Method Pattern은 상위클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위클래스에서 인스턴스를 생성하도록 하는 방식이다.

② Prototype Pattern은 Prototype을 먼저 생성하고 인스턴스를 복제하여 사용하는 구조이다.

③ Bridge Pattern은 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다.

④ Mediator Pattern은 객체간의 통제와 지시의 역할을 하는 중재자를 두어 객체지향의 목표를 달성하게 해준다.

추상 팩토리 (Factory Method) 패턴 = Virtual-Constructor 패턴
 - 객체 생성을 서브 클래스(하위 클래스)에서 결정하도록 위임하는 패턴입니다.
 - 키워드 : 캡슐화된 생성
 → (20년 2회) 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정하도록 하는 것

프로토타입 (Prototype) 패턴
 - 원본 객체를 복사(Clone)하여 새로운 객체를 생성하는 방식입니다. 객체 생성 비용이 클 때 유용합니다.

중재자 (Mediator) 패턴
 - 객체들이 직접 서로 통신하지 않고, '중재자(Mediator)' 객체를 통해서만 통신하게 하여 결합도를 낮추는 패턴입니다.

브릿지 (Bridge) 패턴
 - 구현부에서 추상층을 분리하여, 서로 독립적으로 확장할 수 있게 구성하는 패턴입니다. 기능과 구현을 두 개의 별도 클래스 계층으로 나누는 것이 핵심입니다.

어댑터 (Adapter) 패턴
 - 이름 그대로 '변환기'처럼 서로 다른 인터페이스를 가진 클래스들이 함께 작동할 수 있도록 중간에서 맞춰주는 역할을 합니다.

※생성(Creational) 패턴 (5개): 상 팩토리, 더, 토리 메서드, 로토타입, 글톤 (암기: 추빌팩프싱)
※구조(Structural) 패턴 (7개): 댑터, 릿지, 포지트, 코레이터, 사드, 라이웨이트, 록시 (암기: 어브컴데퍼플프)
※행위(Behavioral) 패턴 (11개): 책임 연쇄, 커맨드, 인터프리터, 반복자, 중재자, 메멘토, 옵저버, 상태, 전략, 템플릿 메서드, 방문자

답: 3번
보기는 어댑터 패턴에 대한 설명

 

11. 익스트림 프로그래밍(XP)에 대한 설명으로 틀린 것은?

① 빠른 개발을 위해 테스트를 수행하지 않는다.

② 사용자의 요구사항은 언제든지 변할 수 있다.

③ 고객과 직접 대면하며 요구사항을 이야기하기 위해 사용자 스토리(User Story)를 활용할 수 있다.

④ 기존의 방법론에 비해 실용성(Pragmatism)을 강조한 것이라고 볼 수 있다.

XP(eXtreme Programming) 는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발과정을 반복 극대화하여 개발 생산성을 향사시키는 방법
 - XP는 짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다.
 - 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높인다.
 - 애자일 개발 방법론을 기반으로 한다.
 - XP의 핵심가치 5가지 : 의사소통, 단순성, 용기, 존중, 피드백 (Communication, Simplivity, Coutage, Respect, Feedback)

XP의 주요 실천 사항
Pair Programming (짝 프로그래밍): 두 명이서 한 컴퓨터로 함께 코딩.
Collective Ownership (공동 코드 소유): 누구든지 코드를 수정할 수 있음.
Continuous Integration (지속적 통합): 수시로 코드를 합치고 빌드함.

답: 1번
테스트를 수행하지 않는 기법은 없다.
 

12. 대표적으로 DOS 및 Unix 등의 운영체제에서 조작을 위해 사용하던 것으로, 정해진 명령 문자열을 입력하여 시스템을 조작하는 사용자 인터페이스(User Interface)는?

① GUI(Graphical User Interface)

② CLI(Command Line Interface)

③ CUI(Cell User Interface)

④ MUI(Mobile User Interface)

CLI (Command Line Interface) : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스 (직접 명령어를 텍스트 형태로 입력)
GUI (Graphicla User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
NUI (Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스 (사람의 신체 부위 이용)
VUI (Voice User Interface) : 사람의 음성으로 기기를 조작하는 인터페이스
OUI (Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스로, 소프트웨어가 아닌 하드웨어 분야에서 사물 인터넷, 가상현실, 증강현실, 혼합현실 등과 함께 대두되고 있음.


답: 2번
 

13. UML 다이어그램 중 정적 다이어그램이 아닌 것은?

① 컴포넌트 다이어그램

② 배치 다이어그램

③ 순차 다이어그램

④ 패키지 다이어그램

UML다이어그램 종류
 - 정적 : 래스, 체, 포넌트, 치, 합구조, 키지 (클객컴배복패)
 - 동적 : 유스케이스, 상태, 활동, 시퀸스, 커뮤니케이션

정적 다이어그램 (구조적 다이어그램) : 시스템의 정지된 상태, 구조를 표현
 - 클래스(Class) : 시스템 내 클래스들의 속성, 메서드 및 클래스 간의 관계를 표현하는 가장 대표적인 다이어그램
 - 객체(Object) : 특정 시점에 클래스에 의해 생성된 인스턴스(객체)들 사이의 관계를 표현
 - 컴포넌트(Component) : 물리적인 컴포넌트(파일, 라이브러리 등) 간의 구조와 의존 관계를 표현
 - 배치(Deployment) : 결과물, 프로세스 등이 실제 물리적인 하드웨어(노드)에 어떻게 배치되는지 표현
 - 복합구조(Composite Structure) : 클래스나 컴포넌트 내부의 복잡한 구조를 상세히 표현
 - 패키지(Package) : 모델 요소들을 그룹화한 패키지 간의 의존 관계를 표현

동적 다이어그램 (행위 다이어그램) : 시스템의 변화, 객체 간의 상호작용이나 동작을 표현
 - 유스케이스(Use Case) : 사용자(Actor)와 시스템 간의 상호작용을 기능 관점에서 표현하며, 요구사항 분석에 사용. (+기능모델링)
 - 순차/시퀀스(Sequence) : 객체 간에 주고받는 메시지를 시간의 흐름에 따라 순차적으로 표현.
 - 커뮤니케이션(Communication) : 메시지뿐만 아니라 객체들 간의 연관 관계를 중심으로 상호작용을 표현
 - 상태(State) : 객체가 가질 수 있는 상태와 상태 간의 전이 과정을 표현
 - 활동(Activity) : 시스템이 수행하는 로직의 흐름, 처리 순서, 조건 분기 등을 흐름도(Flowchart)처럼 표현
 - 상태 머신(State Machine) : 이벤트에 따른 객체의 상태 변화를 모델링

답: 3번
정적 다이어그램 : 클객컴복패
이거 아니면 동적 다이어그램
 

14. 다음 내용이 설명하는 UI 설계 도구는?

- 디자인, 사용 방법 설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형
- 시각적으로만 구성 요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않음

 

① 스토리보드(Storyboard)

② 목업(Mockup)

③ 프로토타입(Prototype)

④ 유스케이스(Usecase)

UI설계 도구
와이어프레임 (Wireframe)
 - 기획 단계의 초기에 제작하는 것으로, 페이지에 대한 개략적인 레이아웃이나 UI 요소 등에 대한 뼈대를 설계하는 단계
 - 개발자나 디자이너 등이 레이아웃을 협의하거나 현재 진행 상태 등을 공유하기 위해 와이어프레임을 사용
 - 와이어프레임 툴 : 손그림, 파워포인트, 키노트, 스케치, 일러스트, 포토샵 등

목업 (Mockup)
 - 디자인, 사용 방법 설명, 평가 등을 위해 와이어프레임보다 좀 더 실제 화면과 유사하게 만든 정적인 형태의 모형
 - 시각적으로만 구성 요소를 배치하는 것으로 실제로 구현되지 않는다.
 - 목업 툴 : 파워 목업, 발사믹 목업 등

스토리보드 (Story Board)
 - 와이어프레임에 콘텐츠에 대한 설명, 페이지 간 이동 흐름 등을 추가한 문서(설계 문서)
 - 디자이너와 개발자가 최종적으로 참고하는 작업 지침서로, 정책, 프로세스, 콘텐츠 구성, 와이어프레임, 기능 정의 등 서비스 구축을 위한 모든 정보가 들어있다.
 - 스토리보드 툴 : 파워포인트, 키노트, 스케치, Axure 등

프로토타입 (Protoype)
 - 와이어프레임이나 스토리보드 등에 인터렉션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형이다.
 - 프로토타입은 사용성 테스트나 작업자 간 서비스 이해를 위해 작성하는 샘플

유스케이스 (Use Case)
 - 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술
 - 사용자의 요구사항을 빠르게 파악함으로써 프로젝트의 초기에 시스템의 기능적인 요구를 결정하고 그 결과를 문서화(명세서)할 수 있다

답: 2번

 

15. 요구사항 분석에서 비기능적(Nonfunctional) 요구에 대한 설명으로 옳은 것은?

① 시스템의 처리량(Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.

② '차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다.

③ 시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.

④ '금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다'는 비기능적 요구이다.

요구사항 정의
기능적 요구사항 : 무엇을 하는가 (예: 로그인하기, 결제하기, 성적 계산하기)
비기능적 요구사항 : 어떻게 하는가 (예: 빠르게, 안전하게, 고장 안 나게, 특정 OS에서 돌아가게)

※비기능적 요구사항
① 시스템의 처리량(Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당한다. (핵심 요소)
② '차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다. (성능, 만족도 특성)
③ 시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당한다. (품질 특성)

※기능적 요구사항
④ '금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다'는 기능적 요구이다.


답: 2번
3초 이내에 보여야 한다. 는 성능에 대한 기준 = 비기능적 요구사항
 

16. 명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것은?

① Model

② Sheet

③ Component

④ Cell

컴포넌트 (Component) : 소프트웨어 개발에서 독립적인 기능을 수행하는 단위 모듈
 - 독립성 : 다른 부분과 독립적으로 존재하고 교체될 수 있음
 - 재사용성 : 미리 만들어진 부품처럼 다른 시스템에서도 가져다 쓸 수 있음
 - 캡슐화(인터페이스) : 내부 구현은 숨겨져 있으며, 오직 정의된 인터페이스를 통해서만 소통함

모델 (Model) : 시스템의 구조나 동작을 추상화하여 표현한 것 (예: 클래스 다이어그램 등)

시트 (Sheet) : 주로 엑셀 같은 스프레드시트의 작업 단위나 도면의 한 장을 의미하며, 소프트웨어 부품 단위와는 거리가 멈

셀 (Cell) : 표나 그리드에서 데이터를 담는 가장 작은 단위

답: 3번
(주요 키워드)
컴포넌트 : "독립적인 실체", "부품화 및 재사용", "인터페이스를 통해서만 접근"
 

17. 다음 중 SOLID 원칙이라고 불리는 객체지향 설계 원칙에 속하지 않는 것은?

① ISP(Interface Segregation Principle)

② DIP(Dependency Inversion Principle)

③ LSP(Liskov Substitution Principle)

④ SSO(Single Sign On)

객체지향 설계 원칙 (SOLID)
단일 책임 원칙 (SRP, Single Responsibility) : 객체는 단 하나의 책임만 가져야 한다.
개방-폐쇄 원칙 (OCP, Open-Closed) : 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야한다.
리스코프 치환 원칙 (LSP, Liskov Substitution) : 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다.
인터페이스 분리 원칙 (ISP, Interface Segregation) : 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다.
의존 역전 원칙 (DIP, Dependency Iversion) : 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높ㅇ느 클래스와 의존 관계를 맺어야 한다.

※ SSO(Single Sign On) : 한 번의 로그인으로 여러 개의 서비스를 이용할 수 있게 해주는 인증 시스템 기술(보안/인증 용어)

답: 4번
 

18. UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호로 맞는 것은?

① << >>

② ( ( ) )

③ { { } }

④ [ [ ] ]

스테레오 타입 : UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용
 - 겹화살괄호 ' << >> '사이에 표현할 형태를 기술
 - ex. <<include>>, <<extend>>, <<interface>>, <<exception>>, <<constructor>>

답: 1번
확장모델, 새로운 요소 정의 → << >>
 

19. CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?

① 구조적 기법

② 프로토타이핑 기술

③ 정보 저장소 기술

④ 일괄처리 기술

CASE : 소프트웨어 생명 주기(SDLC) 전 단계에 걸쳐 필요한 분석, 설계, 구현, 검사 및 디버깅 과정을 컴퓨터와 소프트웨어 도구를 사용하여 자동화하는 것을 의미

CASE의 원천 기술
 - 구조적 기법 (Structured Methods) : 소프트웨어를 논리적인 구조로 나누어 설계하는 방식
 - 프로토타이핑 기술 (Prototyping) : 시제품을 빠르게 만들어보는 기술
 - 정보 저장소 기술 (Repository) : 개발 과정에서 발생하는 모든 정보(설계도, 소스코드 등)를 중앙에서 관리하는 DB기술

CASE 도구의 주요 이점
 - 표준화 : 개발자마다 제각각인 설계를 표준화할 수 있음
 - 생산성 향상 : 자동화 도구를 사용하므로 개발 속도가 빨라짐
 - 품질 향상 : 설계의 모순을 도구가 체크해주므로 결함이 줄어듦
 - 유지보수 용이 : 문서화가 자동으로 이루어져 나중에 고치기 쉬움

답: 4번
일괄처리는 데이터를 모아두었다가 한꺼번에 처리하는 운영체제의 방식 중 하나일 뿐.
소프트웨어 설계를 '자동화'하는 CASE의 핵심 원천 기술과는 거리가 멈
※ CASE 의 핵심 키워드 : 자동화, 표준화, 공유(저장소)
 

20. 다음 중 상태 다이어그램에서 객체 전이의 요인이 되는 요소는?

① event

② state

③ message

④ transition

상태(State) 다이어그램 : 객체가 가질 수 있는 상태와 상태 간의 전이 과정을 표현
 - event (이벤트) : 객체의 상태를 변화시키는 외부의 자극이나 사건을 의미(전이를 일으키는 직접적인 요인)
 - state (상태) : 객체가 존재할 수 있는 결과적인 모습 (전이의 전/후 결과)
 - message (메시지) : 주로 순차 다이어그램에서 객체들 간에 주고받는 통신을 의미
 - transition (전이) : 상태가 변하는 현상 그 자체를 말함 (이벤트에 의해 A상태에서 B상태로 옮겨가는 과정)

답: 1번

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목