자격증_보관/정보처리기사_25년 02차


3과목. 데이터베이스 구축 > 1장. 논리 데이터베이스 설계 > 데이터 모델링 :데이터 모델링의 개념사용자 요구사항을 분석하고 필요한 데이터 요소를 도출하여 적절한 데이터 구조를 정의하는 데이터베이스 설계 과정의 핵심 기법개념적 데이터 모델숙련된 설계자는 모델링 과정에서 개체 타입과 속성, 식별자를 한 번에 도출할 수 있지만 일반적으로 개념 모델링을 수행업무의 관심 대상이 되는 정보를 갖고 있거나, 그에 대한 정보를 관리할 필요가 있는 유형, 무형의 사물(개체)을 의미현실 세계를 관찰하여 컴퓨터로 관리해야 할 정보, 혹은 데이터를 개체 타입 또는 관계 타입으로 도출1000제-426번. 다음 설명에 해당하는 데이터 모델은?- 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으..

3과목. 데이터베이스 구축 > 1장. 논리 데이터베이스 설계 > 데이터 제약 조건 :제약 조건의 개념데이터베이스에 저장되는 데이터의 정호가성을 보장하기 위해 키를 이용하여 입력되는 데이터 제한을 주는 것제약 조건의 종류도메인 제약 조건각 필드의 값은 반드시 그 필드의 도메인에 속하는 원자값사례 : Student 테이블의 Gpa 필드의 값은 4.5 이내의 실수값엔티티 제약 조건테이블마다 튜플을 서로 구분할 수 있는 필드가 존재 -> 이 필드를 Primary key(기본키)라고 함기본키 값은 널 값이 될 수 없다는 조건을 엔티티 무결성 제약 조건사례 : Student 테이블에서 SSN 필드는 각 학생들을 구분하는 필드참조 무결성 제약 조건한 테이블의 필드값은 다른 테이블의 기본키 값을 참조할 때 두 테이블 ..


3과목. 데이터베이스 구축 > 1장. 논리 데이터베이스 설계 > 관계 대수 : 순수 관계 연산자,일반 집합 연산자관계 데이터 언어관계 데이터베이스의 릴레이션을 조작하기 위한 기본 연산에 관계대수와 관계해석이 있음사용자의 입장에서 데이터를 처리하는 데이터 언어가 됨관계대수는 절차적 언어, 관계해석은 비절차적 언어관계 해석코드 박사가 제안한 것수학의 술어해석에 기반을 두고 있으며 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특징을 갖고 있음SQL문과 같은 질의어를 사용하며 튜플 관계해석과 도메인 관계해석으로 구성원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어관계 대수관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언..


3과목. 데이터베이스 구축 > 1장. 논리 데이터베이스 설계 > SQL 성능 튜닝 :Hint힌트의 개념사용자가 수동으로 어떠한 경우에도 실행 계획을 고정하기 위해 사용SQL의 힌트 사용의 예시일반 형식 : SELECT a.dname, b.ename, b.sal힌트 사용 시 : SELECT /* + use_nl(b,a) */ a.dname. b.ename, b.sal ( SELECT /* + hint[{hint} .... ] */ )SQL 부분범위 처리SQL 부분범위 처리의 개념조건을 만족하는 전체범위를 처리하는 것이 아니라 일단 운반단위까지만 처리하여 추출하는 처리 방식SQL 부분범위 처리 목적스캔 범위를 나누어서 운반단위를 가능한 빨리 채워서 처리 속도를 향상일부분만 처리하고서도 Optimizer의 특..

2과목. 소프트웨어 개발 > 5장. 인터페이스 구현 > 인터페이스 보안 코딩 :인터페이스 보안 코딩인터페이스 데이터 암호화를 해야할 땐 128 bit DES 알고리즘보다는 AES 알고리즘으로 함암호화 기술 중 대칭키 알고리즘은 주로 AES, SEED 등이 많이 사용DES는 보안상 위험하다고 알려진 암호화 알고리즘인터페이스 보안 기능 : 아마호화 알고리즘은 DES보다는 AES 알고리즘을 적용민감정보가상화 : 인터페이스 데이터 중 민간정보(주민번호, 전화번호 등)는 비식별화 조치인증 보안 수행 : 인터페이스 수행에 필요한 인증 수행 (보안 토큰 소유 확인)이상 거래 감지 : 외부 불법 접근 시도, 무작위 공격행위 탐지 기능필드 암/복호화 : 정의된 보안 필드를 인터페이스하기 전 암/복호화필드 필터링 : 필드..

