2021/12 36

Java_소스코드_assert(), FALSE일 때 실행

▣ Java_소스코드_assert(), FALSE일 때 실행 2013년 29번 정답 : 3번, 4번 assert()함수는 인자가 FALSE일 때 실행됨 실행되면 프로그램은 해당 assert()함수에서 종료되고 사용자(개발자)에게 종료 정보를 출력함 인자값이 -10이니 assert( value > 0)이 FALSE가 되기 때문에, assert()가 실행되고 assert()문에서 종료됨 따라서 출력 값은 최초 System.out.print(value+ ":"); 으로 '-10:'이 됨 * 본 문제는 이의 제기가 있어서 3번도 정답처리 되었음 assert()함수는 해당 option이 켜져야 동작됨 만약 옵션이 켜지지 않았다면 assert()함수는 무시되므로 3번 처럼 '-10:10'이 출력됨

C언어_프로그래밍 오류, 중복프리선언

▣ 프로그래밍 언어_프로그래밍 오류, 중복프리선언 2013년 26번 정답 : 2번 bb은 선언시 자동으로 0으로 초기화되기 때문에 aa변수가 중복 해제되어 '중복 프리 선언'오류 발생 * 컴파일러에 따라 정수형 변수 선언시 0으로 초기화 되지 않는 경우도 있을 수 있기 때문에 이슈존재 정적변수로 선언했으면 0으로 초기화 되는 것이 맞으나, 정적변수로 선언한 것이 아니라 로컬변수로 선언

암호 해독을 위한 공격 유형_암호문 단독, 알려진 평문, 선택 평문, 선택 암호문, 스트림 암호화

▣ 암호 해독을 위한 공격 유형_암호문 단독, 알려진 평문, 선택 평문, 선택 암호문 암호문 단독 공격 (ciphertext only) 상대방에 대한 정보가 전혀 없는 상태에서 암호문만으로 평문과 암호키를 알아내는 공격 많은 암호문이 필요하고 시간도 많이 걸림(일반적으로 불가능) 암호알고리즘/해독될 암호문 알려진 평문 공격 (know plaintext) 평문에 대한 암호문을 일부 알고 있는 상황에서 평문을 알아내는 공격 암호문 단독 공격보다 정보가 어느 정도 있는 상태에서 해독을 하기 때문에 좋은 방법 암호알고리즘/해독될 암호문 / 하나 이상의 비밀키에 의한 일정량의 평문과 암호문 쌍 선택 평문 공격 (chosen plaintext) 공격자가 적의 암호기에 접근할 수 있어 공격자가 선택한 평문을 암호기에..

보안 2021.12.13

데이터베이스 보안(DB 암호화 방식)_Plug-In, API, Kernel, Appliance 방식, 감사

▣ 데이터베이스 보안(DB 보안)_Plug-In, API, Kernel, Appliance 방식, 감사 Plug-in 방식 응용 프로그램 수정 없이 쉽게 암호화 적용(단 기간내 구축 용이) 대용량 데이터의 경우 암/복호화 과정이 DBMS에서 수행되므로 DBMS부하 발생 API 방식 대용량 데이터의 암/복호화 과정이 프로그램 단에서 수행되므로 DBMS 부하의 분산 효과 DBMS 부하가 적어 속도 증가 효과 발생으로 시스템 영향도가 낮음 기존 응용 프로그램 수정을 통한 암호화 적용에 따른 인력 투입/ 구축기간의 장기간 소요 DB 성능을 저하시키지 않으나 애플리케이션의 전체적인 수정이 필요 Kernel 방식 DBMS의 엔진레벨에서 직접 암복호화를 수행하기 때문에 다른 어떤 방식보다 구축이 간편하며, 빠른 암복..

보안 2021.12.13

SW 유지보수_적응, 수정, 완전화, 예방 유지보수, ISO 25010, lehman 리만 법칙, 진화

▣ SW 유지보수_적응, 수정, 완전화, 예방 유지보수 완전 유지보수 (perfective maintenance) 새로운 기능 추가 -> 시스템 완벽성 추구 사용자가 새로운 기능 요구 개선/패치된 알고리즘, 기능을 추가 하는 것 적응 유지보수 (adaptive maintenance) 시스템을 새환경에 적응시킴, 변경된 환경에 맞춰 새버전 구축 SW운영 환경이 변화되었을 때 이러한 새로운 환경 (변경된 HW, DB 변화 등)에 SW를 적응 시키는 것 수정 유지보수 (corrective maintenance) 잘못된 것을 수정 -> 오류를 진단하고 수정 운영중인 SW에 오류가 발생되었을 때 이를 수정하는 것 예방 유지보수 (preventive maintenance) 미래의 시스템 관리르 위한 유지보수 발생 ..

Java_소스코드_try, catch, finally, 예외(Exception) 발생

