1과목 : 소프트웨어 설계
객체지향 프로그램에서 데이터를 추상화하는 단위는?
클래스
메소드 : 객체의 행위
상속성 : 객체의 데이터
메시지 : 객체 간의 통신
데이터 흐름도(DFD)의 구성요소에 포함되지 않는 것은?
data dictionary
데이터 흐름도(Data Flow Diagram) 구성요소
프로세스(Process), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminator)이 있다.
자료 사전에서 자료의 생략을 의미하는 기호:
( )
정의 =
구성,연결 +
반복 { }
주석 **
선택 [ㅣ]
생략 ( )
럼바우(Rumbaugh)의 객체지향 분석 절차
객체 모형→동적 모형→기능 모형
럼바우 객체지향 분석 절차
1.객체 모델링
- 객체 다이어그램(객체 관계)으로 표시
- 가장 중요하며 선행되어야함
2.동적 모델링
- 상태 다이어그램(상태도)를 이용해 시간의 흐름에 따른 객체들간의 제어흐름, 상호작용, 동작순서 등의 동적인 행위를 표현하는 모델링
3.기능 모델링
- 자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료흐름을 중심으로 처리
객체지향 기법에서 클래스들 사이의 ‘부분-전체(part-whole)' 관계 또는 ’부분(is-a-part-of)'의 관계로 설명되는 연관성
집단화
- 집단화 is part of(part가 들어가면 집단화 생각) : 클래스 간의 구조적인 집약 관계 "클래스 A는 클래스 B와 클래스 C로 구성된다"
- 일반화 is a :클래스들 간의 개념적인 포함 관계 "자식 클래스 A는 부모 클래스 B의 일종이다."
- 캡슐화 : 속성 (데이터)과 메소드(연산) 을 하나로 묶어서 객체로 구성된다.
- 추상화 : 공통 성질을 추출하여 수퍼클래스로 구성한다. 또한 객체 중심의 안정된 모델을 구축 가능 하며 현실 세계를 자연스럽게 표현한다. 장점으로 분석의 초점이 명확해진다.
2과목 : 소프트웨어 개발
정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은?
합병정렬
- 선택정렬 : O(n^2)
- 삽입정렬 : O(n^2)
- 버블정렬 : O(n^2)
- 합병정렬 : O(Nlog2N)
인터페이스 구현 검증도구 중 아래에서 설명하는 것은?
STAF
서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고 통합하여 자동화하는 검증도구
- xUnit : Java, C++ 등 다양한 언어 지원하는 단위 테스트 프레임워크
- FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
- NTAF : FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 네이버의 테스트 자동화 프레임워크이다.
- Selenium : 다양한 브라우저 및 개발 언어 지원하는 웹 애플리케이션 테스트 프레임워크
- Watir : Ruby를 사용하는 애플리케이션 테스트 프레임워크
- Ruby : 인터프리터 방식의 객체지향 스크립트 언어
EAI(Enterprise Application Integration)의 구축 유형으로 옳지 않은 것은?
Tree
- EAI 구축 유형 : 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달 연계 통합등 상호연동이 가능하게 해주는 솔루션 // 그림 확인해야함
- Point - to - Point : 가장 기본적인 애플리케이션 통합 방식 1:1로 연결
- Hub & Spoke : 단일 접점인 허브 시스템을 통해 데이터 전송하는 중앙 집중형 방식
- Message Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
- Hybrid : Hub & Spoke 와 Message Bus 혼합 방식
다음 트리를 전위 순회(preorder traversal)한 결과는?
+* * /ABCDE
- 전위순회 : 루트를 먼저 방문 ex) + * * /ABCDE
- 중위순회 : 왼쪽 하위트리를 방문한 뒤 루트를 방문 ex) A/B C D+E
- 후위순회 : 하위트리를 방문한 뒤 루트를 방문 ex) AB/C D E+
- 전위 : root -> left -> right
- 중위 : left -> root -> right
- 후위 : left -> right -> root
인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?
SMTP: 이메일 송/수신에 사용되는 프로토콜
반정규화(Denormalization) 유형중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?
빌드 테이블의 추가
반 정규화 유형 중 중복 테이블 추가 방법
- 진행 테이블 추가
- 집계 테이블 추가
- 특정 부분만을 포함하는 테이블 추가
외계인코드(Alien Code)에 대한 설명으로 옳은 것은?
아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램
프로그램의 로직이 복잡하여 이해하기 어려운 프로그램을 의미한다.
=>나쁜코드, 코드의 로직이 얽혀 스파게티 코드라고도 함.
3과목 : 데이터베이스 구축
뷰(view)에 대한 설명으로 옳지 않은 것은?
뷰는 저장장치 내에 물리적으로 존재한다.
- 뷰는 물리적이 아닌 논리적으로 구성되어 있고, 논리적 독립성을 제공한다.
- 뷰는 CREATE 문을 사용하여 정의한다.
- 뷰는 데이터의 논리적 독립성을 제공한다.
- 뷰를 제거할 때에는 DROP 문을 사용한다.
데이터베이스의 논리적 설계(logical design) 단계에서 수행하는 작업이 아닌 것은?
레코드 집중의 분석 및 설계 -> 물리적설계 (데이터구조화)
논리적 설계(데이터모델링)
- 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정
- 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화
- 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계(종속적인 논리 스키마)
- 트랜잭션의 인터페이스 설계
- 관계형 데이터베이스라면 테이블 설계
- 특정목표 DBMS에 따른 스키마설계
- 스키마의 평가 및 정제
물리적 설계
- 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환
- 데이터 베이스 파일의 저장 구저 및 엑세스 경로 결정
- 데이터가 컴퓨터에 저장되는 방법을 묘사
- 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계
- 기본적 데이터 단위는 저장레코드
- 성능에 중대한 영향을 미침
관계대수 연산에서 두 릴레이션이 공통으로 가지고 있는 속성을 이용하여 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산은?
조인(Join) ⋈
- 셀렉트(Select)σ: 릴레이션에서 조건을 만족하는 튜플 반환, 수평적으로 절단하는 것, 행을 다 가져옴
- 프로젝트(Project)π: 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플 반환, 수직적으로 절단하는 것, 열을 선택적으로 가져옴
- 조인(Join)⋈: 공통 속성을 이용해 두개의 릴레이션 튜플들을 연결해 만들어진 튜플 반환
- 디비전(Division)÷: [R%S] 릴레이션S의 모든 튜플과 관련있는 릴레이션R의 튜플 반환
병행제어의 로킹(Locking) 단위에 대한 설명
로킹 단위가 커지면 로킹 오버헤드가 감소한다.
- 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
- 로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.
- 한꺼번에 로킹 할 수 있는 객체의 크기를 로킹 단위라고 한다.
- 로킹단위↑ : 로크 수↓, 병행성↓, 오버헤드↓, 공유도↓, 제어기법 간단하여 관리 수월
- 로킹단위↓ : 로크 수↑, 병행성↑, 오버헤드↑, 공유도↑, 제어기법 까다로워 관리 복잡
후보키는 릴레이션에 있는 모든 튜플에 대해 유일성과 ( )을 모두 만족시켜야 한다
최소성
후보키는 유일성 O 최소성 O
슈퍼키는 유일성 O 최소성 X
정규화 과정 중 1NF에서 2NF가 되기 위한 조건은?
1NF를 만족하고 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족해야 한다.
- 1NF 조건 : 도메인이 원자값으로 구성
- 2NF 조건 : 부분 함수 종속 제거 (완전 함수적 종속 관계)
- 3NF 조건 : 이행 함수 종속 제거
- BCNF 조건 : 결정자 함수 종속
- 4NF 조건 : 다중값(다치) 종속성 제거
- 5NF 조건 : 조인 종속성 제거
4과목 : 프로그래밍 언어 활용
시스템에서 모듈 사이의 결합도(Coupling)에 대한 설명으로 옳은 것은?
모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
- 결합도: 모듈 외에 있는 처리요소들 사이의 기능적인 연관 정도
- 결합도가 강할수록 품질이 낮으며, 시스템 구현 및 유지보수 작업이 어렵다.
- 자료 / 스탬프 / 제어 / 외부 / 공통 / 내용 / -> 갈수록 결합도 강함
은행가 알고리즘(Banker's Algorithm)은 교착상태의 해결 방법 중 어떤 기법에 해당하는가?
Avoidance 회피
- Prevention(예방) : 교착 상태의 원인이 되는 조건 중 하나를 제거
- Avoidance(회피) : 은행가 알고리즘
- Detection(탐지) : 자원 할당 그래프
- Recovery(복구) : 자원 선점/프로세스 종료
UNIX의 쉘(Shell)에 관한 설명으로 옳지 않은 것은?
프로세스, 기억장치, 입출력 관리를 수행한다. -> 커널
- 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- 여러 종류의 쉘이 있다.
교착 상태 발생의 필요 충분 조건이 아닌 것은?
선점(preemption)
교착상태 필요충분조건(원인)
1. 상호 배제(mutual exclusion)
2. 점유와 대기(hold and wait)
3. 환형 대기(circular wait)
4. 비선점
IPv6의 주소체계로 거리가 먼 것은?
Broadcast -> IPv4
IPv6 : 유니캐스트(unicast) 멀티캐스트(multicast) 애니캐스트(anycast) 세 가지 주소 체계
TCP/IP 네트워크에서 IP 주소를 MAC 주소로 변환하는 프로토콜은?
ARP
- IP주소를 MAC주소로 변환하는 프로토콜 ARP <-> RARP(MAC주소를 IP주소로)
- MAC 주소 = 물리적 주소
- UDP : 비연결형 서비스 제공 / 실시간 전송 네트워크에서 사용
- ARP : IP 주소를 MAC Address로 변환 (논리 주소 → 물리 주소)
- TCP : 양방향 연결형 서비스 제공 / 가상 회선 연결 형태의 서비스 제공 / 스트릿 위주 패킷 전달
- ICMP : IP와 조합하여 통신 중에 발생하는 오류처리와 전송 경로 변경 등을 위한 제어 메시지를 관리
- IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용
프로세스 상태의 종류가 아닌 것은?
Request
프로세스의 상태 종류
- 보류 (pending)
- 준비 (ready)
- 실행 (running)
- 대기 (blocked)
- 교착 (deadlock)
- 완료 (terminated)
스크립트 언어가 아닌 것은?
Cobol
스크립트 언어: javascript, ASP, JSP, PHP, Python, basic
다음의 페이지 참조 열(Page reference string)에 대해 페이지 교체 기법으로 선입선출 알고리즘을 사용할 경우 페이지 부재(Page Fault) 횟수는? (단, 할당된 페이지 프레임 수는 3이고, 처음에는 모든 프레임이 비어 있다.)
7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0
14
5과목 : 정보시스템 구축관리
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 기법 : 기능 점수 모형으로 알브레히트가 제안 / 요인별 가중치를 합산하여 총 기능 점수를 산출하여 점수와 영향도를 이용 비용 산정
백도어 탐지 방법으로 틀린 것은?
닫힌 포트 확인 -> 열린 포트 확인
백도어 탐지 방법
- 무결성 검사
- 로그 분석
- SetUID 파일 검사
- 열린 포트 검사
- 바이러스 및 백도어 탐지 툴 이용
크래커가 침입하여 백도어를 만들어 놓거나, 설정 파일을 변경했을 때 분석하는 도구는?
tripwire
- Cron : 작업 예약 스케줄러
- (초) / 분 / 일 / 시간 / 월 / 요일 / (년도)
- 시스템 침입탐지 및 무결성 도구
- Tripwire : 크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구
- MD5, CRC-32, SHA 등의 알고리즘을 사용
- Aide : Tripwire를 대신할 수 있는 도구로 파일의 무결성을 검사하는데 사용
- sXid : MD5 체크섬을 사용하여 suid, sgid파일을 추적 루트키트가 설치되어있는지 검사. Cron 작업형태로 수행. 자동으로 차일을 추적하고 경고
- Claymore : 침입탐지 및 무결성 모니터링 도구로 크론테이블을 이용하여 주기적으로 파일시스템의 변조유무를 확인하고 변조되었을 경우 관리자에게 메일로 통보해 주는 기능
- Samhain : 시스템의 무결성을 점검하는 도구로 여러 시스템을 관리할 수 있는 수단을 제공한다. 모니터링 에이전트와 중앙 로그서버로 구성
- Slipwire : 파일시스템의 무결성을 검사하는 도구로 파일의 SHA-1 hashes값을 비교하여 변경될 경우 사용자에게 경고하는 기능
- Fcheck : 유닉스 파일시스템의 변조유무를 점검하기 위한 PERL script 도구로 syslog. console 등로 관리자에게 파일시스템 변화를 경보해 준다. tripwire와 비슷한 도구로 보다 설치 및 운영이 쉽다.
COCOMO model 중 기관 내부에서 개발된 중소 규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 개발하는 유형은?
organic
유형별 COCOMO
- Organic : 조직형 / 소규모 소프트웨어 일괄 자료 처리 /5만 라인 이하
- Semi-detached : 반분리형 / 트랜잭션 처리 시스템이나 운영체제, DB / 30만 라인 이하
- Embedded : 내장형 / 최대형 규모 트랜잭션 처리 시스템이나 운영체제 / 30만 라인 이상
여러 개의 독립된 통신장치가 UWB(Ultra Wideband)기술 또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술은?
PICONET
네트워크 관리 신기술
- IoT : 정보 통신 기술 기반 실세계와 가상세계의 사물을 인터넷으로 연결하여 서비스 제공하는 기술
- M2M : 무선 통신을 이용한 기계와 기계사이의 통신
- 모바일 컴퓨팅 : 휴대형 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경
- 클라우드 컴퓨팅 : 각종 컴퓨팅 자원을 중앙에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 할 수 있는 환경을 의미
- 모바일 클라우드 컴퓨팅(MCC) : 클라우드 서비스 이용 소비자끼리 클라우드 컴퓨팅 인프라 구성하여 여러 정보와 자원을 공유하는 ICT 기술을 의미
- 인터클라우드 컴퓨팅 : 각기 다른 클라우드 서비스를 연동 및 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스 자원을 연결하는 기술
- 메시 네트워크 : 차세대 이동통신 공공안전 등 특수 목적을 위해 새로운 네트워크 기술로 대규모 디바이스의 네트워크 생성에 최적화
- WISUN와이선 : 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리 통신 기술
- NDN : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
- NGN : 유선망 기반의 차세대 통신망 유선망뿐만 아니라 이동 사용자를 목표로 함
- SDN : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
- NFC : 고주파를 이용한 근거리 무선 통신 기술
- UWB : 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술
- PICONET : 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망 형성
- WBAN : 웨어러블 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술
- GIS : 지리적인 자료를 수집 저장 분석 출력할 수 있는 컴퓨터 응용 시스템
- USN : 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
- SON : 주변 상황에 맞추어 스스로 망을 구성하는 네트워크를 말한다.
- ad-hoc network : 재난 현자와 같이 별도의 고정된 유선망을 구출할 수 없는 장소에 모바일 호스트만을 이용하여 구성한 네트워크
- 네트워크 슬라이딩 : 3GPP를 포함한 여러 글로벌 이동통신 표준화 단체가 선정한 5G의 핵심기술
- 저전력 블루투스 기술 : 일반 블루투스와 동일한 주파수 대역을 사용하지만 연결되지않는 대기상태에서는 절전 모드를 유지하는 기술
- 지능형 초연결망 : 정부 주관 사업
오픈소스 기반 분산 컴퓨팅 플랫폼, 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성, 다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리
하둡(Hadoop)
DB
- 하둡 : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 디지털 아카이빙 : 디지털 정보 자원을 장기적으로 보존하기 위한 작업
- 타조 : 우리나라가 주도적으로 개발 중인 하둡 기반의 분산 데이터 웨어하우스 프로젝트
- 데이터 다이어트 : 데이터를 삭제하는 것이 아닌 압축하고 중복된 정보를 배제하고 새로운 기준에 따라 나누어 저장하는 작업
- 메타 데이터 : 일련의 데이터를 정의하고 설명해주는 데이터
네트워크
- 비콘 : 블루투스 기반의 근거리 무선통신 장치
- NFC : 고주파를 이용한 근거리 무선 통신 기술
- NDN : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
- NGN : 유선망 기반의 차세대 통신망
- 포스퀘어 : 위치 기반 소셜 네트워크 서비스
HW
- 엠디스크 : 한 번의 기록만으로도 자료를 영구 보관할 수 있는 광 저장 장치
- 맴리스터 : 메모리와 레지스터의 합성어로 전류의 방향과 양 등 기존의 경험을 모두 기억하는 소자. 차세대 메모리 기술 (ex: M.2)
소인수 분해 문제를 이용한 공개키 암호화 기법에 널리 사용되는 암호 알고리즘 기법은?
RSA
- RSA : MIT의 라이베스트,샤미르,애들먼에 의해 제안된 공개키 암호화 알고리즘. 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어짐 / 공개키와 비밀키 사용
- ECC : RSA의 키 길이가 너무 긴 결점을 보완하기 위해 타원곡선함수를 이용한 암호화 기법
- PKI : 공개키 기반 구조
- PEM : SSL 인증서 종류
- DSS(DSA) : 디지털 서명 표준 인증서 서비스
- 블록 암호: 대칭키
- DES : 구 미국 표준. 56비트 키를 사용
- AES : DES의 보안 취약점을 대체하기 위해 고안된 미국 표준 방식으로 현재 표준 대칭키 암호화 기법
-- ARIA : SEED 이후로 나온 대한민국의 국가 암호 표준(AES와 동일)
- 공개키 암호: 비대칭키
최대 홉수를 15로 제한한 라우팅 프로토콜은?
RIP
시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있는 보안 요소는?
무결성
- 기밀성 - 열람
- 무결성 - 수정
- 가용성 - 사용