본문 바로가기
CS+PS/Certificate

[정처기] 2020년 6월 기출문제 풀이

by SolaBreeze 2023. 12. 28.
<소프트웨어 설계>


1번.
동료검토: 2~3명이 진행하는 리뷰형태로 작성자가 설명하고 이해관계자들이 설명을 들으면서 결함을 발견하는 형태
워크스루: 검토회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후 짧은 검토 회의를 통해 오류를 조기 검출하는데 목적을 두는 요구 사항 검토 방법
인스펙션: 명세서 작성자를 제외한 다른 검토 전문가들이 확인하면서 결함을 발견하는 형태

2번.
연상코드: 코드화 대상 항목의 명칭이나 약호와 관계 있는 숫자나 문자, 기호를 이용하여 코드를 부여하는 방법
블록코드: 코드화 대상 항목중에서 공통성이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련번호를 부여하는 방법
표의 숫자코드: 길이 넓이 부피 등 항목의 성질의 물리적인 수치를 그대로 코드에 적용시키는 방법
순차코드: 코드 설꼐에서 일정 기준에 따라 최초의 자료부터 일련번호를 부여하는 방법

3번.
메소드: 객체의 행위
상속성: 객체의 데이터
메시지: 객체 간의 통신
클래스 : 객지프에서 데이터를 추상화하는 단위

4번.
데이터 흐름도(DFD, Data Flow Diagram) 구성요소에는 process, data flow, data store, terminator(단말)이 있다. 

5번. 
어플리케이션 성능 측정 항목은 응답시간(response time), 처리량(가용성, Availability), 사용률(Utilization), 경과시간이다.

6번.
UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호 : << >>

7번. 
GoF(Gang of Four)에는 3가지 패턴이 있다.
생성패턴: 객체의 생성과 관련되 패턴
구조패턴: 클래스나 객체들을 조합하여 더 큰 구조로 만들 수 있게 해주는 패턴
행위패턴: 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴
Builder: 작게 분리된 인스턴스를 건축하듯이 조합하여 객체를 생성 - 생성패턴
Visitor: 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성 - 행위패턴
Prototype: 원본 객체를 복제하는 방법으로 객체를 생성 - 생성패턴
Bridge: 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성 - 구조패턴

8번.
자료사전에서 자료 생략을 나타내는 기호는? = ( )
정의 =
구성, 연결 + 
반복 { }
주석 ** 
선택 [ | ]

9번.
RPC: remote procedure call 원격 절차 호출 또는 원격 프로시저 호출.
ORB: object request broker 객체 간 메시지 전달을 지원하는 미들웨어
TP monitor: 트랜잭션 처리를 감시/제어하는 미들웨어

10번.
직관성: 누구나 쉽게 이용하고 쉽게 사용할 수 있어야함
유효성: 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작
학습성: 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작
유연성: 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작

11번.
XP(extreme Programming)의 5가지 가치
용기(courage): 고객의 요구사항 변화에 능동적인 대처
단순성(Simplicity): 부가적 기능, 사용되지 않는 구조와 알고리즘 배제
의사소통(Communication): 개발자, 관리자, 고객 간의 원활한 의사소통
피드백(Feedback): 지속적인 테스트와 반복적 결함 수정, 빠른 피드백
존중(Respect): 모든 프로젝트 관리자는 팀원의 기여를 존

12번.
UML 모델에서 사용하는 Structural Diagram- Class Diagram, Object Diagram, Component Diagram
Behavioral Diagram- Acticity Diagram

13번.
요구사항 분석
- 비용과 일정에 대한 제약 설정
- 타당성 조사
- 요구사항 정의 문서화

14번.
럼바우(Rumbaugh) 객체 지향 분석 절차
- 객체 모델링: 객체 다이어그램(객체 관계)으로 표시, 가장 중요하며 선행되어야함
- 동적 모델링: 상태 다이어그램(상태도)를 이용해 시간의 흐름에 따른 객체들간의 제어흐름, 상호작용, 동작순서 등의 동적인 행위를 표혀하는 모델링
- 기능 모델링: 자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리