2과목. 소프트웨어 개발 > 5장. 인터페이스 구현 > 유지보수 :수정적 유지보수 (Corrective Maintenance)발견된 오류나 잠재적인 오류의 원인을 찾아 문제 해결사례 : 하자 유지 보수, 처리 오류, 수행 오류, 구현 오류완전적 유지보수 (Perfective Maintenance)새로운 기능을 추가하여 개선사례 : 신규 비지니스 프로세스 발생, 수행력 향상예방적 유지보수 (Preventive Maintenance)유지보수성, 신뢰성 향상을 위한 구조 변경사례 : 노후화된 SW의 refactoring적응적 유지보수 (Adaptive Maintenance)새로운 자료나 운영체제, 하드웨어 환경으로 이식사례 : SW 환경 변경으로 porting, HW, SW 변화800제-689번. 유지보수의 ..

2과목. 소프트웨어 개발 > 5장. 인터페이스 구현 > 애드 혹(Ad-hoc) / 피코넷 (PICONET)애드 혹 (Ad-hoc)유선 망과의 연결 없이 2대 이상의 단말기로 구성인프라가 구축되지 않은 장소에서 손쉽게 통신망을 구축할 수 있음대표적인 기술 : 블루투스피코넷 (PICONET)블루투스 기술 프로토콜을 사용하여 무선 사용자 그룹의 장치를 연결하는 애드 혹 네트워크동일한 물리적 채널을 차지하는 둘 이상의 장치로 구성하나의 Master 장치가 최대 7개의 활성 Slave 장치와 상호 연결될 수 있음800제-85번. 여러 개의 독립된 통신 장치가 UWB(Ultra Wideband) 기술 또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술은?① PICONET② SCRUM③ NPC④ WI..

2과목. 소프트웨어 개발 > 4장. 애플리케이션 테스트 관리 > 클린 코드 작성 원칙 :가독성이해하기 쉬운 용어 사용코드 작성 시 들여쓰기 기능 사용단순성한번에 한 가지 처리만 수행클래스, 메소드, 함수를 최소 단위로 분리의존성영향도를 최소화코드의 변경이 다른 부분에 영향이 없게 작성중복성중복된 코드 제거공통된 코드 사용추상클래스, 메소드, 함수에 대해 동일한 수준의 추상화를 함상세 내용은 하위 클래스, 메소드, 함수에서 구현1000제-302번. 다음에서 설명하는 클린 코드 작성의 원칙은?- 영향도를 최소화한다.- 코드의 변경이 다른 부분에 영향이 없게 작성한다. ① 다형성② 단순성③ 추상화④ 의존성 정답 : 4

2과목. 소프트웨어 개발 > 4장. 애플리케이션 테스트 관리 > 알고리즘 설계 기법 : 맥케이브의 순환 복잡도(Mccabe Cyclomatic Complexity), 복잡도 , 성능 개선을 위한 알고리즘, 알고리즘의 시간 복잡도(O-Notation을 이용하여 표현), 정렬 알고리즘의 종류, 탐색 알고리즘의 종류알고리즘 설계 기법알고리즘 설계 기법의 유형분할 정복 (Divide and Conquer) : 문제를 쪼개서 각각 해결나폴레옹이 오스트리아 러시아 동맹군을 반으로 분리시켜 각각 정복한 전술복잡한 문제를 분할하여 각각 해결, 이를 결합하여 문제를 해결하는 Top-Down 기법분할 정복의 절차분할 (Divide) : 문제를 분할이 가능한 부분까지 분할정복 (Conquer) : 분할된 문제를 각각 해결 ..

2과목. 소프트웨어 개발 > 4장. 애플리케이션 테스트 관리 > 소스 코드 인스펙션(Inspection) : 소스 코드 인스펙션 절차, 소스 코드 품질 분석 도구소스코드 품질 분석 도구의 종류정적 분석 도구pmd자바 및 타 언어 소스코드에 대한 버그, 데드 코드 분석Eclipse에 임베드 되어 사용지원 환경 : Linux, Windows개발 도구 지원 : Eclipse, NetBeanscppcheckC / C++ 코드에 대한 메모리 누수, 오버플로우 등 문제 분석배열 범위 체크, 클래스 체크, 메모리 누수 체크, null pointer 체크 등 발생 가능한 결함에 대한 오류 검출 지원 환경 : Windows개발 도구 지원 : Eclipse, gedit, Visual StudioSonarQube소스 코드..


