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

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

by 엄지잉 2023. 7. 4.

전위식 → 후위식 ⭐

  1. 연산자에 따라 묶음
  2. 연산자를 각 괄호 뒤로 뺌 (후위식)
  3. 괄호를 제거

디지털 저작권 관리(DRM)에 사용되는 기술 요소

  • 암호화 / 키 관리 / 식별 기술 / 저작권 표현 / 크랙 방지 / 인증 / 정책관리 / 암호화 파일 생성

블랙박스 테스트 종류 [5동경비원]

  • 오류 예측 검사 / 동치분할 검사 / 경계값 분석 / 비교검사 / 원인-효과 그래프 검사

해싱함수 종류

  • 제곱법 / 제산법 / 중첩법(폴딩법) / 숫자분석법 / 기수변환법 / 무작위 방법

SW 테스트 기본 원칙

  • 살충제 패러독스
    • 동일한 테스트 케이스로 반복 실행 → 더이상 새로운 결함 발견 X ⇒ 주기적으로 테스트케이스 점검/개선해야 함
  • 결함 집중
    • 파레토 법칙이 좌우함
    • APP 결함 대부분은 소수의 특정한 모듈에 집중되어 존재
    • 결함은 발생한 모듈에서 계속 추가로 발생할 가능성 多
  • 오류 부재의 궤변
    • 사용자의 요구사항을 만족하지 못하면, 오류 발견/제거해도 품질 높다고 말할 수 X

SW 버전 등록 관련 주요 용어

  • 저장소
    • 최신 버전의 파일, 변경 내역에 대한 정보들이 저장되어 있는 곳
  • 가져오기 (import)
    • 버전 관리 되어있지 않은 이상, 아무것도 없는 저장소에 처음으로 파일 복사
  • 체크아웃
    • 프로그램 수정 위해, 저장소에서 파일 받아옴 (소스파일 + 버전 관리를 위한 파일)
  • 체크인
    • 체크아웃한 파일 수정 완료 → 저장소의 파일을 새로운 버전으로 갱신
  • 커밋
    • 체크인 수행 시, 이전에 갱신된 내용 있는 경우 → 충돌 알리고, diff 도구를 이용해 수정한 후 갱신 완료
  • 동기화
    • 저장소에 있는 최신 버전. 자신의 작업 공간 동기화

디지털 저작권 관리(DRM) 구성요소

  • 콘텐츠 분배자 / 패키저 / 클리어링 하우스 / DRM 컨트롤러
    • 클리어링 하우스 : 키 관리, 라이센스 발급 관리
    • DRM 컨트롤러 : 배포된 콘텐츠의 이용권한 통제

테스트, 디버그 목적

  • 테스트 : 오류 찾는 작업
  • 디버그 : 오류 수정 작업

선형 구조

  • 리스트 / 스택 / 큐 / 덱

비선형 구조

  • 트리 / 그래프

파일 구조

  • 순차파일 / 색인파일 / 직접 파일

SW 테스트 - 검증 / 확인

  • 검증 : 개발자
    • SW가 요구사항에 부합하게 구현되었음을 보장하는 활동
  • 확인 : 사용자
    • SW가 고객의 의도에 따라 구현되었음을 보장하는 활동

테스트 ⭐⭐

  • 단위 테스트
    • 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트
    • 내부에 존재하는 논리적인 오류 검출, 기능이 제대로 수행되는지 점검
  • 통합 테스트
    • 모듈을 통합하는 과정에서, 모듈 간의 호환성을 확인하기 위해 수행되는 테스트
  • 시스템 테스트
    • 완전한 시스템에 대해 수행하는 테스트
    • 테스트, 기능/비기능적 요구사항을 만족하는지 확인
  • 인수 테스트
    • 실제 환경에서 사용자가 참여하는 테스트
    • 요구 분석 명세서에 나타난 사항을 모두 충족하는지, 시스템이 예상대로 동작하는지 사용자의 관점에서 확인

형상관리

  • 정의 : SW의 변경 사항을 체계적으로 추적, 통제하는 것 (단순 버전 관리보다 더 포괄적인 개념)
  • 절차 : 식별 ➡ 통제 ➡ 감사 ➡ 기록/보고
    • 식별 : 형상 관리의 대상을 구분, 관리 목록의 번호 정의하여 부여하는 과정
    • 통제 : SW 형상 변경 제안을 검토, 현재 SW 기준선에 반영하도록 통제
    • 감사 : 형상 항목 변경이 계획에 따라 제대로 이뤄졌는지 검토/승인하는 것
    • 기록/보고 : SW 개발 상태에 대한 보고서를 제공하는 것
  • 형상관리 대상 : 품질관리 계획서, 품질관리 메뉴얼, 요구사항 명세서, 설계/IF 명세서, 테스트 설계서, 소스코드

소프트웨어 품질 목표

  • 이식성 : 다양한 HW 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 능력
  • 효율성 : 최소의 작업으로, 요구되는 기능을 수행하는 정도
  • 사용용이성 : SW를 쉽게 사용할 수 있는 정도
  • 정확성 : 사용자의 요구사항을 충족시키는 정도