15번.
공통 모듈 : 전체 프로그램의 기능 중 특정 기능을 처리할 수 있는 실행코드, 자체적으로 컴파일 가능, 다른 프로그램에서 재사용 가능, 여러 기능 및 프로그램에서 공통으로 사용할 수 있는 모듈(예-날짜 처리를 위한 유틸리티 모듈 등)
공통 모듈의 원칙:
- 정확성: 해당 기능이 실제 시스템 구현시 필요한지 아닌지를 알 수 있도록 정확하게 작성
- 명확성: 해당 기능에 대해 일관되게 이해하고 한가지로 해석될 수 있도록 작성
- 완전성: 시스템이 구현될 때 필요하고 요구되는 모든 것을 기술
- 일관성: 공통 기능 간에 상호 충돌이 없도록 작성
- 추적성: 공통 기능에 대한 요구사항 출처와 관련 시스템 등의 유기적 관계에 대한 식별이 가능하도록 작성

16번.
집단화 is part of (part가 들어가면 집단화 생각): 클래스 간의 구조적인 집약 관계 "클래스 A는 클래스 B와 클래스 C로 구성된다."
일반화 is a : 클래스들 간의 개념적인 포함 관계 "자식 클래스 A는 부모 클래스 B의 일종이다."
캡슐화: 속성(데이터)과 메소드(연산)을 하나로 묶어서 객체로 구성된다.
추상화: 공통 성질을 추출하여 수퍼 클래스로 구성한다. 또한 객체 중심의 안정된 모델을 구축 가능하며 현실 세계를 자연스럽게 표현한다. 장점으로 분석의 초점이 명확해진다.

17번.
CASE가 갖고 있는 주요 기능(case란 소프트웨어 개발의 자동화)
- S/W의 생명주기 전(모든)단계의 연결
- 모델들 사이의 모순검사
- 오류 검증
- 자료흐름도 등 다이어그램 작성
- 다양한 소프트웨어 개발 모형 지원
- 시스템 문서화 및 명세화를 위한 그래픽 지원

18번.
DBMS 분석시 고려사항
- 무결성(가용성)
- 일관성(상호호환성)
- 회복, 보안, 효율성(성능), 데이터베이스 확장

19번. 
HIPO(Hierarchy Input Process Output)란
- 하향식 소프트웨어 개발임
- HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다
- 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
- 보기 쉽고 이해하기 쉽다. 

20번. 
Rumbaugh - 가장 일반적으로 사용되는 방법으로 분석 활동을 객체/동적/기능 모델로 나누어 수행하는 방법
Booch - 미시적(Micro)개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석방법
Jacobson - Use Case를 강조하여 사용하는 분석방법
Coad 와 Yourdon - E-R다이어그램을 사용하여 개체의 활동들을 데이터 모델링하는데 초점을 둔 기법
Wirfs-Brock - 분석과 설계간의 구분이 없고 고객 명세서를 평가해서 설계 작업까지 연속으로 수행하는 기법


<소프트웨어 개발>

21번.
정렬 알고리즘 소요시간
- O(N^2) : 선택정렬, 삽입정렬, 버블정렬
- O(NlogN): 합병정렬, 퀵정렬

22번.
White Box Testing
- 종류: Condition Testing, Loop Testing, Data Flow Testing
- Source Code의 모든 문장을 한번 이상 수행함으로서 진행된다.
- 모듈 안의 작동을 직접 관찰 할 수 있다.
- 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.

23번.
소프트웨어 품질 측정 개발자 관점에서 고려해야할 항목: 정확성, 신뢰성, 효율성, 무결성, 유연성, 이식성, 재사용성, 상호운용성

24번.
인터페이스 구현 검증 도구
xUnit: Java, C++ 등 다양한 언어 지원하는 단위 테스트 프레임워크
STAF: 서비스 호출 및 컴포넌트 재사용 등 환경 지원하는 테스트 프레임워크, 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고 통합하여 자동화하는 검증 도구
FitNesse: 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
NTAF: FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 네이버의 테스트 자동화 프레임워크
Selenium: 다양한 브라우저 및 개발 언어 지원하는 웹 애플리케이션 테스트 프레임워크
Watir: Ruby를 사용하는 애플리케이션 테스트 프레임워크
Ruby: 인터프리터 방식의 객체지향 스크립트 언어

