1. 요구사항 개발 프로세스
- 개발 대상에 대한 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동.
- 요구사항 개발 프로세스가 진행되기 전에 타당성 조사 ( Feasibility Study ) 가 성행 되어야 함.
- 요구사항 개발은 요구공학 ( Requirement Engineering ) 의 한 요소.
- 도출(Elicitation) -> 분석(Analysis) -> 명세(Specification) -> 확인(Validation)
타당성 조사
개발 프로세스가 비즈니스 목적에 부학되는지, 예산은 적정한지 등에 대한 정보를 수집, 평가한 보고서를 토대로 수행
2. 요구사항 도출 ( Requirement Elicitation, 요구사항 수집 )
- 시스템, 사용자, 개발자 등 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정.
- 개발자와 고객 사이의 관계가 만들어지고 이해관계자(Stakeholder)가 식별.
- 소프트웨어 개발 생명 주기 (SDLC) 동안 지속적으로 반복.
- 요구사항을 도출하는 주요 기법
-청취와 인터뷰
-설문
-브레인스토밍
-워크샵
-프로토타이핑
-유스케이스
브레인스토밍 ( Brain Storming )
3인 이상이 자유롭게 의견을 교환하면서 독창적인 아이디어를 도출해 내는 방법
프로토타이핑 ( Prototyping )
프로토타입(견본품)을 통해 효과적으로 요구 분석을 수행하면서 명세서를 산출하는 작업
유스케이스 ( Use Case )
사용자의 요구사항을 기능 단위로 표현하는 것
3. 요구사항 분석 ( Requirement Analysis )
- 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 잏되지 않는 부분을 발견하고 이를 걸러내기 위한 과정
- 요구사항의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
- 서로 상충되는 요구사항이 있으면 이를 중재하는 과정
- 요구사항 분석에 사용되는 대표적인 도구
-자료 흐름도 (DFD)
-자료 사전 (DD)
4. 요구사항 명세 ( Requirement Specification )
- 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것
- 기능 요구사항을 빠짐없이 기술
- 비기능 요구사항은 필요한 것만 기술
- 구체적인 명세를 위해 소단위 명세서 ( Mini-Spec )가 사용될 수 있음
5. 요구사항 확인 ( Requirement Validation, 요구사항 검증 )
- 개발 자원을 요구사항에 할당하기 전에 요구사항 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동
- 이해관계자들이 검토해야 함
- 요구사항 관리 도구를 이용하여 요구사항 정의 문서들에 대해 형상관리(SCM)를 수행
형상 관리 (SCM; Software Configuration Management)
소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 통칭하여 형상이라고 한다.
형상 관리는 소프트웨어의 개발 과정에서 만들어지는 형상들의 변경 사항을 관리하는 일련의 활동을 말한다.
6. 요구공학 ( Requirements Engineering )
- 무엇을 개발해야 하는지 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문
- 요구사항 변경의 원인과 처리 방법을 이해하고 요구사항 관리 프로세스의 품질을 개선하여 소프트웨어 프로젝트 실패를 최소화하는 것을 목표
7. 요구사항 명세 기법
-
정형 명세 기법
-기법: 수학적 원리 기반, 모델 기반
-작성 방법: 수학적 기호, 정형화된 표기법
-특징: 요구사항을 정확하고 간결하게 표현할 수 있음
요구사항에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증이 가능함
표기법이 어려워 사용자가 이해하기 어려움
-종류: VDM, Z, Petri-net, CSP 등
-
비정형 명세 기법
-상세/기능/객체 중심
-작성 방법: 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성
-특징: 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고, 해석이 달라질 수 있음
내용의 이해가 쉬워 의사소통이 용이함
-종류: FSM, Decision Table, ER모델링, State Chart(SADT) 등