정보처리기사 취약부분3
* 결합도( Coupling) - 내공외제스자
1. Content(내용) : 내부 기능 및 그 내부 자료를 직접 참조 수정
2. Common(공통, 공유) : 공통 데이터 영역을 여로 모듈이 사용하며 모듈 밖 선언된 전역 변수 사용하여 갱신하는 방식
3. External(외부) : 선언 된 데이터를 외부의 다른 모듈이 참조
4. Control(제어) : 논리적 흐름제어 및 권리 전도 현상 발생
5. Stamp(스탬프, 검인) : 인터페이스로 배열, 레코드 등 자료주고를 전달
6. Data(자료) : 자료 요소만으로 구성
* 응집도( Cohesion) - 기순교절시논우
1. Functional(기능적) : 모든 기능요소가 단일 문제와 연관
2. Sequential(순차적) : 출력 데이터를 다음 활동 입력 데이터로 사용
3. Communication(교환) : 동일한 입출력이 서로 다른 기능 수행
4, Procedural(절차적) : 모듈 구성요소가 기능을 순차적으로 수행
5. Temproal(시간적) : 특정 시간 처리되는 몇 개의 기능을 모은 모듈
6. Logical(논리적) : 유사한 성격 및 특정 형태로 분류되는 처리요소로 하나의 모듈을 형성
7. Coincidental(우연적) : 서로 관련없는 요소들만
* 인터페이스 수현 검증 도구
1. XUnit : Java(Junit), C++(CPPunit), Net(Nuit) 등 다양한 언어를 지원하는 단위 테스트 프레임워크 이다.
2. STAF : 서비스 호출 및 컴포넌트 재사용 및 다양한 환경 자원 크로스 플랫폼이다. 분산 소프트웨어에서 테스트 환경 조성하고 데몬이 테스트 응답을 대신하며 완료되면 이를 통합하고 자동화한다.
3. FitNesse : 웹 기반 테스트 케이스 설계, 실행, 결과 확인 등을 지원한다.
4. NTAF : FitNesse(협업) + STAF(재사용, 확장성) 통합하였고 NHN(NAVER) 의 테스트 자동화 프레임워크이다.
5. Selenium : 다양한 브라우저 및 개발 언어를 지원하는 웹어플리케이션
6. Watir : Ruby 사용하는 애플리케이션 테스트 프레임워크
// 스카우터(애플리케이션, OS모니터링) , 제니퍼(전 단계 모니터링)
// SSL(TCP/IP, 애플리케이션 계층 사이 보안) , SHTTP(클라이언트와 서버간 보안)
* 회복기법 종류
1. Defered Update(연기 갱신기법) : 트랜잭션 성공적으로 완료될 때 따지 DB에 대한 실질적 갱신을 연기, 완료시점에 LOG에 보관한 내용을 기록 @Redo 가능
2. Immediate Update(즉각 갱신기법) : 트랜잭션 부분완료 전 이라도 즉시 반영, 장애 발생 시 화복의 경우 대비 Log기록 @ Redo, Undo 사용 가능
3. Shadow Paging(그림자 페이지 대체기법) : 갱신이전 DB를 일정 크기의 페이지 단위로 구성 후 페이지마다 복사(그림자 페이지) 보관 및 실제 페이지로 작업 및 갱신간 장애 발생시 ROLLBACK 후 그림자 페이지로 대체하여 회복
4. Check Point(검사점 기법) : 재실행 위해 상황등에 관한 정보와 함께 검사점을 로그 하고 회복시간 절약한다.
* 병행제어 기법
1. Locking : Lock이 허락되어야 엑세스 가능하며 엑세스를 상호 배타적으로 실행
2. 타임스탬프 순서 : 실행 전 시간표 부여하여 시간에 따라 작업 실행
3. 최적병행 수행(검증, 확인, 낙관적 기법) : 병행 수행하는 트랜잭션 대부분이 판독 전용인 경우, 병행처리 하지 않아도 일관성을 유지한다.
4. 다중버전 기법 : 타임스탬프 이용하며 갱신 시 마다 버전 부여 후 관리한다.
* 소프트웨어 개발표준
1. CMMI(Capability Maturity Model Integration) : SW 개발 조직의 업무능력 및 조직 성숙도 평가(기관정량화)
2. SPICE(Software Process Improment and Capability) : SW품질 및 생산성 향상을 위한 SW 프로세스 평가 및 개선
* 코드의 종류
1. Sequence(순차) : 자료 발생순서 즉 차례로
2. Block(블록) : 공통성 있는 것끼리 블록으로 구분 및 블록 내 일련번호 부여한다.
3. Decimal(10진) : 10진 분할로 도서분류 코드가 예이다.
4. Group Classification(그룹분류) : 대/중/소 분류 용으로 구분하며 각 그룹 안 일련번호를 부여한다.
5. Mnemonic(연상) : 항목의 명칭이나 약호 및 숫자나 문자 기호를 이용한다.
6. Signification Digit(표의숫자) : 성질 즉 중량, 면적 물리적 수치
7. Combined(합성) : 하나의 코드로 수행하기 어려운 경우 2개 이상의 코드를 조합
* 접근통제 보안 모델
@ RBAC(역할), MAC(등급), DAC(신원) 으로 분류 한다
1. 기밀성 모델 -> 군사목적으로 최초에 개발
2. 무결성 모델 -> 불법 변경 방지를 목적으로
3, 접근통제 모델 -> 접근 통제행렬
// 정책에 따르면
1. 신분기반 정책 -> IBG, GBP
2. 규칙기반 정책 -> MLP, CMP
3. 역할기반 정책 -> GBP 병행
* 테스트 하네그 도구 - 실행될 환경에서 시뮬레이션 하여 정상적으로 수행이 되는지
1. Test Driver : 대상 하위모듈 호출하고 피라미터를 전달한다. 테스트 수행 후 결과를 도출
2. Test Stub : 기능을 단순히 수행하는 도구이며 일시적 필요한 조건만을 가진다.
3. Test Script : 자동화된 테스트를 실행하고 절차에 대한 명세를 기술한다.
4. 목 오브젝트 : 사전에 사용자의 행위를 조건부로 압력해 두면 그 상황에 맞는 예정된 행위를 조건부로 입력해 두면 그 상황에 맞는 예정된 행위를 수행하는 객체이다.
* IPC - 통신방식 구현하기 위해 사용하는 프로그래밍 인터페이스
1. Shared memory : 공유가능 메모리이며 다수 프로세스가 통신한다.
2. Socket : 네트워크를 경유하는 프로세스간 통신
3. Semaphores : 공유자원에 대한 접근제어 통해 통신
4. Pipess&Named Pipes : 선입선출 형태로 구성된 메모리 공유
5. Message Quieing : 메시지 발생하면 전달하는 방식으로 통신
* 데이터베이스 이중화 - 동일 데이터베이스 복제 관리
@ 분류
1. Eager 기법 : 트랜잭션 수행 준 데이터 변경 발생시 이중화된 DB에 즉시 전달하여 변경 내용이 즉시 전송
2. Lazy 기법 : 트랜잭션 수행이 종료되면 변경 사실을 전달한다. #RTO(목표복구 시간), #RPO(목표복구 시점)
@ 정렬
1. 삽입 : 처음에는 두 번째와 비교 이동, 두 번째에는 세 번째 주소가 이전의 주소들을 비교
2. 선택 : 첫 번째 주소가 모든 주소와 한번씩 비교, 두 번째에서는 첫 번째 주소 제외하고 모든 주소와 비교
3. 버블 : 첫 번째 주소가 뒤로 계속 이동하면서 조건 확인 두 번째도 처음 주소부터 전부 확인 반복
4. 쉘 정렬 : 매개변수 값으로 서브파일 구성하고 각 서브파일 삽입정렬 방식으로 구성한다.
5. Quick 정렬 : 키를 기준으로 작은 값은 왼쪽 반면 크면 오른쪽으로 놓고 분해
6. Heap 정렬 : 전이진 트리 이용
7. 2-Way 합병정렬 : 2개의 정렬 한 개의 파일로 합성하는 방식
8. 기수정렬 : Queue 이용하여 자릿수 별로 정렬