25번.
EAI(Enterprise Application Integration)의 구축 유형: 기업 내 각종 애플리케이션 및 플랫폼간의 정보 전달 연계 통합등 상호연동이 가능하게 해주는 솔루션
Point-to-point: 가장 기본적인 애플리케이션 통합 방식 1:1로 연결
Hub&Spoke: 단일 접점인 허브 시스템을 통해 데이터 전송하는 중앙 집중형 방식
Message Bus: 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
Hybrid: Hub&Spoke 와 Message Bus 혼합 방식

26번.
전위순회: 루트를 먼저 방문
중위순회: 왼쪽 하위트리를 방문한 뒤 루트를 방문
후위순회: 하위트리를 방문한 뒤 루트를 방문

27번.
인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션: IPSec, SSL, S-HTTP
SMTP는 이메일 송/수신에 사용되는 프로토콜이다.

29번.
반정규화(Denormalization) 유형 중 중복 테이블을 추가하는 방법: 진행 테이블 추가, 집계 테이블 추가, 특정부분만을 포함하는 테이블 추가

30번. 
ISO/IEC 9126의 소프트웨어 품질 특성중 기능성(Functionality)의 하위 특성에는 적합성, 정확성, 상호운용성, 보안성, 준수성 등이 있다.
학습성은 사용성(Usability)의 하위 특성이다. 

31번.
트리의 차수: 전체 트리에서 가장 큰 차수, 해당 노드가 가지고 있는 자식 노드의 개수를 차수라고 함
단말노드: 자식이 없는 노드의 개수

32번.
디지털 저작권 관리(DRM)의 기술요소 : 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증

33번.
Pareto의 법칙: 오류의 80%는 전체의 20% 내에서 발견된다는 법칙
Brooks의 법칙: 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다.

34번. 
소프트웨어 형상관리: 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동

36번.
소스코드 품질분석 도구 중 정적분석 도구:
pmd - 소스코드에 대한 미사용 변수 최적화 안된 코드 등 결함을 유발할 수 있는 코드 검사
cppcheck - c/c++ 코드에 대한 메모리 누수 오버플로우 등 분석 통합 플랫폼
SonarQube - 중복 코드 복잡도 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼
checkstyle - 자바 코드에 대해 소스코드 표준을 따르고 있는지 검사
ccm - 다양한 언어의 코드 복잡도를 분석
cobertura - 자바 언어의 소스 코드 복잡도 분석 및 테스트 커버리지 측정
소스코드 품질분석 도구 중 동적분석 도구:
Avalanche: Valgrind 프레임워크 및 STP 기반/ 프로그램 결함 및 취약점 분석
valgrind - 프로그램 내에 존재하는 메모리 및 쓰레드 결함 분석

37번.
알파 테스트: 검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법이며, 일반적을 통제된 환경에서 사용자가 개발자가 함께 확인하면서 수행되는 검사 - 인수 테스트 종류
동치분할검사: 입력 자료에 초점을 맞춰 케이스를 만들고 검사하는 방법 - 블랙박스 테스트 종류
베타 테스트: 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트 기법 - 인수 테스트 종류
형상검사(구성 검토, 검사): 구성 요소, 목록, 유지보수를 위한 모든 사항이 표현되었는가를 검사

38번.
Stub: 하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈
Driver : 상향식 "

39번.
SW 패키징 시 고려사항
- 사용자의 운영체제, CPU, 메모리 등에 필요한 최소 환경 정의
- UI는 편의성, 직관성을 고려해야하고 매뉴얼과 일치시켜 패키징
- 소프트웨어와 하드웨가 함께 관리될 수 있도록 Managed Service 형태로 제공 
- 암호화, 모듈화하여 배포(다양한 기종에서 사용가능해야함.)
- 사용자 편의성을 위한 복합성 및 비효율성 문제를 고려해야함

40번. 
외계인코드(Alien Code)이란 아주 오래되거나 참고 문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 말한다.


<데이터베이스 구축>

41번. 
DDL(데이터 정의어): Create, Alter, Drop
DML(데이터 조작어): Select, Insert, Update, Delete
DCL(데이터 제어어): Grant, Revoke

42번.
외래키: 타 릴레이션의 기본키를 참조하는 속성 or 속성들의 집합