2과목. 소프트웨어 개발 > 4장. 애플리케이션 테스트 관리 > 3R(Reverse Engineering, Re-engineering, Reuse) : 공통 모듈의 재사용, 소프트웨어의 역공학(재공학), 소프트웨어의 재사용 소프트웨어공학의 3R역공학 Reverse-Engineering역공학 (Reverse Enginnering)의 개념기존에 개발된 시스템을 CASE(자동화 도구)를 이용하여, 사양서, 설계서 등의 문서로 추출하는 작업개발단계를 역으로 올라가 기존 개발된 시스템의 코드, 데이터로부터 설계명세서나 요구분석서를 도출하는 작업물리적 수준의 소프트웨어 정보를 논리적인 소프트웨어 정보로 추출하는 프로세스역공학을 통해서 얻을 수 있는 정보 : 분석 정보, 설계 정보, 아키텍처, 프로그램과 데이터의 구..

2과목. 소프트웨어 개발 > 3장. 소프트웨어 패키징 > 제품 품질 국제 표준(ISO/IEC) : ISO/IEC 9126,ISO/IEC 9126 품질 항목,ISO/IEC 12207,ISO/IEC 25010,ISO/IEC 27015,ISO/IEC 27015의 원칙제품 품질 국제 표준의 종류표준세부내용설명ISO / IEC 91269126 - 1 : 품질모델• 소프트웨어 품질을 측정, 평가하기 위해서 소프트웨어의 품질요소와 특성을 정의• 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성9127 - 2 : 외부품질9128 - 3 : 내부품질9129 - 4 : 사용 품질ISO / IEC 1459814598 - 1 : 개요• 개발자에 대한 소프트웨어 제품 품질 향상과 구매자의 제품 품질 선정 기준을 제공하는 ..


2과목. 소프트웨어 개발 > 3장. 소프트웨어 패키징 > 제품 소프트웨어 매뉴얼 :사용자 매뉴얼의 개념개발이 완료된 소프트웨어를 고객에게 전달하기 위한 형태로 패키징설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함제품 소프트웨어에 대한 패치 개발과 업그레이드를 위해 버전 관리를 수행사용자 매뉴얼의 특성화면 캡처를 최대한 활용하여 사용자가 이해하기 쉽도록 구성주요 기능을 설명할 화면을 첨부제품 소프트웨어 동작 시 함께 동작하는 Application이나 설치되어 충돌될 수 있는 응용 프로그램에 대해 보여줌제품 소프트웨어 동작 시 사전에 실행해야 할 Application이 있으면 기술제품 소프트웨어가 Embedded 관련된 제품일 경우 해당 Device에는 어떤 것이 있는지, 연동되는 Device..

2과목. 소프트웨어 개발 > 3장. 소프트웨어 패키징 > 애플리케이션 배포(Application Release) : 빌드, 빌드 자동화 도구, 소프트웨어 빌드(Software Build)소프트웨어 빌드 자동화 도구의 개념빌드 : 소프트웨어를 생성하고 테스트하고 검사하여 배포하기 위해 수행하는 행위의 집합빌드 자동화 도구 : 제품 소프트웨어 실행파일 생성을 자동화하기 위해서 저장소에 있는 소스를 자동으로 읽어서 빌드한 후 테스트하고 검사하여 실행 파일을 만드는 도구, 지속적인 통합과도 일맥상통소프트웨어 빌드 자동화 도구 프로세스컴파일 : 소스 코드를 바이너리 파일로 컴파일패키징 : 바이너리 파일을 배포 형태로 패키징단위테스트 : 단위 테스트 (커버리지 포함) 수행정적분석 : 정적분석을 수행리포팅 : 분석결..

