모든 답은 아래 교재를 참조합니다.

싸니까 믿으니까 인터파크도서
생년월일 - 출생지 - 출간도서 0종 판매수 0권 (주)익스터디 대표이사, 두목넷 사무자동화 부분 대표 강사로 IT 자격증 분야에서 '왕두목'이라는 애칭으로 활발히 활동하고 있습니다. 경기공업대
book.interpark.com
1. 형상 통제에 대해 간략히 설명하시오.
[정답]
- 형상 통제는 형상에 대한 변경 요청이 있을 경우 변경 여부와 변경 활동을 통제하는 것을 말한다. 변경된 요구사항에 대한 타당성을 검토하여 변경을 실행(변경관리)하고, 그에 따라 변경된 산출물에 대한 버전관리를 수행하는 것이 형상 통제의 주요 활동이다. 즉, 형상 통제는 소프트웨어 형상 변경 요청을 검토 승인하여 현재의 베이스라인(Baseline)에 반영될 수 있도록 통제하는 것을 의미한다.
2. EAI 구축 유형 중 Message Bus와 Hybrid를 제외한 빈 칸 1~2에 해당하는 나머지 두 가지 유형을 쓰시오.
유형 | 설명 |
( 1 ) | - 중간에 미들웨어를 두지 않고 각 애플리케이션 간 직접 연결 - 솔루션 구매 없이 통합, 상대적 저렴하게 통합 가능 - 변경, 재사용 어려움 |
( 2 ) | - 단일 접점이 허브 시스템을 통해 데이터를 전송하는 중앙 집중적 방식 - 모든 데이터 전송 보장, 확장 및 유지 보수 용이 - 허브 장애 시 전체 영향 |
Message Bus (ESB 방식) | - 애플리케이션 사이 미들웨어(버스)를 두어 처리 - 미들웨어 통한 통합 - 어댑터가 각 시스템과 버스를 두어 연결하므로 뛰어난 확정성, 대용량 처리 가능 |
Hybrid | - 유연한 통합 작업이 가능 - 표준 통합 기술, 데이터 병목 현상 최소화 |
[정답]
- (정답 1) Point to Point 또는 Peer to Peer
- (정답 2) Hub & Spoke
3. UI(User Interface)는 사용자와 컴퓨터 상호 간의 소통을 원활히 할 수 있도록 도와주는 연계 작업을 뜻한다. UI의 설계 원칙 중 직관성에 대해 간략히 설명하시오.
[정답]
- 설계 구조를 누구나 쉽게 이해하고 사용할 수 있어야 한다.
- 사용자가 한눈에 기능을 쉽게 파악할 수 있도록 해야 한다.
4. 다음 제어 흐름 그래프에 대한 분기 커버리지(Branch Coverage)를 수행하는 경우의 테스트 케이스 경로를 7단계와 6단계로 나눠서 순서대로 나열하시오.

