정보시스템감리사 시험공부 정리노트 with Gemini
1. CMMI 성숙도 레벨 및 카테고리별 프로세스 영역(PA)성숙도 단계ProjectEngineeringSupportProcessLevel 5(최적화 단계) CAR(원인 분석 및 해결)OPM(조직 성과 관리)Level 4(정량적 관리 단계)QPM (정량적 프로젝트 관리) OPP(조직 프로세스 성과)Level 3(정의 단계)IPM(통합 프로젝트 관리)RSKM(위험 관리)RD(요구사항 개발)TS(기술적 해결책)PI(제품 통합)VER(검증)VAL(확인)DAR(의사결정 분석 및 해결)OPF(조직 프로세스 초점)OPD(조직 프로세스 정의)OT(조직 교육 훈련)Level 2(관리 단계)PP(프로젝트 계획수립)PMC(프로젝트 감시 및 통제)SAM(공급자 계약 관리)REQM(요구사항 관리)CM(형상 관리)PPQA(..
PCE(Phase Containment Effectiveness)는 소프트웨어 개발 공정에서 결함이 발생한 해당 단계(Phase) 내에서 얼마나 많은 결함을 발견하고 제거했는지를 나타내는 지표입니다. 쉽게 말해, "결함이 다음 단계로 넘어가기 전에 제때 잘 잡았는가?"를 측정하는 효율성 지표라고 보시면 됩니다. 1. PCE의 목적 (언제 사용하는가?)PCE는 주로 프로세스 개선과 품질 통제를 위해 다음과 같은 상황에서 사용됩니다.공정 효율성 측정 : 각 개발 단계(요구분석, 설계, 코딩 등)의 검토 및 테스트 프로세스가 얼마나 견고한지 확인하고 싶을 때비용 절감 : 결함이 후반 단계(테스트, 운영)에서 발견될수록 수정 비용이 기하급수적으로 늘어나므로, 이를 조기 차단하기 위한 관리 지표로 활용프로세스 병..
1. CRC의 핵심 원리CRC는 송신측과 수신측이 동일한 생성 다항식($G(x)$)을 공유한다는 점을 이용합니다.송신측 : 데이터 비트열을 생성 다항식으로 나누어 나머지를 구합니다. 이 나머지를 FCS(Frame Check Sequence)라고 하며, 원래 데이터 뒤에 붙여서 보냅니다.수신측 : 받은 전체 비트열을 동일한 생성 다항식으로 나눕니다.나머지가 0이면 : 오류 없음 (통과)나머지가 0이 아니면 : 전송 중 오류 발생 (폐기) 2. 오류 검출 vs 오류 정정 비교CRC를 제대로 이해하려면 오류 검출(Detection)과 오류 정정(Correction)의 메커니즘 차이를 아는 것이 중요합니다.구분오류 검출 (Error Detection)오류 정정 (Error Correction)핵심 목적데이터에 ..
PPP(Point-to-Point Protocol)는 점대점(Point-to-Point) 링크를 통해 두 노드 간에 데이터를 전송하기 위한 데이터 링크 계층(Layer 2) 프로토콜입니다. 주로 광역 네트워크(WAN)나 전화선, 전용 회선 연결에서 표준으로 사용됩니다. 시험에서 PPP가 자주 출현하는 이유는 그 구조의 유연성과 강력한 하위 프로토콜(LCP, NCP) 체계 때문입니다. 1. PPP의 주요 특징캡슐화 : 다양한 상위 계층 프로토콜(IP, IPX, AppleTalk 등)을 동시에 실어 나를 수 있습니다.오류 검출 : 프레임 체크 시퀀스(FCS)를 통해 데이터 무결성을 보장합니다. (단, 오류 복구는 하지 않음)표준 프로토콜 : 제조사가 다른 장비 간에도 연결이 가능합니다. (HDLC와의 큰 차..
1. RSA 암호 체계의 주요 특징비대칭키 암호화 : 공개키($e$)와 개인키($d$)가 한 쌍을 이룹니다. 공개키로 암호화하면 개인키로만 복호화할 수 있습니다.소인수분해의 난해함 : 아주 큰 두 소수의 곱을 소인수분해하는 것이 어렵다는 수학적 원리에 기반합니다.용도 : 데이터 암호화뿐만 아니라 전자서명에도 사용됩니다. (개인키로 서명하고 공개키로 검증)속도 : 대칭키 암호(AES 등)에 비해 연산 속도가 느려 주로 대칭키를 교환하기 위한 키 분배용으로 활용됩니다. 2. RSA 키 생성 및 계산 프로세스시험에서는 다음의 수치 계산 과정을 단계별로 물어보는 경우가 많습니다.1단계: 변수 설정두 개의 큰 소수 $p, q$를 선택합니다.$n = p \times q$를 계산합니다. ($n$은 공개키와 개인키의 ..
CWE(Common Weakness Enumeration)는 소프트웨어와 하드웨어에서 발생하는 보안 취약점의 근본 원인이 되는 '약점(Weakness)'을 체계적으로 분류한 목록입니다. 미국의 비영리 전략 연구 기구인 MITRE 사가 관리하며, 개발자와 보안 전문가들이 공통된 언어로 소프트웨어의 결함을 식별하고 수정할 수 있도록 돕는 표준 가이드 역할을 합니다. 1. CWE의 핵심 개념 : "Weakness" vs "Vulnerability"많은 사람이 CVE(취약점)와 CWE(약점)를 혼동하곤 합니다. 이 둘의 차이를 이해하는 것이 CWE를 파악하는 첫걸음입니다.CWE (Weakness) : 추상적인 '유형'입니다. 예를 들어 "입력값 검증 미흡"이라는 약점은 수만 개의 프로그램에서 공통으로 나타날 수..
객체지향 설계의 복잡도를 측정하는 대표적인 기준인 CK 메트릭(Chidamber and Kemerer Metrics)은 6가지 주요 지표로 구성됩니다. 이 메트릭은 클래스의 크기, 상속 구조, 결합도 등을 수치화하여 소프트웨어의 유지보수성과 품질을 평가하는 데 사용됩니다. 1. WMC (Weighted Methods per Class)클래스 내 메서드의 가중치 합을 의미합니다.설명 : 클래스에 정의된 모든 메서드의 복잡도를 합산한 값입니다. 보통 각 메서드의 순환 복잡도(Cyclomatic Complexity)를 가중치로 사용합니다.의미 : WMC가 높을수록 해당 클래스는 이해하기 어렵고, 테스트와 유지보수 비용이 많이 발생합니다. 2. DIT (Depth of Inheritance Tree)상속 계층의..
1. JUnit4란 무엇인가요?JUnit(제이유닛)은 자바(Java) 프로그래밍 언어용 단위 테스트(Unit Test) 프레임워크입니다. 우리가 자동차를 만들 때, 자동차 전체를 조립하기 전에 '바퀴가 잘 굴러가는지', '엔진이 잘 돌아가는지' 부품별로 먼저 확인하죠? 프로그래밍에서도 마찬가지로 프로그램의 가장 작은 단위(주로 메서드)가 제대로 동작하는지 확인하는 것을 '단위 테스트'라고 합니다. JUnit4는 이 단위 테스트를 아주 쉽고 규칙적으로 작성하고 실행할 수 있게 도와주는 도구입니다. 현재는 JUnit5가 최신 버전이지만, 실무의 수많은 기존 프로젝트들이 여전히 JUnit4를 사용하고 있어 알아두면 매우 유용합니다. 2. 작동 원리: 어떻게 내 코드를 알아서 테스트할까?JUnit의 핵심 작동 ..
SDN(Software Defined Networking, 소프트웨어 정의 네트워킹)은 네트워크의 제어 부분(Control Plane)을 물리적인 하드웨어(데이터 전송 부분, Data Plane)로부터 분리하여 소프트웨어 기반으로 통합 관리하는 네트워크 기술입니다.쉽게 말해, 과거에는 네트워크 장비(스위치, 라우터) 하나하나를 직접 설정해야 했다면, SDN은 중앙화된 소프트웨어(컨트롤러)를 통해 전체 네트워크를 한눈에 보고 마우스 클릭 몇 번으로 설정을 바꾸는 방식입니다. SDN(Software Defined Networking)의 구조는 네트워크의 제어 기능과 데이터 전송 기능을 분리하는 것이 핵심입니다. 이를 위해 SDN은 크게 3개의 평면(Plane)과 이들을 연결하는 인터페이스로 구성됩니다. 1...