제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과목 |
'자격증 요약 > 정보처리기사' 카테고리의 다른 글
| [23년 1회 1과목] 정보처리기사 필기 문제 풀이 (0) | 2026.01.14 |
|---|---|
| [23년 2회 1과목] 정보처리기사 필기 문제 풀이 (2) | 2026.01.14 |
| [23년 3회 1과목] 정보처리기사 필기 문제 풀이 (1) | 2026.01.13 |
| [24년 2회 1과목] 정보처리기사 필기 문제 풀이 (0) | 2026.01.13 |
| [24년 3회 1과목] 정보처리기사 필기 문제 풀이 (1) | 2026.01.12 |