본문 바로가기
정보처리기사 준비/실기 공부

요구사항 정의와 유형, 개발 프로세스 (도출/분석/명세/확인)

by 양블로그 2023. 7. 1.
반응형

정의

요구사항은 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건입니다. 소프트웨어 개발이나 유지보수 과정에서 필요한 기준과 근거를 제공합니다. 개발에 참여하는 이해관계자들 간의 의사소통을 원활하게 도와줍니다.

 

유형

1) 기능 요구사항 (Functional requirements)

  • 시스템이 무엇을 하는지, 어떤 기능을 하는지 등의 기능이나 수행과 관련된 요구사항
  • 입력/출력으로 무엇이 포함되어야 하는지에 대한 사항
  • 어떤 데이터를 저장하거나 연산을 수행해야 하는지에 대한 사항
  • 반드시 수행해야 하는 기능
  • 사용자가 제공받기를 원하는 기능

 

2) 비기능 요구사항 (Non-functional requirements)

품질(가용성, 정합성, 상호 호환성, 대응성, 이식성, 확장성, 보안성 등)이나 제약사항과 관련된 요구사항, 시스템 장비 구성, 성능, 인터페이스, 데이터를 구축하기 위해 필요한 사항, 테스트, 보안, 제약사항, 프로젝트 관리, 프로젝트 자원에 대한 요구사항입니다.

 

3) 사용자 요구사항 (User requirements)

  • 사용자 관점에서 본 시스템이 제공해야 할 요구사항
  • 사용자를 위한 것이므로 친숙한 표현으로 이해하기 쉽게 작성해야 합니다.

4) 시스템 요구사항 (System requirements)

  • 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항
  • 전문적이고 기술적인 용어로 표현합니다.
  • 소프트웨어 요구사항이라고도 합니다.

 

 

요구사항 개발 프로세스

 

1) 도출 (Elicitation)

  • 시스템, 사용자, 개발자 등 세스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할지 식별하고 이해하는 과정
  • 개발자와 고객 사이의 관계가 만들어지고 이해관계자가 식별됩니다.
  • 소프트웨어 개발 생명주기 동안 지속적으로 반복
  • 요구사항을 도출하는 주요 기법
    • 청취와 인터뷰
    • 설문
    • 워크샵
    • 브레인스토밍 (3인 이상이 자유롭게 의견을 교환하면서 독창적인 아이디어를 도출)
    • 프로토타이핑 (프로토타입을 통해 효과적으로 요구 분석을 수행하며 명세서를 산출하는 작업)
    • 유스케이스 (사용자의 요구사항을 기능 단위로 표현하는 것)

2) 분석 (Analysis)

  • 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 걸러내기 위한 과정
  • 타당성을 조사하고 비용과 일정에 대한 제약을 설정
  • 서로 상충되는 요구사항이 있으면 이를 중재하는 과정
  • 요구사항 분석에 사용되는 대표적인 도구
    • 자료 흐름도 (DFD)
    • 자료 사전 (DD)

 

3) 명세 (Spevification)

  • 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것
  • 기능 요구사항을 빠짐없이 기술
  • 비기능 요구사항은 필요한 것만 기술
  • 구체적인 명세를 위해 소단위 명세서 (모듈 명세서, Mini-Spec)가 사용될 수 있습니다.

 

4) 확인, 검증 (Validation)

  • 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동
  • 이해관계자들이 시행
  • 형상 관리(SCM) 수행

 

* 요구사항 명세 기법

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