본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

소프트웨어 메트릭(Software Metric)은 소프트웨어 제품이나 개발 프로세스의 특성을 수치로 나타낸 측정값으로, 품질을 평가하고 비용·일정을 예측하며 개선할 곳을 찾는 데 쓴다.

소프트웨어의 품질은 유지보수하기 쉬운가, 고장 없이 도는가, 쓰기 쉬운가 같은 외부 품질 속성으로 말하지만, 이런 속성은 개발 중에 직접 잴 수 없다. 그래서 코드 라인 수, 순환 복잡도, 상속 깊이처럼 소프트웨어 자체에서 바로 셀 수 있는 내부 속성을 측정하고, 내부 속성과 외부 품질 사이의 관계를 근거로 품질을 추정한다. 이 관계가 성립하려면 내부 속성을 정확히 잴 수 있어야 하고, 두 속성 사이에 실제로 관계가 있으며, 그 관계가 검증되어 모형으로 표현되어 있어야 한다.[1]

구분 무엇을 재나 예
제품 메트릭 산출물(코드·설계·문서)의 특성 크기(LOC, 기능 점수), 복잡도(순환 복잡도), 객체지향 설계 메트릭(CK 메트릭)
프로세스 메트릭 개발 과정의 특성 결함 제거율, 변경 요청 처리 시간, 공정별 투입 노력
프로젝트(자원) 메트릭 인력·비용·일정 생산성(LOC/인월), 일정 편차
  • 정적 메트릭은 코드·설계 같은 표현물에서 재고, 동적 메트릭은 프로그램을 실행하며 잰다(응답 시간, 고장 횟수). 동적 메트릭은 효율성·신뢰성과, 정적 메트릭은 복잡도·이해도·유지보수성과 더 가깝다

외부 품질 속성과 내부 속성의 관계

편집 원본 편집
외부 품질 속성 관계있는 내부 속성
유지보수성 상속 트리의 깊이, 순환적 복잡도, 프로그램 크기(코드 라인 수), 사용자 매뉴얼의 길이
신뢰성 순환적 복잡도, 프로그램 크기(코드 라인 수), 오류 메시지의 수
재사용성 상속 트리의 깊이, 프로그램 크기(코드 라인 수)
사용성 오류 메시지의 수, 사용자 매뉴얼의 길이
  • 코드의 구조를 보여 주는 상속 깊이·복잡도·크기는 유지보수성과 묶이고, 사용자가 겪는 오류 메시지와 매뉴얼의 길이는 사용성과 묶인다
  • 복잡하고 큰 프로그램일수록 결함이 숨기 쉽고 오류 처리 메시지가 많을수록 예외 상황을 다룬다는 점에서, 복잡도·크기·오류 메시지 수는 신뢰성과 묶인다
  • 품질 특성 자체의 정의는 소프트웨어 품질 특성, McCall 품질 모델 을 본다
  1. ↑ Ian Sommerville, 「Software Engineering」, 품질 관리 - 소프트웨어 측정과 메트릭 장, Pearson.