맥콜(McCall)의 소프트웨어 품질 모델

맥콜(McCall)의 소프트웨어 품질 모델은 사용자와 개발자의 관점에서 소프트웨어의 품질을 평가하기 위해 제안된 고전적인 모델입니다. 이 모델은 소프트웨어의 특성을 3가지 관점으로 분류하고, 이를 다시 11가지 세부 품질 요소로 정의합니다.

구체적인 분류 내용은 다음과 같습니다.

1. 제품 운용 (Product Operation)

사용자가 소프트웨어를 실제로 실행할 때 느끼는 품질 요소입니다. (사용자 관점)

품질 요소 설명
정확성 (Correctness) 사용자의 요구사항을 정확히 충족시키는 정도
신뢰성 (Reliability) 정해진 기간 동안 오류 없이 기능을 수행하는 정도
효율성 (Efficiency) 자원(메모리, CPU 등)을 최소한으로 사용하며 성능을 내는 정도
무결성 (Integrity) 허가되지 않은 접근으로부터 데이터를 보호하고 보안을 유지하는 정도
사용성 (Usability) 사용자가 소프트웨어를 쉽게 배우고 사용할 수 있는 정도

 

2. 제품 수정 (Product Revision)

소프트웨어를 유지보수하거나 변경할 때의 용이성입니다. (개발자/유지보수 관점)

품질 요소 설명
유지보수성 (Maintainability) 오류를 찾아 수정하거나 기능을 개선하기 쉬운 정도
유연성 (Flexibility) 새로운 기능 추가나 변경 요구에 얼마나 쉽게 대응할 수 있는가
시험성 (Testability) 소프트웨어가 제대로 작동하는지 검증(테스트)하기 쉬운 정도

 

3. 제품 전이 (Product Transition)

소프트웨어를 다른 환경으로 옮기거나 재사용할 때의 특성입니다. (환경 적응 관점)

품질 요소 설명
이식성 (Portability) 다른 하드웨어나 운영체제 환경으로 쉽게 옮길 수 있는 정도
재사용성 (Reusability) 전체 혹은 일부 코드를 다른 프로젝트에서 다시 사용할 수 있는 정도
상호운용성 (Interoperability) 다른 시스템이나 소프트웨어와 데이터를 주고받으며 협업할 수 있는 정도

 

McCall의 품질 요소 암기법

운용 : 정·신·효·무·사 (정확성, 신뢰성, 효율성, 무결성, 사용성)

수정 : 유·유·시 (유지보수성, 유연성, 시험성)

전이 : 이·재·상 (이식성, 재사용성, 상호운용성)