본문 바로가기
🏆 자격증/⚡ 정처기

[필기] SW 개발 정리 - 2022년

by 엄지잉 2023. 7. 4.

💡 [엄지잉] 직접 풀고, 부족하다고 느끼는 내용만 따로 정리했습니다. 💡

✔ 2022년 1회차 점수 : 80점

✔ 2022년 2회차 점수 : 70점 💥 왜케 망했지..?

 

정형기술검토(FTR) 지침

  • [제품 검토의 집중성] 오류 검출에 초점을 두고, 해결책을 나중으로 미룸
  • [사전 준비성] 검토를 위한 자료를 사전에 배포 → 검토하도록 함
  • [의제의 제한성] 의견을 제한하되, 충분히 받아들임
  • [안건 고수성] 안건을 세우면 고수함
  • [논쟁 반박의 제한성] 논쟁, 반박을 제한함
  • [문제 공개성] 문제 영역을 공개함
  • [참가 인원의 제한성] 참가자의 수 제한
  • [문서성] 발견된 오류는 문서화 함

소프트웨어 재공학 용어

  • Analysis
    • 기존 SW를 분석 → 재공학 대상 선정하는 것
  • Migration
    • 기존 SW를 다른 OS/HW 환경에서 사용할 수 있도록 변환하는 작업
  • Restructuring
    • 기존 SW를 향상시키기 위해, 코드를 재구성하는 작업
  • Reverse Engineering
    • 기존 SW 분석 → 소스코드를 얻어내는 작업

NS Chart (Nassi-Schneiderman Chart)

  • 3가지 기본 구조만으로 논리 표현 (표준화 가능)
  • Flow Chart의 최대 단점인 화살표가 표시 X ❗
  • 기본 구조의 입/출구는 각 하나씩
  • 전체적인 알고리즘을 일목요연하게 볼 수 있음

코드 인스펙션

  • 결함 뿐만 아니라, 모든 것이 표준대로 되어있는지 확인하기 위한 검토
  • 표준, 명세서에 서술항 내용과 비교 → 편차, 에러 식별 위해 산출물을 근거로 수행하는 검사
  • 정적 테스트에 가까움!
  • 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함 발견 ↔ 요구사항 명세서 작성자를 포함하여 사전 검토한 후, 짧은 검토 회의를 통해 결함 발견 [워크스루] ❗
  • 과정
    • 계획 → 사전 교육 → 준비 → 인스펙션 호의 → 수정 → 후속조치

테스트케이스

  • 구현된 SW가 사용자의 요구사항을 정확하게 준수했는지 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
  • 테스트의 목표 및 테스트 방법을 결정하고, 테스트 케이스를 작성해야 함
  • 개발된 서비스가 정의된 요구사항을 준수하는지 확인하기 위한 입력값과 실행 조건, 예상 결과의 집합으로 볼 수 있음
  • 테스트 오라클 : 테스트케이스 실행이 통과/실패 판단하기 위한 기준 ⭐

RCS (Revision Control System)

  • 다수의 사용자가 동시에 파일 수정을 할 수 없도록, 파일 잠금 방식으로 버전을 관리하는 도구
  • 다른 방향으로 진행된 개발 결과를 합치거나, 변경 내용 추적 가능
  • CVS와의 차이점은 소스파일의 수정을 한 사람만으로 제한

컴파일

  • 고급 언어 → 저급 언어

단위 테스트 도구

  • CppUnit for c++
  • JUnit for JAVA
  • HttpUnit for 웹