본문 바로가기
휴지통/정보처리기사

오답노트 04

by 신재권 2022. 2. 12.

럼바우 객체지향 기법

객체 모델링 : 객체 다이어그램

동적 모델링 : 상태 다이어그램

기능 모델링 : 자료 흐름도

데이터 흐름도

프로세스(Process)

자료 흐름(Flow)

자료 저장소(Data Store)

단말(terminal)

Coad-Yourdon

E-R 다이어그램을 사용하여 객체의 행위를 모델링

객체 식별, 구조 식별

UML의 구성요소

Things : 사물

Relationship : 관계

Diagram : 다이어그램

애자일 개발 방법론

XP

스크럼

FDD

단위 테스트

단위 테스트는 테스트 코드가 독립적이여야 한다.

명세 기반 테스트 : 주어진 명세를 빠짐없이 테스트 케이스로 구현하고 있는지 확인하는 테스트

구조 기반 테스트 : 프로그램 내부 구조 및 복잡도를 검증하는 화이트박스 테스트 시행, 제어흐름과 조건 결정 등이 목적

성능 테스트 도구 : 애플리케이션의 처리량, 응답시간, 경과시간, 자원사용률 등 성능 목표 달성 여부확인 인위적으로 적용한 가상 사용자를 만들어서 수행

살충제 패러독스

동일한 테스트 케이스로 반복 실행하면 더 이상 새로운 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 점검하고 개선해야 한다.

오류 부재의 궤변

사용자의 요구사항을 만족하지 못하면 오류를 발견하고 제거해도 품질이 높다고 말할 수 없다.

결함 집중

파레토 법칙이 좌우한다.

애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재한다.

결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다.

인터페이스 구현 검증 도구

xUnit, STAF, FitNesse, NTAF, Selerium, Watir

클린코드

가독성 : 누구든지 코드를 쉽게 읽을 수 있도록 작성, 코드 작성시 이해하기 쉬운 용어를 사용하거나 들여쓰기 기능을 사용

단순성 : 코드를 간단하게 작성. 한번에 한 가지를 처리하도록 코드를 작성하고, 클래스/메서드/함수 등을 최소 단위로 분리

의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화, 코드 변경 시 다른 부분에 영향이 없도록 작성

중복성 최소화 : 코드의 중복을 최소화, 중복된 코드는 삭제하고 공통된 코드를 사용

추상화 : 상위(부모, 슈퍼) 클래스/메서드/함수에서는 간략하게 애플리케이션의 특징을 나타내고, 상세 내용은 하위(자식, 서브) 클래스/메서드/함수에서 구현

분산 데이터베이스 투명성(Transparency) 조건

분할 투명성

위치 투명성

지역사상 투명성

중복 투명성

장애 투명성

병행 투명성

회복

즉강 갱신 기법

연기 갱신 기법

검사적 기법

그림자 페이지 대체 기법 - 로그 x

DB 특성

Atomicity(원자성)

Consistency(일관성)

Isolation(독립성)

Durability(영속성)

HRN 방식

(대기시간 + 서비스시간)/서비스 시간 (값이 클수록 우선순위가 높음)

Worst fit(최악 적합)

들어갈 수 있는 영역 중 자원 낭비가 제일 심한 영역에 들어가는 방법

결합도

제어 결합도 Control Coupling : 제어하기 위한 목적/권리 전도 현상

자료 결합도 Data Coupling : 자료요소로만 구성/ 처리값을 다시 돌려줌

스탬프 결합도 Stamp Coupling : 모듈 간 자료 구조 전달될 때 변화가 생기면 그것을 조회하는 모든 모듈에 영향을 미침

공통 결합도 Common Coupling : 공유되는 데이터 영역을 여러 모듈이 사용/ 공통 영역 내용 변경 시 영역을 사용하는 모든 모듈에 영향

암호화 알고리즘

해시 : MD4, MD5, SHA-1

