본문 바로가기
IVS/SW 공학

[SW공학] V-model, 소프트웨어 요구 공학

by 코곰_ 2024. 12. 31.

자동차 소프트웨어 공학 핵심 프로세스

V - Model

: 개발 생명주기의 각 단계와 그에 상응하는 소프트웨어 테스트 단계를 매핑한 모델

- 테스트 설계와 같은 테스트 활동을 코딩 이후가 아닌 프로젝트 시작 시에 함께 시작

- 오른쪽 Test는 왼쪽 개발 기반으로 진행한다.

* SDLC(Software Development Life Cycle)

* STLC(Software Testing Life Cycle)

 

 

 

 

요구사항

정의

: 현실 세계의 문제를 해결하기 위하여, 고객에 의해 요구되거나 표준 등을 만족하기 위해 제품이 가져야 하는 서비스 또는 제약사항

needs, 불만사항을 해결하기 위한 솔루션

 

요구사항의 분류

1. 고객 요구사항: 고객이 개발 대상 제품에 대해 원하는 기대사항(Needs)

2. 제품 요구사항: 고객 요구사항을 만족하기 위해 제품이 수행해야 하는 개발 관점의 구체적인 요구사항

3. 기능적 요구사항: 제품이 목표를 달성하기 위해 사용자에게 제공해야 하는 행위적(기능적) 속성 (what)

4. 비기능적 요구사항: 제품의 기능이 성능, 안전성, 사용성 등의 품질 기준을 만족시키기 위해 가져야 하는 속성(how)

 

 

 

소프트웨어 요구 공학

: 소프트웨어를 개발하기 위한 요구사항을 추출, 분석, 명세, 검증하며, 개발된 요구사항의 변경 및 추적을 관리하는 공학적 접근 방법

 

 

I. 요구사항 개발

: 발주자나 고객으로부터 구현될 소프트웨어 제품의 사양을 정확히 도출하고, 요구사항을 분석 및 명세하는 활동

1. 요구사항 추출: 이해당사자들의 기대(Needs)를 수집 및 도출하는 활동

2. 요구사항 분석: 개발하고자 하는 소프트웨어의 기능 및 비기능을 분석하는 활동

3. 요구사항 명세: 소프트웨어 요구사항을 도식화 및 기술하는 활동

4. 요구사항 검증: 요구사항 명세가 이해당사자 기대에 부합하는지 확인하는 활동

 

 

II. 요구사항 관리

: 요구사항의 변경을 관리하고, 변경 영향을 분석하여 요구사항과 개발 산출물과의 불일치를 식별하도록 추적을 관리하는 활동

1. 요구사항 변경 관리: 베이스라인 수립된 요구사항 명세서의 변경 요청사항에 대해 체계적인 절차에 의해 분석 및 처리하는 활동

2. 요구사항 추적 관리: 요구사항과 아키텍처 설계서, 상세 설계서, 소스 코드, 테스트 산출 문서들 간의 추적성을 관리하는 활동