[정보처리기사 실기 기출문제] 4장. 서버 프로그램 구현 - 3
▶다음 중 공통 모듈의 재사용 규모에 따른 분류에 해당하는 것을 모두 고르시오.
ⓐ 컴포넌트
ⓑ 더미 코드
ⓒ 함수와 객체
ⓓ 애플리케이션
ⓔ 주석
ⓕ 파일 구조
[ ⓐ 컴포넌트 / ⓒ 함수와 객체 / ⓓ 애플리케이션 ]
▶편집기, 컴파일러, 디버거 등의 다양한 툴을 하나의 인터페이스로 통합하여 제공하는 통합 개발 환경 도구 중 하나로, JetBrains에서 만들었으며 멀티 플랫폼을 기반으로 실행되고, Java, JSP, XML, GO, Kotiln 등의 다양한 언어를 지원하는 소프트웨어는?
[ IDEA ]
▶IPC(Inter-Process Communication)의 메서드 중 ( )는 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스 간에 통신하는 방식이다.
[ socket ]
▶배치 프로그램의 필수 요소 중 ( )는 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입 없이 수행되어야 하는 것을 의미한다.
[ 자동화 ]
▶스프링 프레임워크로 개발되는 응용프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리로 수행할 작업과 수행 시간을 관리하는 요소들을 분리하여 일괄 처리 작업에 유연성을 제공하는 배치 스케줄러(Batch Scheduler)는?
[ Quartz ]
▶다음 내용이 설명하는 용어는?
- 모듈 간 통신 방식을 구형하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합이다.
- 복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현이 가능하다.
- 대표적인 메서드로 Shared Memory, Socket, Semaphores 등이 있다.
[ IPC ; Inter-Process Communication ]
▶공통 모듈 명세 시 해당 기능에 대해 일관되게 이해되고 한 가지로 해석될 수 있도록 작성해야 한다는 명세 기법 원칙은?
[ 명확성 ; Clarity ]
▶객체지향 기법에서 연관성(Relationship)을 나타내는 표현들 중 공통적인 성질들로 추상화한 상위 객체를 구성하는 것으로, 'is, a'로 표현되는 연관성은?
[ 일반화 ; Generalization ]
▶객체지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하며, 데이터를 추상화하는 단위로 사용되는 객체지향 구성 요소는?
[ 클래스 ; Class ]
▶소프트웨어 개발에 관한 다음 설명에 해당하는 용어는?
- 기업에서 일반적으로 사용하는 여러 기능들을 통합하여 제공하는 소프트웨어를 의미한다.
- 소프트웨어를 구입하여 기업 환경에 적합하게 커스터마이징(Customizing)하여 사용한다.
- 기능 요구사항을 70% 이상 충족시키는 소프트웨어가 있을 때만 사용하는 것이 적합하다.
[ 패키지 소프트웨어 ; Package Software ]
▶다음 설명이 가리키는 객체지향 기법의 구성 요소는?
- 객체들 간의 상호작용에 사용되는 수단으로, 객체의 동작이나 연산을 일으키는 외부의 요구 사항이다.
- 이를 받은 객체는 대응하는 연산을 수행하여 예상된 결과를 반환한다.
[ 메시지 ; Message ]
▶편집기, 컴파일러, 디버거 등 개발에 필요한 다양한 툴을 하나의 인터페이스로 통합하여 제공하는 소프트웨어 또는 서비스를 의미한다. 코드를 자동으로 생성해줄 뿐만 아니라 컴파일 과정까지 자동으로 수행해주며, 그 밖의 여러 기능도 다운로드하여 추가하는 것이 가능한 개발 지원 도구는?
[ 통합 개발 환경 ; IDE, integrated Development Environment ]
▶다음 보기에서 애플리케이션 개발 과정 중 상위 설계에 포함되는 작업을 고르면?
ⓐ 자료 구조 설계
ⓑ 유지 및 보수
ⓒ 패키징
ⓓ 아키텍처 설계
[ ⓓ 아키텍처 설계 ]
[정보처리기사 실기 기출문제] 4장. 서버 프로그램 구현 - 3
▶특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도는?
[ 시간적 응집도 ; Temporal Cohesion ]
▶메시지에 의해 클래스가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 클래스가 가지고 있는 고유한 특성으로 응답할 수 있는 능력으로, 응용 프로그램 상에서 하나의 함수나 연산자가 두 개 이상의 서로 다른 클래스의 인스턴스들을 같은 클래스에 속한 인스턴스처럼 수행할 수 있도록 하는 객체지향 기법의 특징은?
[ 다형성 ; Polymorphism ]
▶다음의 설명에 가장 부합하는 용어는?
- 여러 프로그램에서 공통적으로 사용할 수 있는 모듈을 의미하며, 자주 사용되는 계산식이나 사용자 인증과 같은 기능들이 여기에 해당한다.
- 재사용성의 확보와 중복 개발 회피를 통해 프로그램 개발에 소모되는 자원을 절약할 수 있다.
- 구현 시 다른 개발자들이 해당 기능을 명확히 이해할 수 있도록 명세 기법을 준수해야 한다.
[ 공통 모듈 ]
▶추상화의 유형 중 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 유형은?
[ 데이터 추상화 ]
▶공통 모듈의 명세 기법 중 일관성(Consistency)에 대해 간략히 서술하시오.
[ 일관성은 공통 기능들 간 상호 충돌이 발생하지 않도록 작성하는 기법이다. ]
▶모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합 도로, 어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고, 호출받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식의 결합도는?
[ 자료 결합도 ; Data Coupling ]
▶객체지향 분석 방법론 중 E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 기법은?
[ Coad와 Yourdon 방법 ]
▶GoF(Gangs of Four) 디자인 패턴 분류 3가지는?
[ 생성 패턴, 구조 패턴, 행위 패턴 ]
▶IPC의 메서드 중 ( )는 공유 가능한 메모리를 구성하여 다수의 프로세스가 통신하는 방식이다.
[ Shared Memory ]
▶소프트웨어 아키텍처의 품질을 평가하는 데 사용되는 요소들 중 업무적인 측에서 평가되어야 할 요소를 다음 보기에서 고르면?
ⓐ 성능
ⓑ 시장 적시성
ⓒ 정확성
ⓓ 비용과 혜택
ⓔ 확장성
ⓕ 목표 시장
[ ⓑ 시장 적시성 / ⓓ 비용과 혜택 / ⓕ 목표 시장 ]
▶동일한 계열의 알고리즘들이 개별적으로 캡슐화되어 있고, 알고리즘들의 변경 및 상호 교환이 용이하며, 클라이언트가 알고리즘을 자유롭게 선택할 수 있는 디자인 패턴은?
[ 전략 ; Strategy ]
▶유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도는?
[ 논리적 응집도 ; Logical Cohesion ]
▶객체지향 설계 원칙 중 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 한다는 원칙은?
[ 개방-폐쇄 원칙 ; OCP ]
▶객체지향 기법에서 연관성을 나타내는 표현들 중 2개 이상의 객체가 상호 관련되어 있음을 의미하는 것으로, 'is member of'로 표현되는 연관성은?
[ 연관화 ; Association ]
▶소프트웨어 패키징이란 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것을 말한다. 소스코드는 향후 관리를 고려하여 모듈화 하여 패키징 한다. 모듈화는 모듈 간 ( ① )의 최소화와 모듈 내 요소들의 ( ② )를 최대화하는 것이 목표이다.
[ ① 결합도(Coupling) / ② 응집도(Cohesion) ]
▶공통 모듈 명세 시 공통 기능들 간 상호 충돌이 발생하지 않도록 작성해야 한다는 명세 기법 원칙은?
[ 일관성 ; Consistency ]
▶서로 간에 어떠한 의미 있는 연관 관계도 지니지 않은 기능 요소로 구성되는 경우이며, 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우의 응집도는?
[ 우연적 응집도 ; Coinsidental Cohesion ]
▶다음 결합도를 강한 것부터 약한 것 순으로 차례대로 나열하면?
ⓐ Control Coupling
ⓑ External Coupling
ⓒ Stamp Coupling
ⓓ Content Coupling
ⓔ Data Coupling
ⓕ Common Coupling
[ ⓓ Content Coupling > ⓕ Common Coupling > ⓑ External Coupling > ⓐ Control Coupling > ⓒ Stamp Coupling > ⓔ Data Coupling ]
▶모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도는?
[ 기능적 응집도 ; Functional Cohesion ]
▶구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서를 가리키는 용어는?
[ 테스트 케이스 ; Test Case ]
▶문제를 상위의 중요 개념으로부터 하위의 개념으로 구체화시키는 하향식 설계기법으로, 소프트웨어의 기능에서부터 시작하여 점차적으로 구체화하고, 알고리즘, 자료 구조 등 상세한 내역은 가능한 뒤로 미루어 진행하는 아키텍처 설계의 기본 원리는?
[ 단계적 분해 ; Stepwise Refinement ]
▶다음 내용이 설명하는 용어는?
- 논리의 기술에 중점을 둔 도형식 표현 방법이다.
- 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현한다.
- 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.
[ N-S 차트 ; Nassi-Scheniderman Chart ]
▶다음 내용이 설명하는 객체지향 설계 원칙은?
- 클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안 된다.
- 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.
[ 인터페이스 분리 원칙 ; ISP ]
▶( )는 배치 프로그램이 일괄 처리 작업을 설정된 주기에 맞춰 원활히 수행하도록 지원하는 도구로, 이 도구를 사용하면 코드를 직접 작성하여 구현하는 것에 비해 안정적이며 생산성에서도 큰 차이가 있다. 주로 사용되는 도구로는 Spring Batch, Quartz, Cron이 있다.
[ 배치 스케줄러 ; Batch Scheduler ]
▶웹 서버의 기능 중 네트워크 트래픽의 포화를 방지하기 위해 응답 속도를 제한하는 기능은?
[ 대역폭 제한 ; Bandwidth Throtting ]
▶리눅스의 크론탭 명령어를 이용하여 다음의 설명에 해당하는 작업을 등록하는 명령문을 작성하시오.
- 작업 예약 형식은 '분', '시', '일', '월', '요일', '명령어 및 실행파일'이다.
- 수행할 작업은 /dev/autobot.sh 파일을 실행하는 것이다.
- 매월 15일 18시 정각마다 수행되도록 설정한다.
[ 0 18 15 * * /dev/autobot.sh ]
▶소프트웨어 개발에서 개발 언어 선정 시 언어가 다른 개발 사례가 충분히 존재하고, 이미 여러 곳에서 사용하고 있는지를 판단하는 기준을 가리키는 용어는?
[ 범용성 ]
▶소프트웨어 설계와 관련된 다음 설명에 해당하는 용어는?
- 아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제이다.
- 소프트웨어 시스템의 구조를 구성하기 위한 기본적인 윤곽을 제시한다.
- 서브시스템들과 그 역할이 정의되어 있으며, 서브시스템 사이의 관계와 여러 규칙/지침 등이 포함되어 있다.
[ 아키텍처 패턴 ; Architecture Pattern ]
▶프로그램 코드의 각 라인을 수행하는 방법을 지정하고 기호마다 클래스를 갖도록 구성된 아키텍처 패턴은?
[ 인터프리터 패턴 ; Interpreter Pattern ]
▶호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주고, 기존의 클래스를 이용하고 싶지만 인터페이스가 일치하지 않을 때 이용하는 구조 패턴은?
[ 어댑터 ; Adapter ]
[정보처리기사 실기 기출문제] 4장. 서버 프로그램 구현 - 3
▶다음 럼바우(Rumbaugh)의 객체지향 분석 절차의 괄호에 들어갈 알맞은 절차는?
- 객체 모형 → ( ) → 기능 모형
[ 동적 모형 ]
▶상위 클래스에서 골격을 정의하고, 하위 클래스에서 세부 처리를 구체화하는 구조의 행위 패턴은?
[ 템플릿 메서드 ; Template Method ]
▶어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우이며, 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생하게 되는 결합도는?
[ 제어 결합도 ; Control Coupling ]
▶소프트웨어 구현을 위해 필요한 여러 동작 중 한 가지 동작을 수행하는 작은 기능을 모듈로 구현한 것을 무엇이라고 하는가?
[ 단위 모듈 ; Unit Module ]
▶컴포넌트 설계 단계에 대한 설명에서 괄호에 들어갈 가장 알맞은 용어는?
- 컴포넌트 설계 시 "( )에 의한 설계"를 따를 경우, 해당 명세에서는
(1) 컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행 조건
(2) 사용 후 만족되어야 할 결과 조건
(3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변 조건 등이 포함되어야 한다.
[ 협약 ; Contract ]
▶코드 설계에서 일정한 일련번호를 부여하는 코드 부여 방식은?
[ 순차 코드 ; Squence Code ]
▶다음 응집도를 응집도가 강한 것부터 약한 것 순으로 차례대로 나열하면?
ⓐ 기능적 응집도
ⓑ 시간적 응집도
ⓒ 절차적 응집도
ⓓ 우연적 응집도
ⓔ 순차적 응집도
ⓕ 교환(통신)적 응집도
ⓖ 논리적 응집도
[ ⓐ 기능적 응집도 → ⓔ 순차적 응집도 → ⓕ 교환(통신)적 응집도 → ⓒ 절차적 응집도 → ⓑ 시간적 응집도 → ⓖ 논리적 응집도 → ⓓ 우연적 응집도 ]
▶객체지향 설계 시 지켜야 할 5가지 원칙을 ( ) 원칙이라 하며, 이는 각 원칙의 앞 글자를 따 만들어졌다. 종류에는 단일 책임 원칙, 개방-폐쇄 원칙, 리스 코프 치환 원칙, 인터페이스 분리 원칙, 의존 역전 원칙이 있으며, 이는 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜져야 한다.
[ SOLID ]
▶IPC(Inter-Process Communication)의 메서드 중 ( )는 공유 자원에 대한 접근 제어를 통해 통신하는 방식이다.
[ Semaphores ]
▶공통 모듈 명세 시 시스템 구현을 위해 필요한 모든 것을 기술해야 한다는 명세 기법 원칙은?
[ 완전성 ; Completeness ]
▶서버 프로그램 개발을 위해 구현되는 모듈 중 하나로, 사용자의 요청에 적절한 서비스를 호출하여 그 결과를 사용자에게 반환하는 객체는?
[ Controller ]
▶객체지향 설게 원칙 중 의존 관계 성립 시 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙은?
[ 의존 역전 원칙 ; DIP ]
▶추상화의 유형 중 이벤트 발생의 정확한 절차나 방법을 정의하지 않고, 대표할 수 있는 표현으로 대체하는 유형은?
[ 제어 추상화 ]
▶요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 요청에 필요한 정보를 저장하거나 로그에 남기는 행위패턴은?
[ 커맨드 ; Command ]
▶웹 서버의 기능 중 하나의 서버로 여러 개의 도메인 이름을 연결하는 기능은?
[ 가상 호스팅 ; Virtual Hosting ]
▶수많은 객체들 간의 복잡한 상호작용(Interface)을 캡슐화하여 객체로 정의하는 행위 패턴은?
[ 중재자 ; Mediator ]
▶( )은 JAVA를 기반으로 만든 프레임워크로, 전자정부 표준 프레임워크의 기반 기술로 사용되고 있다.
[ Spring ]
▶소프트웨어의 성능 향상, 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나누는 소프트웨어 아키텍처 설계의 기본 원리는?
[ 모듈화 ; Modularity ]
▶( )는 JavaScript를 기반으로 만든 프레임워크로, 비동기 입출력 처리와 이벤트 위주의 높은 처리 성능을 가지고 있어서 실시간으로 입출력이 빈번한 애플리케이션에 적합하다.
[ Node.js ]
'공부 및 교육 > 정보처리기사 실기 기출문제' 카테고리의 다른 글
[정보처리기사 실기 기출문제] 2장. 데이터 입출력 구현 - 1 (0) | 2022.08.01 |
---|---|
[정보처리기사 실기 기출문제] 3장. 통합 구현 (0) | 2022.07.31 |
[정보처리기사 실기 기출문제] 4장. 서버 프로그램 구현 - 2 (0) | 2022.07.31 |
[정보처리기사 실기 기출문제] 4장. 서버 프로그램 구현 - 1 (0) | 2022.07.31 |
[정보처리기사 실기 기출문제] 5장. 인터페이스 구현 (0) | 2022.07.31 |
댓글