자격증/정보처리기사

[정보처리기사] 실기 시험 직전 중요 이론 요약 (1. 소프트웨어공학)

Yujin Chang 2025. 4. 16. 15:48

흥달쌤 정보처리기사 실기 강의 중 마무리특강을 수강하며 중요하다고 생각되거나 잘 안 외워지는 내용들을 정리해보았습니다.

 

나선형 모델: [계획 → 위험분석 → 개발 → 평가] 반복

상향식 개발 비용 산정 기법: LOC (= (낙관치 + 4 * 기대치 + 비관치) / 6)

럼바우: 객체 모델링 (객체 다이어그램) → 동적 모델링 (상태 다이어그램) → 기능 모델링 (DFD)

결합도: 낮을수록 좋음.

  • (낮음) 데이터(=자료) → 스탬프 → 제어 → 외부 → 공통 → 내용 (높음)

응집도: 높을수록 좋음.

  • (낮음) 우연적 → 논리적 → 시간적 → 절차적 → 통신적 → 순차적 → 기능적 (높음)

AJAX: 비동기 방식으로 데이터 교환

SOAP: 메시지 교환 프로토콜, UDDI: 업체 목록 등록, WSDL: 서비스 세부사항

객체지향 설계 원칙(SOLID)

  • 단일 책임 원칙: 한 클래스는 하나의 책임만 가져야 함
  • 개방 폐쇄 원칙: 확장에 열려있고 수정에 닫혀있어야 함
  • 리스코프 치환 원칙: 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 함
  • 인터페이스 분리 원칙: 사용하지 않는 인터페이스는 구현하지 말아야 함
  • 의존성 역전 원칙: 변화가 거의 없는 것에 의존해야 함

테스트 오라클: 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참값과 비교하여 검증하는 기법

테스트 레벨: 단위 → 통합(상향식 - 드라이버 / 하향식 - 스텁 / 빅뱅) → 시스템(기능/비기능) → 인수(알파/베타)

블랙박스 테스트: 프로그램의 사용자 요구사항 명세를 보면서 테스트

  • 동등 분할 기법
  • 경계값 분석
  • 원인-효과 그래프 검사
  • 오류 예측 검사
  • 비교 검사
  • 상태전이 검사

테스트 커버리지: 테스트를 얼마나 수행했는지 측정하는 기준

  • 기능 기반 커버리지: 기능을 모수로 설정
  • 라인 커버리지: 코드의 라인 수를 모수로 설정
  • 코드 커버리지: 코드의 구문, 조건, 결정 등을 측정
    • 구문 커버리지: 구문에 대해 한 번 이상 수행
    • 조건 커버리지: 개별 조건식에 대해 수행
    • 결정 커버리지: 결정포인트 내의 모든 분기문에 대해 수행
    • 조건/결정 커버리지: 결정포인트 T/F, 개별조건식 T/F
    • 변경 조건/결정 커버리지
    • 다중 조건 커버리지

테스트 케이스: 입력값, 실행 조건, 기대 결과로 구성

리팩토링: 기능을 변경하지 않고 코드의 내부 구조를 개선하는 방법