소프트웨어 요구사항 분석 및 설계
소프트웨어 요구사항 분석 및 설계
📌 1. 소프트웨어 요구사항
요구사항이란 무엇인가?
- 시스템이 수행할 작업이나 제공하는 서비스 및 작동에 대한 제한 사항에 대한 설명
- 이해관계자들이 제공될 시스템에 요구하는 기능과 제약사항을 정의
- ‘What to do’ not ‘how to do’
- ✔️ 고객과 내부 개발자의 Gap을 줄여가는 과정
- 과거와 현재의 요구사항 수요 차이
- 과거 : 개발 전 모든 요구사항 정립 후 뒤에서는 수용 불가
- 현재 : 고객이 아무때나 요구사항을 말해도 능동적으로 수용 가능하도록
📌 2. 소프트웨어 개발
- 소프트웨어 개발 성공 기준
- 과거 : 예산, 타겟, 시간 (Budget, On-Target, On-Time)
- 현재 : 가치, 목표, 만족도 (Valuable, On-Goal, Satisfactory)
- 소프트웨어 개발 실패 비용
- 예방 비용 : 1
- 수정 비용 : 10
- 실패 비용 : 100
- ✔️ SW결함 수정은 생명주기 후반에서 더 많은 노력 요구
📌 3. 소프트웨어 요구공학
- 요구공학의 정의
- 사용자 요구와 시스템 제약사항을 고객 합의하에 추출, 분석, 명세 및 검증하여 정의하고 이를 기반으로 요구사항 변경관리를 수행하는 활동과 원칙
요구 공학 = Requirements Development + Requirements Management
Requirements Development
- 요구사항 도출(Elicitation)
- 요구사항 분석(Analysis)
- 요구사항 명세(Specification)
- 요구사항 검증(Verification and Validation)
- Requirements Management
- 요구사항 범위 설정 및 합의(Negotiation)
- 요구사항 베이스라인(Baseline)
- 요구사항 변경관리(Change Control)
- 요구사항 추적(Traceability)
📌 4. 비즈니스 중심 요구사항 추출
- 요구사항 추출 정의
- 비즈니스