2020년 03회 기출 리뷰 (2020.08.22)
1. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션
- IPSec : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능 제공
- SSL : TCP/IP 계층과 애플리케이션 계층 사이에서의 인증, 암호화, 무결성을 보장하는 프로토콜
- S-HTTP(HTTPS) : 클라이언트와 서버간 전송되는 모든 메시지를 암호화하는 프로토콜
보안 관련이므로 SMTP는 해당이 되지 않는다. (전자 우편 프로토콜)
2. 소프트웨어 공학의 기본 원칙
- 품질 높은 소프트웨어 상품 개발
- 지속적인 검증 시행
- 결과에 대한 명확한 기록 유지
Brooks의 법칙 : 지연되는 프로젝트에 인력을 더 투입하면 오히려 늦어진다.
3. 패키지 소프트웨어 표준
- ISO/IEC 9126 : 소프트웨어 품질 특성 및 척도에 대한 표준화
- ISO/IEC 12119 : 소프트웨어의 품질 평가를 위해 정보 기술과 소프트웨어 패키지에 대한 품질 요구사항 및 시험사항을 규정한 국제 표준이다. 주로 패키지 소프트웨어에 대한 품질 평가에 적용한다
- ISO/IEC 14598 : 소프트웨어 제품 평가 프로세스 및 평가 모듈 제공(품질 평가 프로세스) ISO/IEC 9126 규정에 따른다.
- ISO/IEC 25000 : 하나로 통합
4. 클린 코드 작성 원칙
- 가독성
- 단순성
- 의존성 배제
- 중복성 최소화
- 추상화
5. 테스트 유형
1. 블랙박스 테스트 유형
- 경계값 분석(Boundary Value Analysis)
- 동치(동등) 분할 검사(Equivalence Partitioning Testing)
- 원인-효과 그래프 검사(Cause-Effect Graphing Testing)
- 오류 예측 검사(Error Guessing)
- 비교 검사(Comparison Testing)
2. 화이트박스 테스트 유형
- 기초 경로 검사
- 제어 구조 검사
- 조건 검사(Condition Testing)
- 루프 검사(Loop Testing)
- 데이터 흐름 검사(Data Flow Testing)
블랙박스는 내부를 모르는 상태로 인풋과 아웃풋으로만 판단,
화이트박스는 내부 코드 단위 테스트
6. 제어흐름 그래프
cyclomatic 수 계산공식
1. Edge(화살표) - Node(동그라미) + 2
2. 또는 막혀있는 공간 + 1
그림의 cyclomatic 수는
첫번째 공식으로는
6(Edge) - 4(Node) + 2 = 4
두번째 공식으로는
막혀있는 공간 3개 + 1 = 4
7. 다음 자료에 대해 선택 정렬을 이용하여 오름차 순으로 정렬
[37, 14, 17, 40, 35]
선택 정렬은 가장 작은 값을 찾아 첫 번째 값과 교환한다.
그 후 정렬된 값을 제외한 나머지 인덱스 중
가장 작은 값을 찾아 정렬되지 않은 인덱스 중 가장 처음 값과 자리를 교환한다.
1회전 : [14, 37, 17, 40, 35] (14가 제일 작아 첫번째 값과 교환, 그 후 14는 정렬에서 제외)
2회전 : [14, 17, 37, 40, 35] (17이 제일 작으므로 37과 교환, 그 후 17는 정렬에서 제외)
3회전 : [14, 17, 35, 40, 37] (남은 값중 35가 가장 작으므로 맨 앞값인 37과 교환, 그 후 35는 정렬에서 제외)
4회전 : [14, 17, 35, 37, 40] (마지막으로 정렬되지 않은 40과 제일 작은 값인 37을 교환하여 정렬을 마친다.)
8. 형상 관리 도구의 주요 기능
- 저장소(Repository) : 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
- 가져오기(Import) : 버전 관리가 되고 있지 않은 아무것도 없는 저장소에 처음으로 파일을 복사
- 체크아웃(Check-Out) : 프로그램을 수정하기 위해 저장소에서 파일을 받아 옴.
소스 파일과 함께 버전 관리를 위한 파일들도 받음
- 체크인(Check-In) : 체크아웃 한 파일의 수정을 완료 한 후 저장소의 파일을 새로운 버전으로 갱신
- 커밋(Commit) : 체크인을 수행할 때 이전에 갱신 된 내용이 있는 경우 충돌을 알리고
diff 도구를 이용해 수정 후 갱신완료
- 동기화(Update) : 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화함
9. 트리 운행법
이진 트리 운행법
- Preorder 운행(전위 순회) : Root -> Left -> Right 순
- Inorder 운행(중위 순회) : Left -> Root -> Right 순
- Postorder 운행(후위 순회) : Left -> Right -> Root 순
10. 소프트웨어 품질 목표
- 기능성 : 사용자 요구사항 정확하게 만족
- 신뢰성 : 요구된 기능을 정확하고 일관되게 오류없이 수행
- 사용성 : 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대해 사용자가 정확하게 이해하고 사용하며
향후 다시 사용하고 싶은 정도
- 효율성 : 요구하는 기능을 할당된 시간동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지 정도
- 유지보수성 : 환경 변화 or 새 요구사항 발생 시 소프트웨어 개선 및 확장할 수 있는 정도
- 이식성 : 타 환경에서도 얼마나 쉽게 적용할 수 있는지 정도
11. 알고리즘 설계 기법
- 분할 정복 알고리즘(Divide and Conquer) : 그대로 해결 할 수 없는 문제를 작은 문제로 분할하여
문제를 해결하는 알고리즘
- Greedy(탐욕 알고리즘) : 현재 시점에서 가장 최적의 방법을 선택하는 알고리즘
- Backtracking : 모든 조합을 시도하여 문제의 답을 찾는 알고리즘
12. 형상 관리 역할
- 이전 리버전이나 버전에 대한 정보에 접근하여 배포본 관리에 유용
- 불필요한 사용자의 소스 수정 제한
- 동일 프로젝트에 대해 여러 개발자가 동시에 개발 가능
프로젝트의 버전과 수정사항을 관리하지만 개발 비용을 관리하지 않느다.
13. 제품 소프트웨어 패키징 도구 활용시 고려사항
- 적합한 암호화 알고리즘 고려
- 여러가지 이기종 콘텐츠 및 단말기 간 연동 고려
- 사용자 편의성을 위한 복잡성 및 비효율성 문제 고려
14. 디지털 저작권 관리(DRM) 기술요소
- 암호화(Encryption) : 콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술
- 키 관리(Key Management) : 콘텐츠를 암호화한 키에 대한 저장 및 분배 기술
- 암호화 파일 생성(Packager) : 콘텐츠를 암호화한 콘텐츠로 생성하기 위한 기술
- 식별 기술(Identification) : 콘텐츠에 대한 식별 체계 표현 기술
- 저작권 표현(Right Expression) : 라이선스 내용 표현 기술
- 정책 관리(Policy Management) : 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술
- 크랙 방지(Tamper Resistance) : 크랙에 의한 콘텐츠 사용 방지 기술
- 인증(Authentication) : 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술
15. 파티션 유형
- 범위 분할(Range Partitioning) : 지정한 열의 값을 기준으로 분할
- 해시 분할(Hash Partitioning) : 해시 함수를 적용한 결과 값에 따라 데이터 분할
- 조합 분할(Composite Partitioning) : 범위 분할 후 해시 함수를 적용하여 다시 분할
16. 애플리케이션 통합 테스트 유형
- 상향식 통합 테스트
- 프로그램 하위 모듈에서 상위 모듈로 통합하면서 테스트
- 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터 필요
- 상위 모듈 개발이 완료되지 않은 경우 드라이버(Driver)를 사용하기도 함
- 깊이 우선 방식 또는 너비 우선 방식이 있다.
- 상위 컴포넌트를 테스트 하고 점증적으로 하위 컴포넌트를 테스트 한다.
- 하위 컴포넌트 개발이 완료되지 않은 경우 스텁(Stub)을 사용하기도 한다.
- 회귀 테스트
- 이미 테스트 된 프로그램의 테스팅 반복
- 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인
- 빅뱅 테스트
- 통합 테스트(Integration Test) 중 비점진적 통합방식
18. 소프트웨어 재공학의 장점
- 위험부담 감소
- 비용 절감
- 시스템 명세의 오류 억제
19. 인수 테스트(Acceptance Test)의 종류
- 사용자 인수 테스트
- 운영상의 인수 테스트
- 계약 인수 테스트
- 규정 인수 테스트
- 알파 테스트
- 베타 테스트
20. 트리
트리의 차수(degree) : 전체 트리 중에서 가장 많은 차수
노드의 차수(degree) : 각 노드에서 뻗어나온 가지의 수 e.g. B의 차수는 3(D, E, F)
단말 노드(Terminal Node) = 잎 노드(Leaf Node) : 자식이 하나도 없는, Degree가 0인 노드
e.g. D, E, H, I, G
Level : 근 노드의 레벨은 1, 뎁스별로 레벨 1이 추가 (e. g. C 노드의 Level은 2이고, G 노드의 Level은 3이다.)
기타 용어 ) Procedure : 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어
'자격증 > 정보처리기사' 카테고리의 다른 글
2020년 1, 2회 정보처리기사 필기 2과목(소프트웨어 개발) 문제 정리 (0) | 2021.03.06 |
---|---|
2020년 1, 2회 정보처리기사 필기 1과목(소프트웨어 설계) 문제 정리 (0) | 2021.03.06 |
2020년 03회 정보처리기사 필기 5과목(정보시스템 구축관리) 문제 정리 (0) | 2021.03.05 |
2020년 03회 정보처리기사 필기 3과목(데이터베이스 구축) 문제 정리 (0) | 2021.03.05 |
2020년 03회 정보처리기사 필기 1과목(소프트웨어 설계) 문제 정리 (0) | 2021.03.04 |