소프트웨어 품질 관리-소개
품질 소프트웨어는 합리적으로 버그 나 결함이없고 정해진 예산 내에서 제때에 제공되고 요구 사항 및 / 또는 기대를 충족하며 유지 관리 할 수있는 소프트웨어를 의미합니다. 소프트웨어 엔지니어링 맥락에서 소프트웨어 품질은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 절차가 적용됩니다. 제조 첫 단계에서 발견 된 제품의 결함은 일반적으로 향후 제조되는 제품에서 이러한 결함을 제거하는 방식으로 제품의 디자인이나 재료 또는 생산 도구의 변경으로 수정할 수 있습니다.
그러나 소프트웨어의 경우 결함을 감지 할 수있는 유일한 단계는 개발 단계입니다. 소프트웨어의 경우 소프트웨어 사본 제작 및 소프트웨어 매뉴얼 인쇄가 자동으로 수행되므로 제품 생산 계획 및 제조 단계가 필요하지 않습니다.
소프트웨어 제품과 다른 산업용 제품의 결함 감지에 영향을 미치는 요인은 다음 표에 나와 있습니다.
특성 | 소프트웨어 제품 | 기타 산업 제품 |
---|---|---|
복잡성 | 수백만 가지 운영 옵션 | 수천 가지 운영 옵션 |
제품 가시성 | 보이지 않는 제품 육안으로 결함을 감지하기 어려움 | 눈에 보이는 제품 시각적으로 효과적인 결함 감지 |
개발 및 생산 과정의 특성 | 단 한 단계에서 결함을 결함 | 다음 단계 모두에서 결함을 감지 할 수 있습니다.
|
복잡성 및 투명성과 같은 소프트웨어의 이러한 특성은 소프트웨어 품질 보증 방법론의 개발과 성공적인 구현을 매우 전문적인 과제로 만듭니다.