소프트웨어 품질 관리-소개

품질 소프트웨어는 합리적으로 버그 나 결함이없고 정해진 예산 내에서 제때에 제공되고 요구 사항 및 / 또는 기대를 충족하며 유지 관리 할 수있는 소프트웨어를 의미합니다. 소프트웨어 엔지니어링 맥락에서 소프트웨어 품질은functional quality 만큼 잘 structural quality.

  • Software Functional Quality − 기능적 요구 사항 또는 사양에 따라 주어진 설계를 얼마나 잘 충족하는지 반영합니다.

  • Software Structural Quality − 견고성 또는 유지 보수 가능성과 같은 기능적 요구 사항의 전달을 지원하는 비 기능적 요구 사항의 처리 및 소프트웨어가 올바르게 생산 된 정도를 다룹니다.

  • Software Quality Assurance− SQA (Software Quality Assurance)는 궁극적으로 고품질 소프트웨어 제품을 만드는 소프트웨어 엔지니어링 프로세스의 품질을 보장하기위한 일련의 활동입니다. 활동은 제품을 생산하는 프로세스를 설정하고 평가합니다. 그것은 프로세스 중심의 행동을 포함합니다.

  • Software Quality Control− 소프트웨어 품질 관리 (SQC)는 소프트웨어 제품의 품질을 보장하기위한 일련의 활동입니다. 이러한 활동은 생산 된 실제 제품의 결함을 결정하는 데 중점을 둡니다. 그것은 제품 중심의 행동을 포함합니다.

소프트웨어 품질 문제

소프트웨어 산업에서 개발자는 다른 산업 제품 제조업체가 일반적으로하는 것과 달리 소프트웨어에 결함이 없다고 선언하지 않습니다. 이 차이는 다음과 같은 이유 때문입니다.

제품 복잡성

제품이 허용하는 작동 모드의 수입니다. 일반적으로 산업용 제품은 기계 설정의 다양한 조합으로 수천 가지 미만의 작동 모드 만 허용합니다. 그러나 소프트웨어 패키지는 수백만 개의 운영 가능성을 허용합니다. 따라서 이러한 모든 운영 가능성을 올바르게 보장하는 것은 소프트웨어 산업의 주요 과제입니다.

제품 가시성

산업 제품이 눈에 잘 띄기 때문에 대부분의 결함은 제조 과정에서 감지 될 수 있습니다. 또한 산업용 제품에 부품이 없음을 제품에서 쉽게 감지 할 수 있습니다. 그러나 디스켓이나 CD에 저장된 소프트웨어 제품의 결함은 보이지 않습니다.

제품 개발 및 생산 프로세스

산업용 제품에서 결함은 다음 단계에서 감지 될 수 있습니다.

  • Product development −이 단계에서는 설계자와 QA (품질 보증) 직원이 제품 프로토 타입을 확인하고 테스트하여 결함을 감지합니다.

  • Product production planning−이 단계에서 생산 공정과 도구를 설계하고 준비합니다. 이 단계는 또한 제품을 검사하여 개발 단계에서 발견되지 않은 결함을 감지 할 수있는 기회를 제공합니다.

  • Manufacturing−이 단계에서는 제품 자체의 고장을 감지하기 위해 QA 절차가 적용됩니다. 제조 첫 단계에서 발견 된 제품의 결함은 일반적으로 향후 제조되는 제품에서 이러한 결함을 제거하는 방식으로 제품의 디자인이나 재료 또는 생산 도구의 변경으로 수정할 수 있습니다.

그러나 소프트웨어의 경우 결함을 감지 할 수있는 유일한 단계는 개발 단계입니다. 소프트웨어의 경우 소프트웨어 사본 제작 및 소프트웨어 매뉴얼 인쇄가 자동으로 수행되므로 제품 생산 계획 및 제조 단계가 필요하지 않습니다.

소프트웨어 제품과 다른 산업용 제품의 결함 감지에 영향을 미치는 요인은 다음 표에 나와 있습니다.

특성 소프트웨어 제품 기타 산업 제품
복잡성 수백만 가지 운영 옵션 수천 가지 운영 옵션
제품 가시성 보이지 않는 제품 육안으로 결함을 감지하기 어려움 눈에 보이는 제품 시각적으로 효과적인 결함 감지
개발 및 생산 과정의 특성 단 한 단계에서 결함을 결함 다음 단계 모두에서 결함을 감지 할 수 있습니다.
  • 제품 개발
  • 제품 생산 계획
  • Manufacturing

복잡성 및 투명성과 같은 소프트웨어의 이러한 특성은 소프트웨어 품질 보증 방법론의 개발과 성공적인 구현을 매우 전문적인 과제로 만듭니다.