소프트웨어 공학 공부
소프트웨어 공학 5주차 - 요구분석
NaZZU
2025. 4. 1. 17:34
요구사항의 정의
- 사용자와 개발자가 합의한 범위 내에서 사용자가 필요로 하는 기능
- 시스템이 제공하는 기능 요구와 품질과 같은 비기능 요구로 나뉨
요구분석의 목적
- 목적 사용자에게서 필요한 요구사항을 추출해 목표하는 시스템의 모델을 만들고, '요구분석명세서'를 작성하기 위해
- 요구분석명세서
- 요구분석 단계에서 생성되는 최종 산출물로 시스템의 기능이 무엇인지 에만 초점을 두고 정리
- 요구분석 단계 후 설계단계에서는 설계서가 만들어지는데 이 문서는 어떻게 구현할지 기술
요구사항 수집
- 자료 수집
- 인터뷰
- 설문 조사
요구분석 절차
- 자료 수집
- 요구사항 도출
- 문서화
- 검증
기능 요구사항
- 사용자가 원하는 기능
- 사용자는 시스템을 통해 기능을 제공받기 바라며 시스템은 사용자에게 필요한 기능을 제공
- 사용자가 원하는 기능은 요구분석 명세서에 완전하고 일관성 있게 표현해야 하며 시스템에도 전부 반영
- 완전성 : 사용자가 원하는 모든 기능이 포함 / 일관성 : 요구사항 간에 모순이 있어서는 안 됨
비 기능 요구사항
- 수행 가능한 환경, 품질, 제약 사항 등을 말함
- 비 기능 요구사항이 매우 중요한 소프트웨어는 군사 무기나 의료 장비 등이 해당
제약 사항
- 개발 소프트웨어가 수행될 환경에 의한 조건
품질
- 신뢰성
- 신뢰성 높은 소프트웨어의 조건
시스템에 오류가 있더라도 고장을 일으키지 않고 회피할 수 있는 능력이 높아야 함
고장이 발생하더라도 이전 수준으로 성능이 회복되어야 함
고장으로 영향을 받은 데이터들이 정상적으로 잘 복구됨
- 신뢰성 높은 소프트웨어의 조건
- 가용성
- 소프트웨어가 총 운용 시간 동안 얼마나 정상적으로 고장 없이 가동되었는지를 비율로 나타냄
- MTBF (평균 정상 작동 시간 또는 고장 간 평균 시간)
- MTTR (평균 수리 시간)
- MTTR(고장까지의 평균 시간)
