반응형

제목: 요구사항 명세에서 결함 타입의 분류(Classification of Defect Types in Requirements Specifications: Literature Review, Proposal and Assessment)

저자: Isabel Lopes Margarido 3, 포르투갈

문서유형: 컨퍼런스 페이퍼( 6페이지), 2011

 

결함 분류에 대한 기존 문헌을 조사하고(특히 요구사항 결함 관점에서) 이를 기반으로 요구사항 결함 분류(Requirements Defect Classification)를 제시한 자료



요구사항 결함(Requirements Defects)

  • 요구사항 결함은 소프트웨어 생명주기 전반에 거처 주요한 영향을 미침
  • 2009Chen Huang은 여러 소프트웨어 프로젝트에 대한 이메일 조사를 통해 소프트웨어 개발 결함이 소프트웨어 유지보수성(maintainability)에 미치는 영향을 분석하였고, 아래와 같이 가장 심각한 상위 10개의 문제 요인을 제시함. ‘Top 10 리스트에 문서화 및 요구사항 문제가 다수 포함되어 있음. , 소프트웨어 요구사항 결함이 소프트웨어 프로젝트의 유지보수 단계에까지 영향을 미침
  • 2009Hamill Goseva-Popstojanova도 소프트웨어 개발 결함 타입 중 가장 흔한 것이 요구사항 결함이며, 시스템 실패(failures)의 주요 소스가 요구사항에 존재하는 결함(32.65%)과 코드에 존재하는 결함(32.58%)이라고 기술함


 

소프트웨어 개발 요인

문제 디멘젼

1

소스 코드 코멘트의 부적절성

프로그래밍 품질

2

문서의 모호함/신뢰할 수 없음

문서 품질

3

변경이 적절하게 문서화되지 않음

문서 품질

4

추적성 결여(Lack of traceability)

문서 품질

5

표준 준수 결여(Lack of adherence to standards)

프로그래밍 품질

6

통일성/일관성 결여(Lack of integrity/consistency)

문서 품질

7

지속적으로 변하는 요구사항

시스템 요구사항

8

프로젝트 팀 내의 빈번한 인원 교체

인적 자원

9

기술의 부적절한 사용

프로그래밍 품질

10

소프트웨어 품질 요구사항에 대한 고려가 결여됨

시스템 요구사항

[소프트웨어 유지보수성에 영향을 미치는 문제 요인 Top 10]


요구사항 결함 분류

요구사항 결함의 구체적인 분류(taxonomy)는 아래의 목적에 도움이 됨

  • 가장 자주 발생하거나 비용 측면의 영향력이 큰 결함 타입을 식별
  • 요구사항 결함의 근본 원인(root causes) 분석
  • 요구사항 검토 체크리스트(requirements reviews checklists)를 준비
  • 요구사항 관리 프로세스에서 흔히 있는 문제와 연관된 리스크(, 나쁜 의사소통, 불완전한 요구사항, 최종 승인의 어려움)를 줄임


요구사항 명세의 결함 타입 분류

기존의 여러 문헌에서 제안된 요구사항 결함 분류를 정리하여(빈도가 적거나, 지나치게 추상적이거나 상세한 결함 타입을 제거하고 의미가 중복되는 것들은 하나로 합침) 아래와 같이 9가지 타입으로 구분함


분류자(Classifier)

정의(Definition)

(Example)

누락 또는 불완전(Missing or Incomplete)

특정 요구사항이 요구사항 문서에 존재하지 않음. 이 요구사항관 관련된 정보가 누락됨(, 요구사항이 불완전). 요구사항의 의미에 영향을 미치지 않으면서 일부 단어가 누락된 경우는 오자(typo)로 분류함

"시스템이 인가된 사용자의 인증을 허용한다."에서 시스템에 액세스하는 방법이 상세화되지 않음. 로그인/패스워드 사용 방식인가 아니면 카드 방식인가? 비인가 사용자가 액세스를 시도하면 어떻게 되는가?

