요구사항의 개념 및 특징
- 요구사항은 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건 등을 나타낸다.
요구사항의 유형
- 기능 요구사항, 비기능 요구사항
- 시스템 요구사항, 사용자 요구사항
요구공학(Requirements Enginnering)
- 요구공학은 무엇을 개발해야 하는지 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문이다.
- 요구사항 개발도 요구공학의 한 요소이다.
요구사항 개발 프로세스
요구사항 도출
- 개발 관련 사람들이 의견을 교환하여 요구사항이 어디에 있는지, 어떻게 수집할 것인지 식별하고 이해하는 과정
- 개발자와 고객 사이의 관계가 만들어지고 이해관계자가 식별된다.
- 다양한 이해관계자 간의 효율적인 의사소통이 중요하다.
- 요구사항 도출은 소프트웨어 개발 생명주기(SDLC)가 중요하다.
- 요구사항을 도출하는 주요 기법에는 청취와 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스 등이 있다.
요구사항 분석
- 모호한 부분을 명확하게 하고 이해되지 않는 부분을 걸러내기 위한 과정
- 요구사항의 타당성을 조사하고 비용과 일정에 대한 제약을 설정한다.
- 도출된 요구사항들을 토대로 소프트웨어의 범위를 파악한다.
- 요구사항 분석에는 자료 흐름도(DFD), 자료 사전(DD) 등의 도구가 사용된다.
요구사항 명세
- 분석된 요구사항을 바탕으로 모델을 작성하고 문서화한다.
- 구체적인 명세를 위해 소단위 명세서가 사용될 수 있다.
- 기능요구사항은 빠짐없이 완전하고 명확하게 기술한다.
- 비기능 요구사항은 필요한 것만 명확하게 기술한다.
- 설계 과정에서 잘못된 부분이 확인될 경우 그 내용을 요구사항 정의서에서 추적할 수 있어야 한다.
요구사항 명세서
- 소프트웨어가 반드시 제공해야 하는 기능, 특징, 제약조건 등을 명시한다.
요구사항 명세 기법
- 정형 명세 기법과 비정형 명세 기법으로 나뉜다.
- 정형 명세기법
- 요구사항을 정확하고 간결하게 표현할 수 있다.
- 요구사항에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증이 가능함.
- 표기법이 어려워 사용자가 이해하기 어려움
- 비정형 명세기법
- 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고 해석이 달라질 수 있음
- 내용의 이해가 쉬워서 의사소통이 용이함.
요구사항 확인
- 요구사항 확인은 개발자원을 요구사항에 할당하기 전 요구사항 명세서를 검토하는 활동이다.
- 분석가가 요구사항을 정확하게 이해한 후 요구사항 명세서를 작성했는지 확인하는 것이 필요하다.
- 요구사항 관리 도구를 이용하여 요구사항 정의 문서들에 대해 형상관리를 수행한다.
출처 : 2022 시나공 기본서 1권 정보처리기사 필기