본문 바로가기
CS/소프트웨어 공학 에센셜

소프트웨어 검증 및 확인

by k-mozzi 2021. 7. 3.
반응형
Preface

 

후반부에는 비슷한 내용(소프트웨어의 품질 향상 등)이 반복된다.

마지막 장인 다음 장을 공부한 이후 전체적으로 복습하는 시간을 갖도록 하자.

 

한 가지 고민이 있다면 운영체제 책 결정에 관한 것이다.

원서를 해석한 길고 어려운 책으로 시작하여 시간이 오래 걸리더라도 완벽히 이해하고 넘어가는 것이 좋을지, 비교적 짧고 쉽게 적힌 책으로 빠르게 이해하고 넘어가는 것이 좋을지 아직은 잘 모르겠다.


- 추적성 : 서로 다른 단계의 요구사항들 사이에 연관 관계를 제공하는 기술

 

- 소프트웨어 확인 및 검증(V&V : Validation and Verification)

 

- 확인 및 검증의 목적

1) 신뢰성 확보

2) 유지보수성 확보

3) 확장성 확보

 


1. 확인

 

- 사용자의 요구사항을 올바르게 이해하는 과정이다.

→ 처음과 말미에 주로 수행되는(end-to-end) 점검 활동

 

- 요구사항 명세서(SRS : Software Requirements Specification)

 

- 프로젝트 초기

1) 시제품 개발

2) 기술적 검토

3) 시뮬레이션

 

- 프로젝트 후기

1) 확인 시험


2. 검증

 

- 요구사항 명세서에 정의되어 있는 특정 기능을 정확히 구현했는지 점검하는 활동이다.

1) 주로 설계, 구현, 시험 단계에서 이루어짐

2) 요구사항에 대한 추적성 관리 활동

 

- 검증을 위한 추적 방식

1) 전방향 추적 : 특정 요구사항에 대해 라이프사이클 각 단계의 산출물의 추적 항목을 추적

→ 요구사항 만족을 위해 실행

2) 역방향 추적 : 다양한 단계의 산출물의 추적 항목으로부터 요구사항 출처까지 추적

→ 회귀 테스트를 수행할 때 실행

※ 양방향 추적성을 유지하는 것이 필요하다.


3. 개발 라이프사이클과 V&V

 

- V&V : 각 라이프사이클 단계에 대한 요구사항이 충족되었는지 점검하는 것

→ 소프트웨어 검증 및 확인 계획서(SVVP)를 작성하는 것에서 출발

 

- 라이프사이클 단계별 V&V 관리 활동


1. 계획 : V&V 프로세스를 확립하고, 관리 계획을 수립하여 SVVP 작성

 

2. 요구사항 분석 : 요구사항이 정확하게 정의되고 문서화되었는지 확인

1) 소프트웨어 요구사항 평가

2) 소프트웨어 요구사항 추적성 분석

3) 외부 인터페이스 분석

4) 시험 계획 생성(시스템, 인수)

 

3. 설계 : 설계 문서가 요구사항에 맞게 작성되었는지 확인

1) SRS와 설계 문서 간의 추적성 분석

2) 소프트웨어 설계 평가

3) 시험 계획 생성(단위, 통합)

4) 시험 설계 생성(단위, 통합, 시스템, 인수)

 

4. 구현 : 소스 코드의 품질 결정

1) 설계 문서와 소스 코드 사이의 추적성 분석

2) 원시 코드 및 원시 코드 문서 평가

3) 내부 인터페이스 분석

4) 시험 사례 생성(단위, 통합, 시스템, 인수)

5) 시험 절차 생성(단위, 통합, 시스템, 인수)

6) 단위 시험 실행

 

5. 시험 : 소프트웨어의 요구사항이 만족되는지를 보장

1) 시험 절차들 사이의 추적성 분석

2) 인수 시험 절차 생성

3) 시험 실행

 

6. 설치 및 점검

1) 설치 형상 감사

2) 설치 점검

3) V&V 최종 보고서 작성

 

7. 운영 및 유지보수

1) SVVP 개정

2) 제안된 변경 평가



4. 확인 및 검증 계획 수립

 

- SVVP는 개발 프로세스 초기에 수립되어 문서화되어야 한다.

→ 확인 및 검증 활동의 중요성 강조

 

 

 

 

 

참고 문헌 : 윤청, 소프트웨어 공학 에센셜(생능출판), 2019, p.536~549.

728x90
반응형

댓글