DevGang

[SE-09] 소프트웨어 품질 보증 본문

정보처리/SE

[SE-09] 소프트웨어 품질 보증

별천랑 2021. 2. 8. 16:54

1. 소프트웨어 품질과 품질 관리

- 소프트웨어 품질 (Quality)

  • 주어진 요구사항을 만족시키는 능력을 갖추고 있는 소프트웨어의 측정 가능한 기능 및 특성을 의미함

- 소프트웨어 품질의 종류

  • 설계 품질: 설계자가 한 품목을 위해 규정한 특성
  • 일치 품질: 설계 내용들이 개발 과정에서 지켜지는 정도

 - 품질 관리 (Quality Control)

  • 주어진 요구사항에 맞는 소프트웨어를 개발하기 위해 소프트웨어 개발의 전 과정 동안에 이루어지는 모든 활동과 그 활동의 결과로 생산되는 산출물에 대한 품질을 통제하고 보증하기 위한 작업

- 소프트웨어 품질관리 위원회의 기본적인 목적 : 소프트웨어 품질 향상

2. 소프트웨어 공학에 적용되는 품질 표준(목표) 항목

- 품질 표준(목표)

  • 명확하게 정의된 소프트웨어의 특성을 의미함
  • 소프트웨어의 품질을 평가하는 기준 항목으로 사용됨

- 분류

구분 품질 표준(목표) 의미
소프트웨어 변경 수용 능력 유지보수성(Maintainability) 변경 및 오류 시험의 교정에 대한 노력을 최소화하는 정도
유연성(Flexibility) 소프트웨어를 얼마만큼 쉽게 수정할 수 있는가 하는 정도
시험 역량(Testability) 의도된 기능을 수행하도록 보장하기 위해 프로그램을 시험할 수 있는 정도
소프트웨어 운영 특성 정확성(Correctness) 사용자의 요구 기능을 충족시키는 정도
신뢰성(Reliability) 정확하고 일관된 결과를 얻기 위해 요구된 기능을 오류 없이 수행하는 정도 옳고 일관된 결과를 얻기 위하여 요구된 기능을 수행할 수 있는 정도
효율성(Efficiency) 요구되는 기능을 수행하기 위해 필요한 자원의 소요 정도
무결성(Integrity) 허용되지 않는 사물이나 자료의 변경을 제어하는 정도
사용 용이성(Usability) 사물에 필요한 노력을 최소화하고 쉽게 사용할 수 있는 정도
소프트웨어 적용 능력 이식성(Portability) 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도
재사용성(Reusability) 전체나 일부 소프트웨어를 다른 목적으로 사용할 수 있는가 하는 정도 과학 계산용 라이브러리와 같이 이미 만들어진 프로그램을 사용하는 것
상호 운용성(Interoperability) 다른 소프트웨어와 정보를 교환할 수 있는 정도

3. 소프트웨어 품질 보증 (SQA, Software Quality Assurance)

  • 어떤 항목이나 제품의 설정된 기술적 요구사항과 일치하는가를 적절하게 확인하는데 필요한 체계적이고도 계획적인 유형의 활동

4. 정형 기술 검토 (FTR, Formal Technical Review)

  • 가장 일반적인 검토 방법으로 소프트웨어 기술자들에 의해 수행되는 소프트웨어 품질 보증 활동

- 정형 기술 검토 목적

  • 사용자 요구사항의 확인
  • 기능과 로직의 오류 발견
  • 프로젝트 관리의 편리성

- 정형 기술 검토 유형

 1) 검토 회의(Walk-through, 워크 스루)

  • 소프트웨어 개발의 각 단계에서 개최하는 기술 평가 회의
  • 소프트웨어 구성 요소와 같은 작은 단위를 검토하는 것
  • 검토를 위한 자료를 사전에 배포하여 검토하도록 함
  • 오류 검출에 초점을 두고 해결책은 나중으로 미룸
  • 발견된 오류는 문서화함

 2) 검열(Inspections)

  • 검토 회의를 발전시킨 형태
  • 소프트웨어 개발 단계에서 산출된 결과들의 품질을 평가하여 이를 개선시키는 데 사용됨
  • 검열팀은 관련 분야에 대해 훈련을 받은 1~4명의 요원으로 구성됨
  • 검열자는 검열 항목에 대한 체크 리스트를 이용하여 작업을 수행함

- 기술 검토의 지침사항

  • 논쟁과 반박을 제한하라.
  • 제품의 검토에 집중하라.
  • 참가자의 수를 제한하라.

5. 소프트웨어의 신뢰성과 가용성

  • 소프트웨어의 신뢰성은 프로그램이 주어진 환경에서 주어진 시간 동안 오류 없이 작동할 확률을 의미한다.
  • 소프트웨어의 신뢰성은 소프트웨어의 품질을 평가하는 다른 품질 표준과는 달리 과거의 자료와 개발상의 자료를 이용하여 측정과 예측이 가능하다.
  • 소프트웨어의 신뢰성은 하드웨어 신뢰성 측정의 기본 이론을 근거로 측정한다.
  • 소프트웨어의 가용성은 한 프로그램이 주어진 시점에서 요구사항에 따라 운영되는 확률을 의미한다.

6. 신뢰성과 가용성 측정

  • 소프트웨어의 간단한 신뢰성 측정은 MTBF를 이용한다.

- MTBF(Mean Time Between Failure)

  • 평균 고장 간격으로 수리가 가능한 시스템이 고장 난 후부터 다음 고장이 날 때까지의 평균 시간

- MTTF(Mean Time To Failure)

  • 평균 가동 시간으로, 수리 불가능한 시스템의 사용 시점부터 고장이 발생할 때까지의 가동 시간 평균, 고장 평균 시간이라고도 한다.

- MTTR(Mean Time To Repair)

  • 평균 수리 시간으로, 시스템에 고장이 발생하여 가동하지 못한 시간들의 평균

 * 가용성(신뢰도) 측정

  • 시스템의 총 운용 시간 중 정상적으로 가동된 시간의 비율

'정보처리 > SE' 카테고리의 다른 글

[SE-11] 형상 관리  (0) 2021.02.08
[SE-10] 위험관리  (0) 2021.02.08
[SE-08] 프로젝트 일정  (0) 2021.02.08
[SE-07] 프로젝트 조직 구성  (0) 2021.02.08
[SE-06] 프로젝트 비용 산정  (0) 2021.02.08
Comments