2과목. 소프트웨어 개발 > 3장. 소프트웨어 패키징 > 애플리케이션 모니터링 : 참조 모니터(Reference monitor)애플리케이션 모니터링 도구모니터링 기능도구(예)설명애플리케이션 변경관리ChangeMiner• 애플리케이션간 종속관계를 모니터링• 애플리케이션 변경이 있을 경우 변경의 영향도 파악에 활용애플리케이션 성능관리Jeniffer애플리케이션 서버로 유입되는 트랜잭션 수량, 처리시간, 응답시간 등을 모니터링Nmon (GPL v3)• 리눅스 서버 자원에 대한 모니터링 도구• nmonanalyser를 이용하여 자원 사용량을 그래프로 표현할 수 있음애플리케이션 정적분석PMD (BSD, LGPL)• Java로 작성된 소스의 코드 잠재적인 문제 발견• Java 코딩 규칙 오류 발견Cppcheck (G..

2과목. 소프트웨어 개발 > 3장. 소프트웨어 패키징 > 소프트웨어 위기 발생 요인 :소프트웨어의 위험 요인연쇄 작용 : 한 반응이 일어나면 여러 반응이 가지를 쳐서 일어나는 현상확실성 : 의심의 여지가 없는 상태 또는 오류로부터 완전한 보증을 가지고 있는 상태예측 : 미리 짐작하는 것불확실성 : 위험이 발생할 수도 있고 발생하지 않을수도 있음손실 : 위험이 실제로 발생하면 반드시 손실이나 원하지 않은 결과 발생소프트웨어 위기 발생 요인소프트웨어 특징에 대한 이해 부족소프트웨어 관리 부재소프트웨어 품질이나 유지보수는 고려하지 않고 프로그래밍에만 치중1000제-662번. 소프트웨어 위험의 대표적 특성으로 가장 적합한 것은?① 연쇄작용, 확실성② 불확실성, 손실③ 연쇄작용, 예측④ 확실성, 예측 정답 : ..

2과목. 소프트웨어 개발 > 3장. 소프트웨어 패키징 > 소프트웨어 버전 관리 : 소프트웨어 버전 관리 용어, 소프트웨어 버전 등록 순서소프트웨어 버전 관리 도구의 개념컴퓨터에서 사용하는 파일들의 변화를 시간에 따라 기록함으로서 소프트웨어의 버전과 변경, 개선 내역을 관리하는 도구소프트웨어 버전 관리 도구 유형로컬 버전 관리 Local담당자 한 명이 매일 공유 폴더의 파일을 자기 PC로 복사하고 컴파일하여 에러 확인과 정상 동작 여부 확인RCS, SCCS중앙집중식 버전 관리 Centralized모든 파일을 관리하는 서버가 중앙에 있고, 클라이언트(개발자)가 중앙 서버에서 파일을 받아서 사용CVS, Subversion, Perforce분산형 버전 관리 Distributed원격 저장소의 파일을 공유하는 형태..


2과목. 소프트웨어 개발 > 3장. 소프트웨어 패키징 > DRM(Digital Rights Management) :DRM의 개념디지털 콘텐츠의 생성에서 이용까지 유통 전 과정에 걸쳐 디지털 콘텐츠를 안전하게 관리/보호하고, 부여된 권한 정보에 따라 디지털 콘텐츠의 이용을 제어/통제하는 기술각종 미디어의 접근 및 사용 권한을 서버 인증을 통해 중앙집중식으로 통제DRM의 기술 요소암호화 (Encryption)컨텐츠 및 라이선스 암호화전자 서명PKI, Symmetric / Asymmetric Encryption, Digital Signature키 관리 (Key Management)컨텐츠를 암호화한 키에 대한 저장 및 배포 기술Centralized, Enveloping암호화 파일 생성 (Packager)컨텐츠를..


2과목. 소프트웨어 개발 > 2장. 통합 구현 > 형상 관리(Configuration Management) : 형상 관리 도구형상관리의 개념소프트웨어 형상 관리는 소프트웨어 개발 과정에서 발생하는 변경을 관리하는 활동소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보장하는 것을 목적으로 함형상관리의 기능SDLC 전 단계의 산출물을 체계적으로 관리하여, 소프트웨어 가시성 및 추적성을 부여하여 품질보증을 향상시키는 관리적 활동소프트웨어 구현이 진행되는 동안 소스 코드 및 문서에 대한 형상은 지속적으로 변함, 이에 대한 관리를 위하여 형상관리 도구를 활용형상관리는 소프트웨어 변경사항을 관리하기 위해서 형상 식별, 형상 통제, 형상 감사, 형상 기록을 수행형상관리 대상소스 코드..

2과목. 소프트웨어 개발 > 2장. 통합 구현 > 프레임워크(Framework) : 데이터 품질 관리 프레임워크의 대상, 데이터 품질 관리 프레임워크의 조직, 모듈화, 서버 프레임워크 구성 요소, 스프링 프레임워크, 전자정부 프레임워크프레임워크의 개념효율적인 정보 시스템 개발을 위한 구조나 틀을 의미공통 라이브러리, 온라인, 배모바일 개발 및 실행 환경, 어플리케이션 인터페이스와 개발에 유용한 각도구나 설정 정보 등을 제공소프트웨어 개발에 필요한 부가 기능, 도구, 가 등을 제공하여 개발 및 운영 효율성과 생산성을 향상시킬 수 있음프레임워크의 특징모듈화 (modularity) : 인터페이스에 의한 캡슐화를 통해 모듈성을 강화하고 설계와 구현의 변경에 따르는 영향을 극소화하여 소프트웨어의 품질을 향상시킴모..