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.
'CS > 소프트웨어 공학 에센셜' 카테고리의 다른 글
소프트웨어 공학 용어 정리 (0) | 2021.07.04 |
---|---|
(Fin) 프로젝트 범위, 원가, 일정 관리 (1) | 2021.07.04 |
소프트웨어 형상 관리 (0) | 2021.07.01 |
품질 관리와 프로세스 개선 (0) | 2021.06.28 |
유지보수 (0) | 2021.06.27 |
댓글