43번. 
데이터 제약 조건
객체 무결성 제약 : 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다.
도메일 무결성 제약 조건 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다.
참조 무결성 제약 조건: 외래키의 값은 Null 이거나 참조 릴레이션의 기본키 값과 동일해야한다.

44번.
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.  물리적이 아닌 논리적으로 구성되어 있고 논리적 독립성을 제공한다.

46번. 
데이터베이스의 논리적 설계(데이터모델링) 단계에서 수행하는 작업
- 논리적 데이터베이스 구조로 매핑
- 트랜잭션 인터페이스 설계
- 스키마의 평가 및 정제

47번.
이행적 함수 종속 관계
A->B이고 B->C일 때, A->C 이다.

48번.
관계 데이터 모델에서 데이터의 가장 작은 논리적 단위는 애트리뷰트 값이며, 이 값은 원자값만을 허용한다.
도메인 : 같은 타입의 모든 원자 값들의 집합, 도메인은 같은 도메인의 값들끼리 비교가 허용됨, 하나의 도메인에 대하여 둘 이상의 애트리뷰트가 정의될 수도 있다. 한 릴레이션에서는 모든 애트리뷰트의 이름이 반드시 달라야한다.

49번. 
단순 Select(조건검색)의 경우 전체테이블의 튜플을 검색하기 때문에 130건이 조회됨.
Distinct(중복제거)의 경우 동일한 튜플을 제거하고 검색하기 때문에 총 3건이 검색됨

50번. 
셀렉트(Select)σ 릴레이션에서 조건을 만족하는 튜플 반환, 수평적으로 절단하여 행을 다 가져옴
프로젝트(Project)π 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플 반환, 수직적으로 절단하여 열을 선택적으로 가져옴
조인(Join)⋈공통 속성을 이용해 두개의 릴레이션 튜플들을 연결해 만들어진 튜플 반환
디비전(Division)÷ [R%S] 릴레이션S의 모든 튜플과 관련있는 릴레이션R의 튜플 반환

51번.
트랜잭션의 특성
Durability 영속성: 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야한다.
Consistency 일관성: 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
Atomicity 원자성: 트랜잭션 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
Isolation 격리성: 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랙잭션이 접근 불가하다. 

52번.
분산데이터베이스의 목표
- 위치 투명성(Location Trasparency): 데이터 베이스의 실제 위치를 알 필요없이 단지 데이터베이스의 논리적인 명칭만으로 엑세스할 수 있음
- 중복 투명성(Replication Transparency): 데이터가 여러곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는것 처럼 사용 가능, 시스템은 자동으로 여러 자료에 대한 작업 수행
- 병행 투명성(Concurrency Transparency): 다수의 트랜잭션이 동시에 실현되더라도 그 결과는 영향을 받지 않음
- 장애 투명성(Failure Transparency): 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션을 정확히 처리함.

53번. 
트리거(trigger) : 데이터베이스가 미리 정해 놓은 조건이 충족되거나, 특정테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현한 프로그램

54번.
DDL :
PRIMARY KEY: 기본키 정의 / FOREIGN KEY: 외래키 정의
UNIQUE: 지정 속성은 중복값 가질 수 없음 / NO ACTION: 변화가 있어도 조취를 취하지 않음
CASCADE : 참조 테이블 튜플 삭제 시 관련 튜플 모두 삭제 및 속성 변경 시 속성값 모두 변경
RESTRICTED : 타 개체가 제거할 요소를 참조중이면 제거를 취소
SET NULL : 참조 테이블 변화 시 기본 테이플 관련 속성값 Null로 변경
SET DEFAULT : 참조 테이블 변화 시 기본테이블의 관련 튜플 속성값을 기본값으로 변경
CONSTRAINT : 제약 조건 이름 지정 / CHECK 속성값에 대한 제약 조건 정의
DML :
INSERT INTO ~ VELUES : 튜플 삽입 / DELETE FROM~ WHERE : 튜플 삭제
UPDATE ~ SET ~ WHERE : 튜플 내용 변경 / SELECT~FROM~WHERE : 튜플 검색
DISTINCT : 중복 튜플 발견 시 그 중 첫번째 하나만 검색 / DISTINCTROW : 중복 튜플 제거 및 하나만 검색 (튜플 전체를 대상으로 검색)
PREDICATE : 검색할 튜플 수 제한 / AS 속성명 정의 ORDER BY : 특정 속성 기준으로 정렬 후 검색할 때 
ASC:오름차순/DESC:내림차순/생략시오름차순 
GROUPBY:특정 속성 기준 그룹화하여 검색할때 사용 having절과 같이 사용되어야함

