정보처리기사 - 실기

요구사항 확인 - 6. 요구사항 개발 프로세스

도준영 2024. 9. 26. 17:23

1. 요구사항 개발 프로세스

요구사항 개발 프로세스는 개발 대상에 대한 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동이다. 

 

요구사항 개발 프로세스가 진행되기 전에 타당성 조사(Feasibility Study) 가 선행되어야 한다

 

* 타당성 조사 - 타당성 조사는 개발 프로세스가 비즈니스 목적에 부합되는지, 예산은 적정한지 등에 대한 정보를 수집, 평가한 보고서를 토대로 수행합니다.

 

요구사항 개발은 요구공학(Requirement Engineering)의 한 요소이다

 

도출(Elicitation) => 분석(Analysis) => 명세(Specification) => 확인(Validation)

 

2. 요구사항 도출 (수집)

 

요구사항 도출은 시스템, 사용자, 개발자, 등 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정이다. 

 

개발자가 고객 사이의 관계가 만들어지고 이해관계자(Stackholder) 가 식별된다.

 

소프트웨어 개발 생명 주기(SDLC) 동안 지속적으로 반복된다.

 

요구사항 도출 기법

- 청취와 인터뷰

- 설문

- 브레인스토밍

- 워크샵

- 프로토타입핑

- 유스케이스

 

* 프로토타이핑 -> 프로토타입을 통해 효과적으로 요구 분석을 수행하면서 명세서를 산출하는 작업 종이에 대략적인 순서나 형태를 그려 보여주는 것도 포함

 

* 유스케이스 -> 사용자의 요구사항을 기능단위로 표현하는것

 

3. 요구사항 분석

요구사항 분석은 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정이다.

 

요구사항의 타당성을 조사하고 비용과 일정에 대한 제약을 설정한다.

 

서로 상충되는 요구사항이 있으면 이를 중재하는 과정이다.

 

요구사항 분석에 사용되는 대표적 도구

- 자료 흐름도(DFD)

- 자료 사전 (DD)

 

4. 요구사항 명세 

요구사항 명세는 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미한다.

 

기능 요구사항을 빠짐없이 기술한다

 

비기능 요구사항은 필요한 것만 기술한다

 

구체적인 명세를 위해 소단위 명세서 가 사용될 수 있다.

 

5. 요구사항 확인

요구사항 확인은 개발 자원을 요구사항에 할당하기 전에 요구사항 명세서가 정확하고 완전하게 작성되었는지 검토하는 활동이다.

 

이해관계자들이 검토해야 한다.

 

요구사항 관리 도구를 이용하여 요구사항 정의 문서들에 대해 형상관리(SCM)를 수행한다

 

* 형상 관리 = 소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 통칭하여 형상이라 칭함.

 

6. 요구공학

요구공학은 무엇을 개발해야 하는지 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문이다.

 

요구사항 변경의 원인과 처리 방법을 이해하고 요구사항 관리 프로세스의 품질을 개선하여 소프트웨어 프로젝트 실패를 최소화하는 것을 목표로 한다.

 

7. 요구사항 명세 기법

 

                                                          

 

                                

구분 정형 명세 기법 비정형  명세 기법
기법 수학적원리/모델 기반         상태/ 기능/ 객체 중심
작성 방법 수학적 기호, 정형화된 표기법        일반명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성
특징 정확하고 간결하게 표현 ,
요구사항에 대한 결과가 작성자에게 관계없이 일관성이 있으므로 완전성 검증이 가능함,
표기법이 어려워 이해하기 힘듬
자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고 해석이 달라질 수 있음,
내용의 이해가 쉬워 의사소통이 용이함
종류 VDM, Z, Petri-net, CSP 등 FSM, Decision Table, ER모델링, StateChart(SADT)등