[정답]
- 7단계: 1 - 2 - 3 - 4 - 5 - 6 - 7
- 6단계: 1 - 2 - 4 - 5 - 6 - 1
5. 소프트웨어 테스트 기법 중 프로그램의 외부 사용자 요구사항 명세를 보면서 테스트를 수행하며 주로 구현된 기능을 테스트한다. "명세 기반 테스트"라고도 하며,동치 분할 테스트, 경계 값 테스트 등과 같이 내부 구조가 보이지 않는 테스트 기법에 해당하는 용어를 쓰시오.
[정답]
- 블랙박스 테스트 또는 블랙박스 검사 또는 Black-box test 또는 Black-box testing
6. 아래 보기의 <학생> 테이블에 '주소' 컬럼을 추가하는 SQL문을 완성하는 빈 칸 1~2에 알맞은 용어를기입하시오. (단, 추가 컬럼의 이름은 '주소'이고, 데이터 타입은 가변 문자형 20자리로 VARCHAR(20)이다.
<학생>
학번 | 이름 | 학과 | 전화번호 |
2020021 | 철수 | 컴퓨터 | 010-1111-1111 |
2020001 | 민수 | 수학 | 010-2222-2222 |
2021022 | 영희 | 컴퓨터 | 010-3333-3333 |
2022013 | 민호 | 통계 | 010-4444-4444 |
<SQL문>
( 1 ) TABLE 학생 ( 2 ) 주소 VARCHAR(20); |
[정답]
- 답 (1) : ALTER
- 답 (2): ADD
7. <성적> 테이블을 대상으로 <요구사항>을 적용하여 아래 <결과>와 같이 출력하는 SQL문을 작성하시오.
<성적>
학번 | 과목번호 | 과목이름 | 학점 | 점수 |
100 | 2000 | 데이터베이스 | A | 95 |
101 | 1000 | 자료구조 | B | 80 |
102 | 2000 | 데이터베이스 | A | 99 |
103 | 2000 | 데이터베이스 | B | 88 |
104 | 1000 | 자료구조 | C | 79 |
<결과>
과목이름 | 최소점수 | 최대점수 |
데이터베이스 | 88 | 99 |
<요구사항>
1. <성적> 테이블에서 과목별 평균 점수가 90점 이상인 과목이름, 최소점수, 최대점수를 출력하시오. 2. 단, WHERE 구문은 사용 불가능하며, GROUP BY, HAVING, AS 구문을 반드시 포함하여 작성하시오. 3. SQL 명령문은 대/소문자를 구분하지 않는다. 4. SQL 명령문의 종결 문자인 세미콜론(;)은 생략 가능합니다. 5. 실행 결과가 일치하더라도 <요구사항>을 모두 적용하지 않은 SQL문을 작성하면 오답으로 간주합니다. |
[정답]
SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90;
8. 아래 보기의 <학생> 테이블에서 이름이 "민수"인 학생 튜플을 삭제하는 SQL 문을 작성하시오. (단, 다음의 요구사항을 참고하여 작성하시오.)
<요구사항>
1. 이름 속성의 데이터는 문자형이다. 문자형 데이터는 작은따옴표(' ')로 표시하시오. 2. SQL명령문은 대/소문자를 구분하지 않는다. 3. SQL명령문의 종결 문자인 세미콜론(;)은 생략 가능합니다. 4. 실행 결과가 일치하더라도 <요구사항>을 모두 적용하지 않은 SQL문을 작성하면 오답으로 간주합니다. |
<학생>
학번 | 이름 | 학과 | 전화번호 |
2020021 | 철수 | 컴퓨터 | 010-1111-1111 |
2020001 | 민수 | 수학 | 010-2222-2222 |
2021022 | 영희 | 컴퓨터 | 010-3333-3333 |
2022013 | 민호 | 통계 | 010-4444-4444 |
[정답]
DELETE FROM 학생 WHERE 이름 = "민수";
9. 다음은 C언어로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오.
#include <stdio.h> void main() { int i = 0, c = 0; while (i < 10) { i++; c *= i; // printf("%d *= %d \n", c, i); } printf("%d", c); } --- 0 *= 1 0 *= 2 0 *= 3 0 *= 4 0 *= 5 0 *= 6 0 *= 7 0 *= 8 0 *= 9 0 *= 10 0
[정답]
- 0
10. 다음은 C언어로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오.
#include <stdio.h> int r1() { return 4; } int r10() { return (30 + r1()); } int r100() { return (200 + r10()); } void main() { printf("%d", r100()); }
[정답]
- 234
11. 다음은 JAVA로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오.
public class Main { public static void main(String[] args){ int i = 0; int sum = 0; while (i < 10) { i++; if(i % 2 == 1) continue; System.out.printf("sum: %d, i: %d.%n", sum, i); sum += i; System.out.printf("sum +=i: %d.%n", sum); } System.out.println("sum: " + sum); } } --- sum: 0, i: 2. sum +=i: 2. sum: 2, i: 4. sum +=i: 6. sum: 6, i: 6. sum +=i: 12. sum: 12, i: 8. sum +=i: 20. sum: 20, i: 10. sum +=i: 30. sum: 30
[정답]
- 30
12. 다음은 JAVA로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오.
abstract class Vehicle { String name; abstract public String getName(String val); public Vehicle(String val){ this.name = val; } public String getName() { return "Vehicle name: " + name; } } class Car extends Vehicle { public Car(String val) { super(val); // name = super.name = val; } public String getName(String val) { return "Car name: " + val; } public String getName(byte val[]) { return "Car name: " + val; } } public class Exam { public static void main(String[] args) { Vehicle obj = new Car("Spark"); System.out.println(obj.getName()); } }
[정답]
- Vehicle name : Spark
13. C++언어의 생성자(Constructor)에 대해 간략히 설명하시오.
[정답]
- 생성자는 객체 생성 시 자동으로 호출되는 메소드로 멤버를 초기화하는 목적으로 주로 사용된다.
14. 스키마(Schema)에 대해 간략히 설명하시오.
[정답]
- 스키마는 데이터베이스의 전체적인 구조와 제약조건에 대한 명세를 기술 및 정의한 것을 말하며, 스킴(Scheme)이라고도 한다.
15. 다음에서 설명하는 관계 대수 연산의 기호를 쓰시오.
릴레이션 A에서 릴레이션 B의 모든 조건을 만족하는 튜플을 제외한 후 프로젝션하는 연산자 |
[정답]
- ÷
16. 대규모 네트워크를 안정되게 운영할 수 있는 표준 라우팅 프로토콜로 최적의 경로는 계산할 때 SPF(Shortest Path First) 또는 다익스트라(dijkstra) 알고리즘을 이용하여 각 목적지까지의 최적 경로를 계산하는 동적 라우팅 프로토콜로 링크 상태 라우팅 프로토콜을 무엇이라고 하는지 영문 약어로 쓰시오.
[정답]
- OSPF
17. TCP/IP에서 신뢰성 없는 비연결형 프로토콜인 IP를 대신하여 송신측으로 네트워크의 IP 상태 및 에러 메시지를 전달해주는 프로토콜을 무엇이라고 하는지 영문 약어로 쓰시오.
[정답]
- ICMP
18. 헝가리안 표기법에 대해 간략히 설명하시오.
[정답]
- 헝가리안 표기법은 컴퓨터 프로그래밍의 변수명, 함수명 등의 식별자 이름을 작성할 때 데이터 타입의 정보를 이름 접두어로 지정하는 코딩의 규칙이다. 예를 들어 인덱스 역할을 하는 int형 변수명을 inum으로 문자열 문자열 변수명을 strName으로 이름을 지정하는 표기법이다.
19. 리팩토링(Refactoring)의 목적에 대해 간략히 설명하시오.
[정답]
- 리팩토링의 목적은 가독성을 높이고 유지보수의 편리성을 높이는 것이다.
- 겉으로 보이는 소프트웨어의 기능을 변경하지 않고 내구 구조만 변경하여 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것이다.
- 소프트웨어의 디자인을 개선하기 위해 수행한다.
20. 빈 칸 ( ) 안에 공통으로 들어갈 가장 적합한 용어를 쓰시오.
( )의 본래 의미는 외교 분야에서의 의례 또는 의정서를 의미하는 용어였다. 심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 가리켜 '기술적 은어'라는 뜻으로 ( )(이)라 불렀다. |
[정답]
- 프로토콜 또는 Protocol
'정보처리기사 실기' 카테고리의 다른 글
[정보처리기사 실기] 모의고사 1회 프로그래밍 위주로 (0) | 2021.04.21 |
---|---|
[정보처리기사 실기 준비] C언어 편 (0) | 2021.04.20 |
[정보처리기사 실기] 2020년 4회 기출복원 문제 (0) | 2021.04.20 |
[정보처리기사 실기] 2020년 2회 기출복원 문제 (0) | 2021.04.14 |
[정보처리기사 실기] 2020년 1회 기출복원 문제 (0) | 2021.04.04 |