인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?
① IPSec
② SSL
③ SMTP
④ S-HTTP
소프트웨어 공학의 기본 원칙이라고 볼 수 없는 것은?
① 품질 높은 소프트웨어 상품 개발
② 지속적인 검증 시행
③ 결과에 대한 명확한 기록 유지
④ 최대한 많은 인력 투입
패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?
① ISO/IEC 2196
② IEEE 19554
③ ISO/IEC 12119
④ ISO/IEC 14959
다음 중 클린 코드 작성원칙으로 거리가 먼 것은?
① 누구든지 쉽게 이해하는 코드 작성
② 중복이 최대화된 코드 작성
③ 다른 모듈에 미치는 영향 최소화
④ 단순, 명료한 코드 작성
블랙박스 테스트의 유형으로 틀린 것은?
① 경계값 분석
② 오류 예측
③ 동등 분할 기법
④ 조건, 루프 검사


형상 관리 도구의 주요 기능으로 거리가 먼 것은?
① 정규화(Normalization)
② 체크인(Check-in)
③ 체크아웃(Check-out)
④ 커밋(commit)

소프트웨어 품질 목표 중 주어진 시간동안 주어진 기능을 오류없이 수행하는 정도를 나타내는 것은?
① 직관성
② 사용 용이성
③ 신뢰성
④ 이식성
알고리즘 설계 기법으로 거리가 먼 것은?
① Divide and Conquer
② Greedy
③ Static Block
④ Backtracking
제품 소프트웨어의 형상 관리 역할로 틀린 것은?
① 형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용
② 불필요한 사용자의 소스 수정 제한
③ 프로젝트 개발비용을 효율적으로 관리
④ 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
제품 소프트웨어 패키징 도구 활용 시 고려사항이 아닌 것은?
① 제품 소프트웨어의 종류에 적합한 암호화 알고리즘을 고려한다.
② 추가로 다양한 이기종 연동을 고려한다.
③ 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
④ 내부 콘텐츠에 대한 보안은 고려하지 않는다.
디지털 저작권 관리(DRM) 기술과 거리가 먼 것은?
① 콘텐츠 암호화 및 키 관리
② 콘텐츠 식별체계 표현
③ 콘텐츠 오류 감지 및 복구
④ 라이센스 발급 및 관리
물리데이터 저장소의 파티션 설계에서 파티션 유형으로 옳지 않은 것은?
① 범위분할(Range Partitioning)
② 해시분할(Hash Partitioning)
③ 조합분할(Composite Partitioning)
④ 유닛분할(Unit Partitioning)


소프트웨어 재공학이 소프트웨어의 재개발에 비해 갖는 장점으로 거리가 먼 것은?
① 위험부담 감소
② 비용 절감
③ 시스템 명세의 오류억제
④ 개발시간의 증가
알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?
① 단위 테스트
② 인수 테스트
③ 통합 테스트
④ 시스템 테스트

IPSec : 네트워크 계층에서 IP 패킷 단위의 변조 방지 및 은닉 기능 제공
SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜
SMTP : 전자 우편을 교환하는 서비스를 제공하는 프로토콜
S-HTTP : 클라이언트와 서버 간 전송되는 모든 메시지를 암호화하는 프로토콜
많은 인력을 투자한다고 해서 소프트웨어를 빨리 만드는 것은 아님
ISO/IEC 12119 패키지 소프트웨어 제품테스트 국제 표준
중복이 많으면 좋은 코드가 아님.
중복을 최소화하여야 함.
조건검사, 루프검사는 화이트박스 테스트 유형이다.
V(G) = Edge - Node + 2
Edge = 6(화살표)
Node = 4(동그라미)
V(G) = 6 - 4 + 2 = 4
선택정렬은 가장 작은 값을 찾아 첫번째 값과 교환한다. 이후 정렬된 값을 제외한 나머지 인덱스 중 가장 작은 값을 찾아 정렬되지 않은 인덱스 중 가장 처음 값과 자리를 교환해 나아간다.
1회전 : 14 37 17 40 35
2회전 : 14 17 37 40 35
3회전 : 14 17 35 40 37
Respository(저장소) : 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
Check-out : 프로그램을 수정하기 위해 저장소에서 파일을 받아 옴. 소스 파일과 함께 버전 관리를 위한 파일들도 받음
Check-in : 체크아웃 한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신
commit : 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우 충돌을 알리고 diff 도구를 이용해 수정 후 갱신 완료
Update(동기화) : 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화함
Preorder 운행 : Root > Left > Right 순으로 운행
신뢰성 : 소프트웨어 품질 목표 중 주어진 시간 동안 주어진 기능을 오류 없이 수행하는 정도를 나타내는 것
직관성 : 누구나 쉽게 이해하고, 사용할 수 있도록 제작한다.
사용 용이성 : 사용이 용이한 정도이다.
이식성 : 하나의 운영 환경에서 다른 환경으로 소프트웨어를 옮기는 데 드는 노력이다.
Divide and Conquer : 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 알고리즘
Greedy : 현재 시점에서 가장 최적의 방법을 선택하는 알고리즘
Backtracking : 모든 조합을 시도하여 문제의 답을 찾는 알고리즘
형상관리는 프로젝트의 버전, 수정사항을 관리하지 개발 비용을 관리하지는 않는다.
패키징 시 사용자에게 배포 되는 소프트웨어 임을 감안하여 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다.
패키징 도구를 활용하여 여러 가지 이기종 콘텐츠 및 단말기 간 DRM을 고려한다.
패키징 도구를 고려하면 사용자의 입장에서 불편해질 수 있는 문제를 고려하여 최대한 효율적으로 적용될 수 있도록 한다.
암호화 알고리즘이 여러 가지 종류가 있는데 제품 소프트웨어의 종류에 맞는 알고리즘을 선택하여 배포시 범용성에 지장이 없도록 고려한다.
암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증
범위 분할, 목록 분할, 해시 분할, 조합 분할
상향식 통합 테스트 : 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트,
하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터 필요,
상위 모듈 개발이 완료되지 않은 경우 드라이버를 사용하기도 함
회귀 테스트 : 이미 테스트된 프로그램의 테스팅 반복,
통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인
빅뱅 테스트 : 통합 테스트 중 비점진적 통합 방식
Procedure : 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어
Trigger : 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
Greedy : 탐욕 알고리즘
AJAX : 브라우저와 서버 간의 비동기 통신 채널, 자바스크립트, XML의 집합과 같은 기술들이 포함된다. 대화식 웹 애플리케이션을 개발하기 위해 사용되며, AJAX 애플리케이션은 실행을 위한 플랫폼으로 사용되는 기술들을 지원하는 웹 브라우저를 이용한다.
재공학 하는 것이 시간적으로 절약된다.
사용자 인수 테스트, 운영상의 인수 테스트, 계약 인수 테스트, 계약 인수 테스트, 규정 인수 테스트, 알파 테스트, 베타 테스트
트리의 차수 : 전체 트리 중에서 가장 많은 차수