2025/04/17 10

인스펙션 체크리스트_Ian_sommerville

인스펙션 체크리스트 결함 유형1. 데이터 결함 (Data Defects)설명: 시스템 내에서 데이터가 잘못 처리되거나 잘못된 형태로 저장되는 경우 발생합니다. 데이터의 정확성, 일관성, 유효성 등에 대한 결함을 검사합니다.예시:데이터 타입 오류 (예: 정수 값에 문자열이 저장되는 경우)유효하지 않은 값이 데이터베이스에 입력되는 경우데이터 무결성 오류 (예: 외래 키 제약 조건 위반)2. 제어 결함 (Control Defects)설명: 프로그램의 제어 흐름에 관련된 결함으로, 프로그램이 의도한 대로 흐르지 않거나 잘못된 경로로 실행되는 경우를 말합니다. 조건문이나 반복문, 분기문 등의 흐름을 검토합니다.예시:잘못된 조건문으로 인한 제어 흐름 오류 (예: 조건문이 항상 참으로 평가되어 원하는 동작을 하지 않..

직접사상캐시_완전연관캐시

직접 사상 캐시(Direct-mapped Cache)와 완전 연관 캐시(Fully associative Cache)는 모두 CPU 캐시 메모리 구조에서 데이터를 빠르게 검색하기 위한 기술입니다. 이 두 캐시 구조는 메모리 블록을 캐시 라인에 어떻게 매핑하는지에 따라 차이를 보입니다. 각 캐시의 특징과 장단점을 비교해 보겠습니다.직접 사상 캐시 (Direct-mapped Cache) vs 완전 연관 캐시 (Fully associative Cache)1. 직접 사상 캐시 (Direct-mapped Cache)특징:메모리 블록과 캐시 라인 간의 매핑이 1:1로 고정됩니다.메모리 주소의 일부 비트를 사용하여 특정 캐시 라인을 결정합니다.하나의 메모리 블록은 정해진 위치의 하나의 캐시 라인에만 매핑됩니다.장점:검..

44_조합 테스트 기법

테스트 기법별 생성되는 테스트 케이스 수1. All Combination Testing (모든 조합 테스트)여행 목적지: 3개여행 방법: 3개숙박 유형: 2개모든 가능한 조합을 고려하므로, 테스트 케이스 수는:3 × 3 × 2 = 18개2. Pair-wise Testing (쌍 테스트)여행 목적지와 여행 방법: 3 × 3 = 9여행 목적지와 숙박 유형: 3 × 2 = 6여행 방법과 숙박 유형: 3 × 2 = 6최소 9개의 테스트 케이스로 이들을 커버할 수 있습니다:9개3. Base Choice Testing (기본 선택 테스트)하나의 기본 테스트 항목(Base)을 고르고, 기본 테스트에서 조건을 하나씩만 변경하면서 테스트기본 1개여행 목적지: 2개여행 방법: 2개숙박 유형: 1개따라서 테스트 케이스 수는..

43_feature_diagram_이해

void f(int x) { printf(“%d\n”, x); #if defined(Feature1) g1(x); #if defined(Feature2) g2(x); #else g3(x); #endif #endif}코드 분석:Feature1이 정의되면 g1(x)가 실행됩니다.Feature2가 정의되면 g2(x)가 실행되며, 정의되지 않으면 g3(x)가 실행됩니다.만약 Feature1이 정의되지 않으면, g1(x)와 관련된 코드 부분은 실행되지 않습니다.각 보기 분석:①g1(x)가 실행되고, 그 후 g2(x) 또는 g3(x)가 실행된다고 설명합니다.코드에서 Feature1이 정의되어야만 g1(x)가 실..

38_익스트림프로그래밍_이해

🔍 보기별 해설① 단순한 설계 (❌ 부적절한 설명)오답 이유: XP의 단순한 설계는 "미래의 잠재적 변경에 대비"하는 것이 아닙니다.정확한 의미: 단순한 설계는 현재의 요구사항만을 만족시키며, 미래의 요구는 고려하지 않습니다.이는 YAGNI (You Aren’t Gonna Need It) 원칙과도 일맥상통합니다.② 공동 소유권 (✅ 적절한 설명)모든 개발자가 모든 코드에 대해 책임을 가지고 자유롭게 수정할 수 있어야 합니다.이는 코드의 병목을 줄이고, 지식 공유를 촉진합니다.③ 연속적 통합 (✅ 적절한 설명)코드가 자주 병합되며, 병합 즉시 전체 테스트가 수행되어야 합니다.이를 통해 통합 시점에 생길 수 있는 오류를 조기에 발견할 수 있습니다.④ 리팩토링 (✅ 적절한 설명)기능은 그대로 두되, 코드 구..

XP(익스트림 프로그래밍)

익스트림 프로그래밍 (XP, eXtreme Programming)XP는 높은 품질의 소프트웨어를 빠르게 제공하기 위한 애자일 소프트웨어 개발 방법론입니다.작은 팀, 빠른 피드백, 지속적인 개선, 단순한 설계를 핵심으로 합니다.✅ XP의 5가지 가치 (Values)가치설명의사소통 (Communication)팀원 간의 활발한 대화와 공유를 통해 오해 방지단순성 (Simplicity)현재 요구사항만 만족하는 단순한 설계를 추구피드백 (Feedback)빠른 피드백으로 문제를 조기에 파악하고 개선용기 (Courage)잘못된 설계를 고치고 솔직하게 말할 수 있는 용기존중 (Respect)팀원과 코드를 존중하며 협력하는 문화✅ XP의 14가지 원칙 (Principles)원칙설명YAGNI (You Aren’t Gonn..

37_요구사항 도출 기법

이 문제는 요구사항 도출 기법 중 관찰 기반의 기법을 묻는 것입니다.문제에서 제시한 키워드들을 정리해보면:사용자의 동작 프로세스를 이해일상 업무를 관찰실제 작업을 기록실제 일하는 방식을 반영드러나지 않는 요구사항 발견이러한 특징은 문화기술적 연구(ethnography) 기법을 설명하고 있습니다.각 보기를 간단히 살펴보면:인터뷰(interview)→ 질문과 응답을 통해 정보를 수집하는 기법. 사용자의 주관적인 응답에 의존하며, 관찰보다는 대화 중심.사용자 스토리(user story)→ 애자일 개발에서 요구사항을 간단한 서술 형태로 표현. 관찰보다는 사용자의 시각에서 기능을 기술.✅ 문화기술적 연구(ethnography)→ 분석가가 사용자의 환경에서 그들의 작업 방식, 문화, 행동 등을 관찰하여 요구사항을 ..

응집도(cohesion)과 결합도(Coupling)

응집도(Cohesion)는 모듈 내부 구성 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내며, 높을수록 좋은 소프트웨어 설계라고 합니다.아래는 일반적으로 사용되는 7단계 응집도를 좋은 것부터 나쁜 순서로 정리한 것입니다. ✅ 응집도의 종류 (좋은 순 → 나쁜 순)순서응집도 유형영어명설명①기능적 응집Functional Cohesion하나의 기능 또는 작업을 수행하기 위해 모듈 내 모든 요소들이 협력함. 최상위 수준.②순차적 응집Sequential Cohesion한 기능의 출력이 다음 기능의 입력으로 사용되는 경우. 데이터 흐름 존재.③통신적 응집Communicational Cohesion동일한 데이터(구조체, 파일 등)를 사용하는 기능들을 모아둠. 기능은 다르지만 데이터 공유.④절차적 응집Procedu..

36_응집도(cohesion)_구분하기

이 문제는 모듈 응집도(Cohesion)의 수준을 설명하고, 이를 좋은 응집도에서 나쁜 응집도 순으로 배열하는 것입니다. 응집도는 소프트웨어 모듈 내 기능들이 얼마나 밀접하게 관련되어 있는지를 나타내는 개념으로, 높을수록 좋은 설계입니다.각 보기 해석 및 응집도 수준 분석:마. 하나의 문제를 수행하는 기능을 구현한 함수이다.✅ 기능적 응집 (Functional Cohesion) – 가장 높은 수준의 응집도하나의 명확한 목적을 수행하는 모듈로, 가장 이상적인 형태라. 두 개의 기능을 구현한 함수로 하나의 기능의 결과가 다른 기능의 입력으로 사용된다.✅ 순차적 응집 (Sequential Cohesion) – 비교적 높은 수준기능들 간의 데이터 흐름이 존재함나. 두 개의 기능을 구현한 함수로 동일한 속성(at..