2020.06.06
21. 합병 정렬
정렬된 N개의 데이터를 처리하는데 O(Nlog2 N)의 시간이 소요되는 정렬 알고리즘
22. White Box Testing
Source Code의 모든 문장을 한 번 이상 수행함으로써 진행된다.
모듈 안의 작동을 직접 관찰할 수 있다.
산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
23. 소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목
정확성
무결성
사용성
24. STAF
서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하여 자동화하는 검증 도구
25. EAI(Enterprise Application Integration)의 구축 유형
Point-to-Point
Hub&Spoke
Message Bus
26. 생략
27. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션
IPSec
SSL
S-HTTP
28. 생략
29. 반정규화(Denormalization) 유형 중 중복 테이블을 추가하는 방법
집게 테이블의 추가
진행 테이블의 추가
특정 부분만을 포함하는 테이블의 추가
30. ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성(Functionility)의 하위 특정
적합성
정확성
보안성
31. 생략
32. 디지털 저작관 관리(DRM)의 기술 요소
크랙 방지 기술
정책 관리 기술
암호화 기술
33. Pareto의 법칙
소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙
34. 소프트웨어 형상 관리의 의미
개발 과정의 변경 사항을 관리하는 것
35. 알고리즘 시간 복잡도 O(1)이 의미하는 것
알고리즘 수행 시간이 입력 데이터 수와 관계없이 일정
36. 소스코드 품질분석 도구 중 정적 분석 도구
pmd
cppcheck
checkstyle
37. 알파 검사
검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법
일반적으로 통제된 환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사
38. Stub
하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈
39. SW 패키징 도구 활용 시 고려 사항
패키징 시 사용자에게 배포되는 SW이므로 보안을 고려한다.
사용자 편의성을 위한 복합성 및 비효율성 문제를 고려한다.
제품 SW 종류에 적합한 암호화 알고리즘을 적용한다.
40. 외계인 코드(Alien Code)
아주 오래되거나 참고 문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램
2020.08.22
21. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션
IPSec
SSL
S-HTTP
22. 소프트웨어 공학의 기본 원칙
품질 높은 소프트웨어 상품 개발
지속적인 검증 시해애
결과에 대한 명확한 기록 유지
23. ISO/IEC 12119
패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준
24. 클린 코드 작성 원칙
누구든지 쉽게 이해하는 코드 작성
다른 모듈에 미치는 영향 최소화
단순, 명료한 코드 작성
25. 블랙박스 테스트의 유형
경곗값 분석
오류 예측
동등 분할 기법
26. 생략
27. 생략
28. 형상 관리 도구의 주요 기능
체크인(Check-in)
체크아웃(Check-out)
커밋(Commit)
29. 생략
30. 신뢰성
소프트웨어 품질 목표 중 주어진 시간 동안 주어진 기능을 오류 없이 수행하는 정도를 나타내는 것
31. 알고리즘 설계 기법
Divide and Conquer
Greedy
Backtracking
32. 제품 소프트웨어의 형상 관리 역할
형상 관리를 통해 이전 리버전이나 버전에 대한 정보 접근 가능하여 배포본 관리에 유용
불필요한 사용자의 소스 수정 제한
동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
33. 제품 소프트웨어 패키징 도구 활용 시 고려사항
제품 소프트웨어의 종류에 적합한 암호화 알고리즘을 고려한다.
추가로 다양한 이기종 연동을 고려한다.
사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
34. 디지털 저작권 관리(DRM) 기술
콘텐츠 암호화 및 키 관리
콘텐츠 식별체계 표현
라이선스 발급 및 관리
35. 물리 데이터 저장소의 파티션 설계에서 파티션 유형
범위 분할(Range Partitioning)
해시 분할(Hash Partitioning)
조합 분할(Composite Partitioning)
36. 하향식 통합 테스트
애플리케이션 통합 테스트 유형
깊이 우선 방식 또는 너비 우선 방식이 있다.
상위 컴포넌트를 테스트하고 점증적으로 하위 컴포넌트를 테스트한다.
하위 컴포넌트 개발이 완료되지 않은 경우 스텁(Stub)을 사용하기도 한다.
37. AJAX
인터페이스 구현 시 사용하는 기술
JavaScript를 사용한 비동기 통신기술로 클라이언트와 서버 간에 XML 데이터를 주고받는 기술
38. 소프트웨어 재공학이 소프트웨어의 재개발에 비해 갖는 장점
위험부담 감소
비용 절감
시스템 명세의 오류 억제
39. 인수 테스트
알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계
40. 생략
2020.09.26
21. 소프트웨어 패키징 도구 활용 시 고려 사항
반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다.
사용자의 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.
22. Hybrid
EAI(Enterprise Application Integration) 구축 유형
Hub&Spoke와 Message Bus의 혼합방식이다.
필요한 경우 한 가지 방식으로 EAI구현이 가능하다.
데이터 병목현상을 최소화할 수 있다.
23. 소스코드 품질분석 도구 중 정적 분석 도구
pmd
checkstyle
cppcheck
24. 생략
25. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 것
IPSec
SSL
S-HTTP
26. 알파 검사
검증(Validation) 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법
27. 생략
28. 소프트웨어 설치 매뉴얼
설치 과정에서 표시될 수 있는 예외상황에 관련 내용을 별도로 구분하여 설명한다.
설치 시작부터 완료할 때까지 전 과정을 빠짐없이 순서대로 설명한다.
설치 매뉴얼에는 목차, 개요, 기본사항 등이 기본적으로 포함되어야 한다.
29. 인터페이스 구현 검증 도구
xUnit
STAF
NTAF
30. 소프트웨어 형상 관리에서 관리 항목
프로젝트 요구 분석서
소스 코드
운영 및 설치 지침서
31. 내부 스키마
물리적 저장 장치의 입장에서 본 데이터베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
32. 생략
33. n(n-1)
n개의 노드로 구성된 무방향 그래프의 최대 간선수
34. 테스트 오라클
테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 말한다.
종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.
35. 빌드 자동화 도구
Gradle은 실행할 처리 명령들을 모아 테스트로 만든 후 테스트 단위로 실행한다.
빌드 자동화 도구는 지속적인 통합 개발 환경에서 유용하게 활용된다.
빌드 자동화 도구에는 Ant, Gradle, Jenkins 등이 있다.
36. 저작권 관리 구성 요소
콘텐츠 제공자(Contents Provider) : 콘텐츠를 제공하는 저작권자
클리어링 하우스(Clearing House) : 키 관리 및 라이선스 발급 관리
DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제
37. 블랙박스 테스트 기법
동치 클래스 분해
경곗값 분석
원인 결과 그래프
38. 폴딩 법
해싱 함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR 한 값을 홈 주소로 사용하는 방식
39. 단순성
클린 코드 작성 원칙
한 번에 한 가지 처리만 수행한다.
클래스/메서드/함수를 최소 단위로 분리한다.
40. 디지털 저작권 관리(DRM) 기술
콘텐츠 암호화 및 키 관리
콘텐츠 식별체계 표현
라이선스 발급 및 관리
2021.03.07
21. 구현 단계에서의 작업 절차
코딩 작업을 계획한다. -> 코딩한다. -> 컴파일한다. -> 코드를 테스트한다.
22. 생략
23. Stub
하향식 통합 시험을 위해 임시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈
24. 생략
25. tree
그래프의 특수한 형태로 노드(Node)와 선분(Branch)으로 되어 있고, 정점 사이에 사이클(Cycle)이 형성되어 있지 않으며, 자료 사이의 관계성이 계층 형식으로 나타나는 비선형 구조
26. 스택
입출력이 한쪽 끝으로만 제한된 리스트이다.
LIFO구조이다.
더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더 플로(Underflow)가 발생한다.
27. 디지털 저작권 관리(DRM)에 사용되는 기술요소
키 관리
암호화
크랙 방지
28. 라디오 버튼
여러 개의 선택 항목 중 하나의 선택만 가능한 경우 사용하는 사용자 인터페이스(UI) 요소
29. 재사용성(Reusability)
소프트웨어의 일부분을 다른 시스템에서 사용할 수 있는 정도
30. 자료구조
큐는 First in - First Out 처리를 수행한다.
스택은 Last in - First Out 처리를 수행한다.
스택은 서브루틴 호출, 인터럽트 처리, 수식 계산 및 수식 표기법에 응용된다.
31. 경곗값 분석
블랙박스 검사 기법
32. 이진 검색 알고리즘
탐색 효율이 좋고 탐색 시간이 적게 소요된다.
검색할 데이터가 정렬되어 있어야 한다.
비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어든다.
33. Usability
소프트웨어 품질목표 중 쉽게 배우고 사용할 수 있는 정도
34. 테스트 케이스에 일반적으로 포함되는 항목
테스트 조건
설치 관련 파일
프로그램 삭제
35. 소프트웨어 설치 매뉴얼에 포함될 항목
제품 소프트웨어 개요
설치 관련 파일
프로그램 삭제
36. 소프트웨어 형상관리(Configuration management)
소프트웨어에서 일어나는 수정이나 변경을 알아내고 제어하는 것을 의미한다.
소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
형상관리의 기능 중 하나는 버전 제어 기술이다.
37. 퀵 정렬
레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬한다.
38. 해싱 함수(Hashing Function)의 종류
제곱 법(mid-square)
숫자 분석법(digit analysis)
제산법(division)
39. 베타 검사
필드 테스팅(field testing)이라고도 불리며 개발자 없이 고객의 사용 환경에 소프트웨어를 설치하여 검사를 수행하는 인수검사 기법
40. 생략
2021.05.15
21. 힙 정렬(Heap Sort)
정렬할 입력 레코드들로 힙을 구성하고 가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법이다.
평균 수행 시간은 O(nlog2 n)이다.
완전 이진트리(complete binary tree)로 입력자료의 레코드를 구성한다.
22. 단위 테스트를 통해 발견할 수 있는 오류
알고리즘 오류에 따른 원치 않는 결과
탈출구가 없는 반복문의 사용
틀린 계산 수식에 의한 잘못된 결과
23. 결함 집중
소프트웨어 테스트의 기본원칙
파레토 법칙이 좌우한다.
애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재한다.
결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다.
24. 체크인(Check-in)
버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어
25. 소프트웨어 테스트
화이트 박스 테스트는 모듈의 논리적인 구조를 체계적으로 점검할 수 있다.
블랙박스 테스트는 프로그램의 구조를 고려하지 않는다.
테스트 케이스에는 일반적으로 시험 조건, 테스트 데이터, 예상 결과가 포함되어야 한다.
26. 성능 테스트 도구
애플리케이션의 처리량, 응답 시간, 경과시간, 자원 사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함으로써 성능 목표를 달성하였는지를 확인하는 테스트 자동화 도구
27. 소프트웨어 형상 관리
소프트웨어에 가해지는 변경을 제어하고 관리한다.
프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 관리 대상이다.
유지 보수 단계뿐만 아니라 개발 단계에도 적용할 수 있다.
28. 디지털 저작권 관리(DRM) 구성 요소
DRM Controller
Packager
Contents Distributor
29. 분산 저장소 방식
소프트웨어 버전 관리 도구 방식
버전 관리 자료가 원격 저장소와 로컬 저장소에 함께 저장되어 관리된다.
로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업할 수 있다.
대표적인 버전 관리 도구로 Git이 있다.
30. 블랙박스 테스트를 이용하여 발견할 수 있는 오류
비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
경곗값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우
31. 생략
32. 합병 정렬
정렬된 N개의 데이터를 처리하는 데 O(Nlog2 N)의 시간이 소요되는 정렬 알고리즘
33. 생략
34. Message Bus(문제 오류)
EAI(Enterprise Application Integration) 구축 유형에서 애플리케이션 사이에 미들웨어를 두어 처리하는 것
35. 인터페이스 구현 검증 도구
STAF
watir
xUnit
36. 클린 코드 작성 원칙
코드의 중복을 최소화한다.
누구든지 코드를 쉽게 읽을 수 있도록 작성한다.
간단하게 코드를 작성한다.
37. 소프트웨어 패키징
신규 및 변경 개발 소스를 식별하고, 이를 모듈화 하여 상용제품으로 패키징 한다.
고객의 편의성을 위해 매뉴얼 및 버전 관리를 지속적으로 한다.
범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
38. 공학적으로 잘된 소프트웨어(Well Engineered Software)
소프트웨어는 유지보수가 용이해야 한다.
소프트웨어는 신뢰성이 높아야 한다.
소프트웨어는 충분한 테스팅을 거쳐야 한다.
39. 테스트와 디버그의 목적
테스트는 오류를 찾는 작업이고 디버깅은 오류를 수정하는 작업이다.
40. 스택을 이용한 연산
재귀 호출
후위 표현(Post-fix expression)의 연산
깊이 우선 탐색
2021.08.14
21. 강도(Stress) 테스트
시스템에 과다 정보량을 부과하여 과부하 시에도 시스템이 정상적으로 작동되는지를 테스트한다.
22. 생략
23. 생략
24. 모듈
소프트웨어 구조를 이루며, 다른 것들과 구별될 수 있는 독립적인 기능을 갖는 단위이다.
하나 또는 몇 개의 논리적인 기능을 수행하기 위한 명령어들의 집합이라고도 할 수 있다.
서로 모여 하나의 완전한 프로그램으로 만들어질 수 있다.
25. 테스트 드라이버(Test Driver)
시험대상 모듈을 호출하는 간이 소프트웨어이다.
필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있다.
상향식 통합 테스트에서 사용된다.
26. 선형 구조
큐, 데크
27. 생략
28. 제품 소프트웨어의 사용자 매뉴얼 작성 절차
작성 지침 정의 -> 사용 설명서 구성 요소 정의 -> 구성 요소별 내용 작성 -> 사용 설명서 검토
29. 생략
30. 소프트웨어 테스트에서 검증(Verification)과 확인(Validation)
소프트웨어 테스트에서 검증과 확인을 구별하면 찾고자 하는 결함 유형을 명확하게 하는 데 도움이 된다.
검증은 소프트웨어 개발 과정을 테스트하는 것이고, 확인은 소프트웨어 결과를 테스트한 것이다.
검증은 작업 제품이 요구 명세의 기능, 비기능 요구사항을 얼마나 잘 준수하는지 측정하는 작업이다.
31. 단위 테스트(Unit Test)
개별 모듈을 시험하는 것으로 모듈이 정확하게 구현되었는지, 예정한 기능이 제대로 수행되는지를 점검하는 것이 주요 목적인 테스트
32. 형상 관리의 개념과 절차
형상 식별은 형상 관리 계획을 근거로 형상관리의 대상이 무엇인지 식별하는 과정이다.
형상 관리를 통해 가시성과 추적성을 보장함으로써 소프트웨어의 생산성과 품질을 높일 수 있다.
형상 검사는 형상 관리 계획대로 형상관리가 진행되고 있는지, 형상 항목의 변경이 요구 사항에 맞도록 제대로 이뤄졌는지 등을 살펴보는 활동이다.
33. 소스코드 정적 분석(Static Analysis)
소스 코드를 실행시키지 않고 분석한다.
코드에 있는 오류에 잠재적인 오류를 찾아내기 위한 활동이다.
자료 흐름이나 논리 흐름을 분석하여 비정상적인 패턴을 찾을 수 있다.
34. Fault
소프트웨어 개발 활동을 수행함에 있어서 시스템 고장(Failure)을 일으키게 하며, 오류(Error)가 있는 경우 발생하는 것
35. 코드의 간결성을 유지하기 위해 사용되는 지침
공백을 이용하여 실행문 그룹과 주석을 명확히 구분한다.
복잡한 논리식과 산술식은 괄호와 들여 쓰기(Indentation)를 통해 명확히 표현한다.
빈 줄을 사용하여 선언부와 구현부를 구별한다.
36. Portability
소프트웨어 품질 목표 중 하나 이상의 하드웨어 환경에서 운용되기 위해 쉽게 수정될 수 있는 시스템 능력
37. 이진 탐색 트리
최악의 경우 검색 효율이 가장 나쁜 트리 구조
38. 생략
39. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법
입력 도메인 분석
랜덤(Random) 테스트
자료 흐름도
40. 저작권 관리 구성 요소 중 패키저(Packager)의 주요 역할
콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묵는다.
'개발자 되기 > 자격증' 카테고리의 다른 글
[정보처리기사] 필기 기출 5과목 키워드 정리 (0) | 2022.04.08 |
---|---|
[정보처리기사] 필기 기출 4과목 키워드 정리 (0) | 2022.04.08 |
[정보처리기사] 필기 기출 3과목 키워드 정리 (0) | 2022.04.08 |
[정보처리기사] 필기 기출 1과목 키워드 정리 (0) | 2022.04.08 |
[정보처리기사] 비전공자 필기 합격 공부 방법 (0) | 2022.04.08 |