55번.
DML(Data Manipulation Language) 데이터 조작어
DML의 유형에는 select, insert, delete, update 가 있다.

56번.
DCL 데이터 제어 언어는 데이터 베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 하기 위해 DBA가 사용하는 제어용 언어

57번. 
병행제어의 로킹 단위에 대해서..
데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다. 
한꺼번에 로킹 할 수 있는 객체의 크기를 로킹 단위라고 한다. 
로킹단위↑ : 로크 수↓, 병행성↓, 오버헤드↓, 공유도↓, 제어 기법 간단하여 관리 수월
로킹단위↓ : 로크 수↑, 병행성↑, 오버헤드↑, 공유도↑, 제어 기법 까다로워 관리 복잡

58번. 
E-R 모델의 표현 방법
객체 타입(사각형)
관계 타입(마름모)
속성 타입(타원)
연결 (선)

59번.
후보키는 릴레이션에 있는 모든 튜플에 대해 유일성과 최소성을 모두 만족시켜야한다.
슈퍼키는 릴레이션에 있는 모든 튜플에 대해 유일성을 만족시켜야하지만 최소성은 만족시키지 않아도 된다. 

60번.
정규화 과정 중 1NF에서 2NF가 되기 위한 조건 :
1NF를 만족하고 키가 아닌 모든 속성이 키본키에 대하여 완전 함수적 종속 관계를 만족해야한다.


<프로그래밍 언어 활용>

61번.
IPv6
- 128 주소 공간을 제공한다.
- 인증 및 보안 기능을 포함하고 있다.
- IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이하다.
- 패킷의 크기는 임의로 큰 크기의 패킷을 주고 받을 수 있다.

62번.
C언어에서 비트 논리 연산: &, ^, |, ~, <<, >>
?는 조건 연산자

63번. 
TCP/IP 프로토콜
HTTP/FTP/SMTP ---> OSI7계층 중 7층인 응용계층에서 동작
TCP  -------------- >  OSI7계층 중 4층인 전송계층에서 동작(인터넷4계층에서도 3계층 전송계층 = 동일 층)
HTTP(Hyper Text Transfer Protocol)
FTP(File Transfer Protocol)
SMTP(Simple Mail Transfer Protocol)
TCP(Transmission Control Protocol)---> 단어 그 자체로도 전송계층에서 동작하는 프로토콜임을 알 수 있다.

64번. 
시스템에서 모듈 사이의 결합도(Coupling)
- 모듈 외에 있는 처리요소들 사이의 기능적인 연관 정도
- 결합도가 강할수록 품질이 낮으며, 시스템 구현 및 유지보수 작업이 어렵다.
- 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상됨
- 자료 / 스탬프/ 제어/ 외부/ 공통/ 내용 -> 오른쪽으로 갈 수록 결합도가 강함