‘TBD(To be Defined)’ 표현을 포함한 요구사항은 불완전함

부정확한 정보(Incorrect Information)

요구사항에 포함된 정보가 부정확하거나 거짓임(, 오자, 문법상 에러, 누락된 단어는 제외). 요구사항이 선행 문서들과 충돌함

실제 부가가치세가 12%인데 "부가가치세(VAT)23%이다."라고 명세함

비일관성
(Inconsistent)

요구사항(또는 요구사항에 포함된 정보)가 전체 문서와 비일관적이거나 정확하게 명세된 다른 요구사항과 충돌함

한 요구사항은 "모든 불빛이 녹색이다.라고 또 다른 요구사항은  "모든 불빛이 파란색이다.”라고 기술함

한 요구사항은 "집이 창 2, 1, 굴뚝 1개를 가진다"라고 또 다른 요구사항은 "집이 창 2개와 문 1개를 가진다"라고 기술하여 서로 비일관적

모호하거나 불명확(Ambiguous or Unclear)

요구사항이 하나 이상의 해석이 가능한 정보/단어를 포함함. 요구사항에 있는 정보가 주관적임. 요구사항 명세가 읽기(그리고 이해하기) 어려움. 서술된 글의 의미가 불명확함

"오퍼레이터는 트랜잭션이 완료되길 기다릴 필요가 없다."라는 요구사항은 모호하고 사람마다 해석이 다를 수 있음

올바르게 명세된 요구사항의 예는 "트랜잭션의 95% 1초 미만에 처리되어야 한다."

위치 부적절
(Misplaced)

요구사항이 요구사항 명세서의 잘못된 섹션에 위치하거나 또는 잘못된 기능, 패키지, 또는 시스템에 속하게 됨

서버 애플리케이션에 대한 요구사항을 웹 클라이언트 애플리케이션에 관한 섹션에서 포함함

실현불가능 또는 검증불가능
(Infeasible or Nonverifiable)

기술 제약 등으로 인해 요구사항이 구현 불가능함. 요구사항 구현이 코드 인스펙션, 테스트, 기타 다른 검증 방법에 의해 검증될 수 없음(, 검증 불가능한 이유가 모호성, 부정확성, 정보 누락 등이라면 이에 상응하는 다른 분류자가 대신 사용됨)

서비스 사용자가 텔레포트 시스템에 의해 방에 입장한다.” 텔레포트(순간 이동) 기술이 이런 요구사항을 구현할 수 있을 정도로 충분히 진화하지 못함

잠재 외계인을 대상으로 우주로 보낸 메시지가 적어도 1000년 동안 가독 가능해야 한다.”

중복 또는 복제(Redundant or Duplicate)

특정 요구사항이 다른 요구사항의 복제이거나 또는 요구사항이 포함하는 정보 일부가 이미 문서에 존재하여 중복이 생김

동일한 요구사항이 요구사항 명세서에서 한번 이상 나타나거나 또는 동일한 정보가 반복됨

오자 또는 잘못된 서식 (Typo or Formatting)

철자 에러, 의미론적(semantic) 에러, 문법 에러, 또는 단어 누락. 서두르다 생긴 오타. 서식상의 문제

시스템이 사용자 sensibility에 반응한다, , 사용자가 비명을 지르면 시스템이 멈춘다.” 단어 sensitivity(감도)대신 sensibility가 잘못 사용됨

그림이 인쇄 영역 밖으로 나갈 때

관련 없음(Not relevant or Extraneous)

요구사항이 또는 요구사항 명세서의 일부가 프로젝트 범위 밖이거나, 프로젝트와 관련 없거나, 또는 상세 설계 정보에 대한 것이다. 요구사항이 불필요한 정보를 포함함

고객은 트럭을 기대하는데 차가 캐브리얼레이(지붕이 접히는 차)이다.”라고 기술한 요구사항은 프로젝트 범위 밖임

삭제되었어야 하는 요구사항이 여전히 문서에 남아 있음

[요구사항 결함 분류]


반응형

+ Recent posts