0. 소프트웨어 개발 프로세스
- 제품 개발을 진행 하기 위해 필요한 과정 혹은 구조
- 소프트웨어 생명 주기, 소프트웨어 프로세스 라는 비슷한 용어가 있다.
0.1 산출문서
- 절차에 따라 아래와 같은 산출 문서들이 결과물로 나와야한다.
소프트웨어 개발 계획서(SDP)
소프트웨어 요구 사양서(SRS)
소프트웨어 인터페이스 명세서(IDD)
소프트웨어 설계 명세서(SDD)
소프트웨어 시험 명세서(STD)
소프트웨어 시험 결과서(STR)
소프트웨어 버전 명세서(VDD)
소프트웨어 산출물 사양서 (SPS)
0.2 장점
- 간단하고 명확한 프로세스
- Test, 검증 행위가 요구사항 정의부터 같이 진행되어 전체적인 개발 사이클이 빨라진다.
- 검증이 동시에 이루어져 결함을 빨리 발견 할 수 있다.
1. V-Process 란?
- 개발 프로세스 중 하나로, 폭포수 모델의 확장형태 이다.
- 각 단계마다 상세한 문서화를 통해 작업을 진행하는 방법을 사용.
- 그림 상에서 "Coding"을 기준으로 좌측은 설계, 우측은 검증 부분으로 나뉜다.
1.1 전체 과정
- 시스템 설계 - 구조 설계 - 모듈(Or unit)설계 - Coding - Coverage 검증 - 시스템 (Or 구조) 검증 의 단계로 이루어져 있다.
- "시스템 설계 - 구조 설계 - 모듈(Or unit)설계 " 까지를 통상 설계의 단계이고, 여기까지의 산출물들을 기반으로 실제
Coding을 진행 해야한다.
1.2 추적성
- 각 설계 단계에서 항목들이 "추적성"을 가져야 한다. (세로축) → 예) LED를 켜는 동작을 하는 시스템 이라 할 때, LED 5번을 On,Off하는 시스템 → LED On은 ~~ 구조를 가져야하고, LED Off는 ~~ 구조로 동작해야하고.. → LED On 하기 위한 IO 모듈의 동작, Off를 하기 위한 IO 모듈의 동작, ... 과 같이 설계가 이루어 져야한다.
1.3 검증 단계
- "Coverage 검증 - 시스템 (Or 구조) 검증" → 검증 과정
- Coverage 검증을 자세히 보면 "함수 단위"의 검증이 이루어진다.
- 각 검증과정들 또한 설계의 산출물과 "추적성"을 갖는다. (가로축)
- 각 테스트 과정과 설계의 산출물 사이에 연관성이 생긴다.
- 예) Unit 설계 ↔ Unit 테스트, 구조 설계 ↔ Coverage 검증, 시스템 설계 ↔ 시스템 검증 과 같은 식임.