대칭 키 : AES

비대칭 키(공개키) : 디피-헬만, RSA

Stack Protection

Stack Overflow를 탐지하고 보안 강화

Stack Guard

Stack 상에서 일정한 주소 번지에 프로그램이 선언한 canary를 심어두어, 스택이 변조된 경우, canary를 체크하여 프로그램이 비정상적으로 종료 시킴

Stack Shield

함수의 리턴 주소 복사, 실제 리턴 주소를 참조하지 않고 함수 리턴

Syslog

시스템에서 로그메시지 처리

Recovery Control

부적절한 사건/상황으로 인해 발생한 피해 극복, 장애/혼란을 정돈하고 정상 상태로 회복

CBD (Componet-Based Developemnt, 컴포넌트 기반 방법론)

  1. 요구파악 단계 → 요구사항 기술서, 용어 사전, 개념 모델, 유즈케이스 모델
  2. 분석 및 설계 → 객체 모델, UI 설계서, 아키텍처 기술서, 인터페이스 명세서, 컴포넌트 명세서, 컴포넌트 설계서, 데이터베이스 설계서
  3. 구현 → 개발 표준 정의서, 플랫폼 종속적 코드
  4. 테스트 → 테스트 계획서, 컴포넌트 테스트 보고서, 통합 테스트 보고서, 인수테스트 보고서

CMM 모델

초기 단계/ 관리 단계/ 정의단계/ 정량적 관리 단계/ 최적화 단계

Mesh Network

무선랜 한계 극복, 대규모 디바이스의 네트워크 생성에 최적화

차세대 이동통신, 홈네트워킹, 공공 안전 → 특수목적을 위한 네트워크 기술

해킹

랜섬웨어(Ransomware) : 임의로 시스템을 잠그거나 혹은 데이터를 암호화 → 사용할 수 없게 만듬

파밍(Pharming) : 홈페이주 주소를 바꿔 사용자가 진짜 사이트로 오인하게 하여 접속하게 한다음 개인정보 탈취

피싱(Phishing) : 메일 등으로 중요기관에서 보낸것으로 위장

XSS : 웹 페이지에 악의적인 스크립트 포함 → 사용자실행 → 정보 유출

라우팅 프로토콜

RIP : 자율 시스템내에서 사용, 근거리 통신망 및 독립적 네트워크 내에서 라우팅 정보 관리, 최대 홉수 카운트 15로 제한

OSPF : 가장 많이 사용되는 내부 라우팅 프로토콜, 효율을 위해 자율 시스템을 여러 지역으로 나눔, 홉수 카운트 대신 Cost 사용

IGRP : Cisco Systeem의 고유 프로토콜, hop수를 기준으로 한 정보 전송, 라우팅 경로 결정 시 회선의 전송 능력, 지연시간, 사용률, 신뢰도 바탕, 독립적 네트워크에서만 사용 EIGRP : IGRP의 Metric 구성 값에 256을 곱하여 작동, 프로토콜 종속 모듈, 신뢰성 전송 프로토콜(순차적 패킷 전달), 낮은 대역폭 및 빠른 수렴, 업데이트 확산 알고리즘

BGP : 라우터에 의해서 전체 경로 교환, 루프 방지, 179번 포트를 이용한 TCP 서비스 사용

오류제어나 흐름제어 필요하지 않음

SPICE

소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준, ISO/IEC 15504

Seven Touchpoints

소프트웨어 개발 생명주기(SDLC)의 각 단계에 관련된 7가지의 보안 활동을 개발자에게 집중적으로 관리하도록 요구하여 실무적으로 검증된 개발보안 방법론

'휴지통 > 정보처리기사' 카테고리의 다른 글

오답노트 06  (0) 2022.02.26
오답노트 05  (0) 2022.02.23
오답노트 03  (0) 2022.02.11
오답노트 02  (0) 2022.02.08
오답노트 01  (0) 2022.02.07