65번. 
은행가 알고리즘(Banker's Algorithm)은 교착 상태의 해결 방법중 회피 기법(Avoidance)이다.

66번. 
Unix의 쉘
- 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- 여러종류의 쉘이 있다.
- 주기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재하며 보조 기억 장치에서 교체 처리가 가능
unix의 커널(kernel)
- unix의 가장 핵심적인 부분. 컴퓨터를 부팅시키면 주기억장치에 적재된 후 상주하며 실행됨. 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 함. 프로세스, 기억장치, 입출력 관리를 수행함.

67번.
교착 상태 발생의 필요 충분 조건은 상호배제(mutual exclusion), 점유와 대기(hold and wait), 환형 대기(circular wait), 비선점임.

68번.
OSI 7계층
응용계층 - 사용자가 OSI환경에 접근할 수 있도록 서비스 제공(HTTP, SMTP,FTP 등)
표현계층 - 응용계층으로 받은 데이터를 세션계층에 보내기 전에 통신에 적당한 형태로 변환, 세션계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능
세션계층 - 송수신 측 간의 관련성을 유지하고 대화 제어를 담당
전송계층 - 논리적 안정 및 균일한 데이터 전송 서비스를 제공함으로서 종단 시스템간 투명한 데이터 전송 가능(TCP 등)
네트워크 - 개방 시스템들간의 네트워크 연결을 관리 및 데이터 교환 및 중계
데이터링크 - 두 개의 인접한 개방 시스템들 간 신뢰성있고 효율적인 정보 전송 
물리계층 - 전송에 필요한 두장치간의 실제접속과 절단 등 기계적, 전기적 기능적 절차 특성에 대한 규칙

69번.
IPv6의 주소체계 : 유니캐스트, 멀티캐스트, 애니 캐스트
브로드캐스트는 IPv4의 주소체계임

70번.
TCP/IP 네트워크에서 IP 주소를 Mac 주소로 변환하는 프로토콜은 ARP(논리주소 -> 물리주소)
ARP <-> RARP(mac 주소를 ip 주소로)
UDP: 비연결형 서비스 제공, 실시간 전송 네트워크에서 사용
TCP: 양방향 연결형 서비스 제공/ 가상 회선 연결 형태의 서비스 제공/ 스트릿 위주 패킷 전달
ICMP: IP와 조합하여 통신 중에 발생하는 오류처리와 전송 경로 변경 등을 위한 제어 메시지를 관리
IGMP: 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용

71번.
프로세스의 상태 종류
- 보류(pending)
- 준비 (ready)
- 실행 (running)
- 대기 (blocked)
- 교착 (deadlock)
- 완료 (terminated)
- 제출(Submit), 접수(Hold), 준비(Ready), 실행(Run), 대기 (Wait), 보류, 블록(Block), 종료(Terminated, Exit)

72번.
쓰레드(Thread)란 프로세스 내에서의 작업 단위로 여러 자원을 할당받아 실행하는 프로그램 단위
- 한개의 프로세스에는 하나 이상의 스레드가 존재
- 커널스레드: 운영체제 커널에 의해 스레드 운영 / 구현 쉬움/ 속도 느림
- 사용자스레드: 사용자가 만든 라이브러리를 사용해 스레드 운용/ 속도빠름/ 구현 어려움
- 하드웨어 운용체제 성능과 처리율을 향상 가능
- 응용프로그램 응답시간 단축 가능
- 실행환경을 공유시켜 기억 장소 낭비 줄어듬

73번.
HRN(Highest Response-ratio Next) 스케줄링 방식
- 비선점 스케줄링: 실행시간이 긴 프로세스에 불리한 SJF를 보완하기 위해 대기 시간 및 서비스 시간을 이용, 우선순위를 계산 숫자가 높은 것부터 낮은 순으로 서비스 부여

75번.
C언어에서 사용할 수 없는 변수명: text-color

76번.
스크립트 언어: javascript, asp, jsp, php, python, basic

79번.
응집도(cohesion): 기능적(functional)/ 순차적(Sequential)/ 교환적(Communication)/ 절차적(Procedural)/ 시간적(Temporal)/ 논리적(logical)/ 우연적(coincidental) -> 갈 수록 응집도 약함

80번.
Java 언어 접근 제한자
public : 모든 접근 허용
protected : 같은 패키지에 있는 객체와 상속 관계 객체들만 허용
default : 같은 패키지에 있는 객체들만 허용
private : 현재 객체 내에서만 허용 


<정보시스템 구축 관리>

81번.
Rayleigh-Norden 곡선의 노력 분포도를 이용한 프로젝트 비용 산정법 => 정답 Putnam 기법
- 전문가 감정 기법: 조직 내에 있는 경험 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
- 델파이 기법: 전문가 감정 기법의 주관적 편견을 보완하기 위해 많은 전문가의 의견을 종합 및 수렴함
- Loc 기법: 원시 코드 라인 수 기법으로서 원시 코드 라인 수의 비관치 낙관치 기대치를 측정하여 산정하는 기법
- 개발 단계별 인월수 기법 : LOC를 보완하기 위한 기법, 필요 노력을 생명 주기의 각 단계별로 선정
- COCOMO : 보헴이 제안한 것으로 LOC에 의한 비용 산정 기법
유형별 COCOMO
Organic : 조직형 / 소규모 소프트웨어 일괄 자료 처리 /5만 라인 이하
Semi-detached : 반분리형 / 트랜잭션 처리 시스템이나 운영 체제, DB / 30만 라인 이하
Embedded : 내장형 / 최대형 규모 트랜잭션 처리 시스템이 나 운영체제 / 30만 라인 이상
COCOMO 종류
Basic (기본): 소프트웨어 크기 및 개발 유형만 이용 Intermediate(중간) : 기본형의 공식 토대로 사용하나 4가지 특성 및 15가지 요인에 의해 비용 산정
제품 특성 : 신뢰도 / DB크기 / 복잡도
컴퓨터 특성 : 수행시간제한 / 기억장소제한 / 가상 기계의 안 정성 / Turn Around Time
개발 요원의 특성 : 분석가 능력 / 개발 분야 경험 / 가상 기계 경험 / 프로그래머 능력 및 언어 경험
프로젝트 특성 : 소프트웨어 도구 이용 / 프로젝트 개발 일정 / 최신 프로그래밍 기법 이용
Detailed(발전) : 중간형 COCOMO 보완하여 만들어진 방법으로 개발 공정별보다 자세하고 정확하게 비용 산정
Putnam 기법 : 소프트웨어 생명 주기의 전 과정 동안에 사용 될 곡선의 노력의 분포를 가정해주는 모형. Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
FP 기법 : 기능 점수 모형으로 알브레히트가 제안 / 요인별 가중치를 합산하여 총 기능 점수를 산출하여 점수와 영향도를 이용 비용 산정

82번. 
stack protection: stack Overflow를 탐지하고 보안을 강화시키는 기법
stack guard: 메모리상에서 프로그램의 복귀 주소와 변수사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술
stack shield: 함수의 리턴주소를 복사하여 실제 리턴 주소를 참조하지 않고 함수를 리턴해주는 기법
Syslog: 시스템에서 로그 메시지를 처리하기 위해서 제공
Recovery control: 부적절한 사건/ 상황으로 인해 발생한 피해를 극복, 장애/혼란을 정돈하고 정상상태로 회복

83번.
백도어 탐지 방법 : 무결성 검사/ 로그 분석/ setUID 파일 검사/ 열린포트 검사/ 바이러스 및 백도어 탐지 툴 이용

84번.
Smurfing: IP또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의 상태를 불능으로 만드는 공격방법

85번. 
CMM(capability Maturity Model) 모델의 레벨: 초기단계/ 관리단계/ 정의단계/ 정량적 관리단계/ 최적화단계

86번.
JSON: 웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성,값의 쌍 형태로 표현하는 형식으로 자바스크립트를 토대로 개발되어진 형식
XML: 특수한 목적을 갖는 마크업 언어를 만드는데 사용되는 다목적 마크업 언어

87번.
tripwire: 크래커가 침입하여 백도어를 만들어 놓거나, 설정 파일을 변경했을 때 분석하는 도구
Cron: 작업 예약 스케줄러

88번. 
프레임워크: 특정 기능을 수행하기 위해 필요한 클래스 or 인터페이스 등을 모아둔 집합체
소프트웨어 개발 프레임워크를 적용할 경우 기대효과 : 품질보증, 개발용이성, 변경 용이성

89번.
COCOMO model 중 기관 내부에서 개발된 중소 규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 개발하는 유형 : organic
organic : 조직형/ 소규모 소프트웨어 일관 자료 처리/ 5만 라인 이하
semi-detached: 반분리형/ 트랜잭션 처리 시스템이나 운영체제, DB/ 30만 라인 이하
Embedded: 내장형/ 최대형 규모 트랜잭션 처리 시스템이나 운영체제/ 30만 라인 이상

90번.
네트워크 관리 신기술 IoT:정보통신기술기반실세계와가상세계의사물을인터 넷으로 연결하여 서비스 제공하는 기술
M2M : 무선 통신을 이용한 기계와 기계사이의 통신
모바일 컴퓨팅 : 휴대형 기기로 이동하면서 자유로이 네트워 크에접속하여업무를처리할수있는환경 클라우드컴퓨팅:각종컴퓨팅자원을중앙에두고인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을할수있는환경을의미
모바일 클라우드 컴퓨팅(MCC) : 클라우드 서비스 이용 소비 자끼리 클라우드 컴퓨팅 인프라 구성하여 여러 정보와 자원을 공유하는 ICT 기술을 의미
인터클라우드 컴퓨팅 : 각기 다른 클라우드 서비스를 연동 및 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스 자원을 연결하는 기술 
메시네트워크 : 차세대이동통신공공안전등특수목적을 위해 새로운 네트워크 기술로 대규모 디바이스의 네트워크 생 성에 최적화 
와이선 : 스마트그리드와 같은 장거리무선통신을 필요로 하는 사물인터넷서비스를 위한 저전력장거리 통신기술
NDN : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
NGN : 유선망 기반의 차세대 통신망 유선망뿐만 아니라 이동 사용자를 목표로 함
SDN : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각 각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
NFC : 고주파를이용한근거리무선통신기술
UWB : 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력 으로 전송하기 위한 무선 기술
PICONET : 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망 형성 => 얘만 기출(피코넷)
WBAN : 웨어러블 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술
GIS : 지리적인 자료를 수집 저장 분석 출력할 수 있는 컴퓨 터 응용 시스템
USN : 각종 센서로 수집한 정보를 무선으로 수집할 수 있도 록 구성한 네트워크
SON : 주변 상황에 맞추어 스스로 망을 구성하는 네트워크를 말한다.
ad-hoc network : 재난 현자와 같이 별도의 고정된 유선망을 구출할 수 없는 장소에 모바일 호스트만을 이용하여 구성한 네트워크
네트워크 슬라이딩 : 3GPP를 포함한 여러 글로벌 이동통신 표준화 단체가 선정한 5G의 핵심기술
저젼력 블루투스 기술 : 일반 블루투스와 동일한 주파수 대역을 사용하지만 연결되지않는 대기상태에서는 절전 모드를 유 지하는 기술
지능형 초연결망 : 정부 주관 사업

91번.
소프트웨어 생명 주기 모형
폭포수 : 선형 순차적 / 메뉴얼 작성 / 각 단계가 끝난 뒤 다음 단계로 넘어감
타당성 검토-계획-요구분석-설계-구현-시험-유지보수
프로토 :원형모형으로 실제 개발될 제품의 견본을 만들어 결과물을 예측하는 모형
개발이 완료된 시점에서 오류가 발견되는 폭포수 모형 보완
요구수집 - 설계 - 구축 - 고객평가 - 조정 - 구현
나선형 : 점진적 모형 / 위험을 관리 및 최소화하는 것이 목 적 / 유지보수가 필요 없다
애자일 : 고객 중심적 모형 / 일정 주기를 반복하면서 개발과 정 진행

92번. 
하둡
- 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성
- 다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리

93번. 
RSA: 소인수 분해 문제를 이용한 공개키 암호화 기법에 널리 사용되는 암호 알고리즘

95번.
라우팅 프로토콜
-RIP: 자율 시스템 내에서 사용, 근거리 통신망 및 독립적 네트워크 내에서 라우팅 정보 관리, 최대 홉수 카운트 15로 제한 16은 불가판정

96번.
Key Logger Attack : 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 몰래 빼가는 해킹 공격

97번.
테일러링(Tailoring)
프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작업
내부적 요건: 납기/비용, 기술환경, 구성원 능력, 프로젝트 규모, 요구사항
외부적 요건: 법적 제약사항, 표준 품질 기술

98번. 
폭포수 모형의 특징
- 개발 중 발생한 요구사항을 쉽게 반영하기 어려움
- 순차적 접근방법 이용
- 단계적 정의와 산출물이 명확
- 모형의 적용 경험과 성공사례가 많음

99번.
랜섬웨어(RANSOMWARE): 인터넷 사용자의 컴퓨터에 침입해 내부 문서 파일등을 암호화해 사용자가 열지 못하게 하는 공격으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구함

100번.
무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있는 보안 요소

 

휴 드디어 100문제를 끝냈습니다 축하추카링딩동!

'CS+PS > Certificate' 카테고리의 다른 글

[KNIME] KNIME L1 Certificate  (0) 2024.02.26
[정처기] 2020년 8월 기출문제 풀이  (1) 2023.12.30