▣ Java_소스코드_try, catch, finally, 예외(Exception) 발생 try, catch문은 Java 언어에서 예외(Exception)이 발생되면 해당 catch문이 실행됨 finally 구문은 항상 실행됨 2012년 36번 정답 : 2번 try, catch문은 Java 언어에서 예외(Exception)이 발생되면 해당 catch문이 실행됨 finally 구문은 항상 실행됨 n의 값이 0일 때, Divide by zero예외가 발생하게 됨 ArithmeticException을 발생시켜 해당 catch문 실행 -> Catch1출력 finally구문은 항상 실행 -> Catch2 출력 2014년 26번 정답 : 4번 try, catch문은 Java 언어에서 예외(Exception)이 발생..

시스템 테스트_기능, 신뢰성, 사용 용이성, 성능, 호환성, 보안, 강도, 구성, 볼륨, 회복(복구), 민감도, 전개, recovery, sensitivity, 회귀, smoke, sanity, 테스팅, 인터페이스, 객체지향, 빅뱅

▣ 시스템 테스트_기능, 신뢰성, 사용 용이성, 성능, 호환성, 보안, 강도, 구성, 볼륨, 회복(복구), 민감도, 전개, recovery, sensitivity, 회귀, smoke, sanity, 테스팅, 인터페이스, 빅뱅 외부기능테스트 (Functional Test) 사용자나 다른 시스템 시각으로 요구분석 단계에서 정의된 외부 명세서의 충족 여부 테스트 내부기능 테스트 (Facility Test) 사용자 지침서와 요구명세서를 비교, 요구사항서에 기술된 기능의 만족여부 판정, 체크 리스트 사용 신뢰성 테스트 (Reliability Test) SW의 신뢰성 목표-오류나 고장 발생 빈도 테스트 시스템 가동 요구사항 별 년간 운영시간 측정 사용성 테스트 (Usability Test) 애플리케이션을 얼마나 쉽..

COCOMO (Constructive Cost Model)_KDSI, Organic, Semi-Detached, Embedded

▣ COCOMO (Constructive Cost Model)_KDSI, Organic, Semi-Detached, Embedded ■ 3가지 모델 유형 Basic COCOMO 기본형 COCOMO SW 개발 노력과 비용을 LOC 형태로 추정한 후 비용을 산정하는 고정 단일값 모형(Static Single-valued Mode) 산정공식 개발 노력(Effort, MM) = a × (KDSI)^b 개발 기간(TDEV) = c × (MM)^d 적정 투입 인원(FPS) = MM / TDEV 인적 비용(COST) = MM × 인당 월평균 급여 Intermediate COCOMO 중간형 COOCMO 프로젝트 형태, 개발환경, 개발인력 요소에 따라 15개의 특성치를 적용한 방식 제품속성(Product) 3가지: SW..

객체지향 방법론_CBD, UP(Unified Process), 컴포넌트, COM, 개발방법론, SRM

▣ 객체지향 방법론_CBD, UP(Unified Process), 컴포넌트, COM ■ CBD 정의 - 컴포넌트 단위의 개발/조립/유지보수를 통해 현대경영이 필요로 하는 정보시스템의 신속한 구축, 변경 확장의 용이성, 타 시스템과의 호환성을 달성하고자 하는 SW 공학 프로세스, 방법론 및 기술의 총체적 개념 특징 - 생산성 : 부품의 조립을 통한 개발 시간 단축 - 변경용이성 : 요구사항 변경에 대한 안정적인 대처 가능 - 관리용이성 : 독립적인 컴포넌트 단위의 관리로 복잡성을 최소화 - 재사용성 : 실행기반의 재사용, 모델의 재사용 - 고품질 : 품질이 검증된 컴포넌트 사용 표준기술 - SUN의 EJB : JAVA 언어로 구현된 서버 컴포넌트 - MS의 COM+ : VB, C# 등의 언어를 이용해 구현..

데이터베이스 시스템 언어_DDL, DML, DCL

▣ 데이터베이스 시스템 언어_DDL, DML, DCL DDL (Data Definition Language) 데이터베이스를 정의, 수정할 때 사용하는 언어 CREATE, ALTER, RENAME, DROP 등 (암기법 : CARD) DML (Data Manipulation Language) 생성된 데이터베이스의 정보를 검색, 삽입, 삭제, 수정 등의 처리 목적 SELECT, UPDATE, DELETE, INSERT 등 사용자가 무슨 데이터를 어떻게 접근하여 처리해야 하는지를 명세해야 하는 데이터 언어 PL/SQL 등 DCL (Data Control Language) 데이터 베이스를 제어하기 위한 언어 보안, 데이터 무결성, 회복, 병행제어 GRANT, REVOKE, SET 등 TCL COMMIT, ROL..

데이터베이스 2021.12.10