요구사항의 개념 및 특징

소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건 등을 나타냄.
  • -요구사항은 개발하려는 소프트웨어의 전반적인 내용을 확인할 수 있게 하므로 개발에 참여하는 이해관계자들 간의 의사소통을 원활하게 하는데 도움을 준다.

 

요구사항의 유형 - 기능요구사항, 비기능 요구사항, 시스템 요구사항, 사용자 요구사항

유형 내용
기능 요구사항 시스템이 무엇을 하는지, 어떤 기능을 하는지에 대한 사항
시스템이 반드시 수행해야하는 기능
사용자가 시스템을 통해 제공받기를 원하는 기능
비기능 요구사항 시스템 장비 구성 요구사항
성능 요구사항
인터페이스 요구사항
데이터 요구사항
테스트 요구사항
보안 요구사항
품질 요구사항
-> 가용성, 정합성, 상호 호환성, 대응성, 신뢰성, 사용성, 유지 관리성, 이식성, 확장성, 보안성 등으로 구분하여 기술
제약사항
프로젝트 관리 요구사항
프로젝트 지원 요구사항
사용자 요구사항 사용자 관점에서 본 시스템이 제공해야 할 요구사항
시스템 요구사항 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항

 

요구사항 개발 프로세스

  •  개발 대상에 대한 요구사항을 체계적으로 도출하고 이를 분석한 후 분석 결과를 명세서에 정리한 다음 마지막으로 이를 확인 및 검증하는 일련의 구조화된 활동
  •  타당성 조사가 선행되어야 함.

 

요구사항 도출(Requirement Elicitation, 요구사항 수집)

 

  •  시스템, 사용자, 그리고 시스템 개발에 관련도니 사람들이 서로 의견을 교환하여 요구사항이 어디에 있는지, 어떻게 수집할 것인지를 식별하고 이해하는 과정
  • 소프트웨어 개발 생명주기 동안 지속적으로 반복
  •  주요 기법으로는 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스 등이 있다

요구사항 분석(Requirement Analysis)

  •  요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정
  •  요구사항의 타당성 조사 및 비용과 일정에 대한 제약설정
  •  소프트웨어 범위 파악

요구사항 명세(Requirement Specification)

  • 요구사항을 체계적으로 분석한 후 승인 될 수 있도록 문서화 하는 것
  •  기능요구사항은 빠짐없이 완전하고 명확하게 기술해야 하며, 비기능 요구사항은 필요한 것만 명확하게 기술

 

요구사항 확인(Requirement Validation, 요구사항 검증)

  •  요구사항 명세서가 정확하고 안전하게 작성 되었는지 검통하는 활동
  •  요구사항 명세서의 내용이 이해하기 쉬운지, 일관성은 있는지, 회사의 기준에는 맞는지 검증하는 것이 중요

 

요구사항분석 기법

개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호한 부분을 걸러내기 위한 방법

 

요구사항 분류(Requirement Classification)

   -> 요구사항을 명확히 확인할 수 있도록 다음과 같은 기준으로 분류한다.

  • 1. 기능 요구사항과 비기능 요구사항으로 분류
  • 2. 하나 이상의 상위 요구사항에서 유도된 것인지 또는 이해관계자나 다른 원천으로부터 직접 발생한 것인지 분류
  • 3. 개발할 제품에 관한 것인지 개발 과정에 관한 것인지 분류
  • 4. 우선순위에 따라 분류
  • 5. 소프트웨어에 미치는 영향의 범위에 따라 분류
  • 6. 소프트웨어 생명 주기 동안에 변경될 가능성이 있는지 여부에 따라 분류

개념 모델링(Conceptual Modeling)

요구사항을 보다 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화하여 개념적으로 표현한 것을 모델이라고 하며, 이러한 모델을 만드는 과정을 모델링이라고 한다.

 

요구사항 할당

요구사항을 만족 시키기 위한 구성 요소를 식별하는 것

 

요구사항 협상

요구사항이 서로 충돌 될 경우 이를 적절히 해결하는 과정

 

정형분석

구문과 의미를 갖는 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현한 후 이를 분석하는 과정

 

 

요구사항 확인 기법

-> 요구사항 개발 과정을 거쳐 문서화된 요구사항 관련 내용을 확인하고 검증하는 방법

-> 요구사항에 자원이 배정되기 전에 문제 파악을 위한 검증을 수행

 

요구사항 검토

-> 문서화된 요구사항을 훑어보면서 확인하는 것으로 가장 일반적인 요구사항 검증방법

 

프로토타이핑(Prototyping)

-> 초기 도출된 요구사항을 토대로 프로토타입을 만든 후 대상 시스템의 개발이 진행되는 동안 도출되는 요구사하을 반영하면서 지속적으로 프로토타입을 재작성하는 과정

장점 단점
1. 빠르게 제작할 수 있으며, 반복되는 제작을 통해 발전된 결과물을 얻을 수 있다.
2. 최종 시스템을 완성하기 전에 추가/변경 요구사항이나 아이디어 등에 대한 피드백이 가능
3. 의사소통 원활
4. 시스템사용에 대한 문제점을 완성전에 식별가능
5. 개선될수록 변동 가능한 요구사항이 감소
1. 사용자의 관심이 핵심에서 벗어나 프로토타입 제작에만 집중될 수 있다.
2. 개발 대상의 일부만을 대상으로 프로토타입이 제작된 경우 대상 범위를 잘못 이해하여 사용성이 과대평가 될 수 있다
3. 지속적이고 반복적인 프로토타입의 개선으로 인한 비용이 부담될 수 있다.

 

모델 검증(Model Verification)

-> 모델 검증이란 요구사항 분석 단계에서 개발된 모델이 요구사항을 충족시키는지 검증하는 것

 

인수 테스트(Acceptance Tests)

-> 사용자가 실제로 사용될 환경에서 요구사항들이 모두 충족되는지 사용자 입장에서 확인하는 과정

 

복사했습니다!