본문 바로가기
정보처리이론

2-3 요구사항 분석 기법과 요구사항 확인 기법

by 공부합시다홍아 2020. 11. 2.

요구사항 분석 기법

요구사항 분석 기법은 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호한 부분을 걸러내기 위한 방법
- 요구사항 분석기법에는 요구사항 분류, 개념모델링, 요구사항 할당, 요구사항 협상, 정형 분석 등

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

개념 모델링(Conceptual Modeling)
요구사항을 보다 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화하여 개념적으로 표현한 것을 '모델'이라 한다.
이러한 모델을 만드는 과정을 모델링이라 한다.
- 모델은 문제가 발생하는 상황을 쉽게 이해시키고 해결책을 설명할 수 있으므로 실세계 문제에 대한 모델링은 소프트웨어 요구사항 분석의 핵심이다.
- 개념 모델은 문제의 주체인 개체들과 그들 간의 관계 및 종속성을 반영
- 요구사항을 이해하는 이해관계자별로 관점이 다양하므로 그에 맞게 개념 모델도 다양하게 표현

종류
유스케이스 다이어그램(Use Case), 데이터 흐름 모델(Data Flow), 상태 모델(Status), 목표기반 모델(Goal-Based), 사용자 인터액션(User Interactions), 객체 모델(Object Model), 데이터 모델(Data Model) 등

모델링 표기는 주로 UML(Unified Modeling Language)을 사용


요구사항 할당(Requirement Allocation)
요구사항 할당은 요구사항을 만족시키기 위한 구성 요소를 식별하는 것
식별된 구성 요소들 간에 어떻게 작용하는 지 분석하는 과정에서 추가적인 요구사항이 발견

요구사항 협상(Requirement Negotiation)
요구사항이 서로 충돌될 경우 이를 적절히 해결하는 과정 
1. 요구사항이 서로 충돌될 경우 어느 한쪽으로 맞추기 보다는 적절한 기준점을 찾아 합의
2. 각각에 우선 순위를 부여, 무엇이 더 중요한지를 인식할 수 있으므로 문제 해결에 도움

정형 분석(Formal Analysis)
구문(Syntax)과 의미(Semantics)를 갖는 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현한 후 이를 분석하는 과정
- 정형 분석은 요구사항 분석의 마지막 단계에서 이루어짐



요구사항 확인 기법

요구사항 확인 기법은 요구사항 개발 과정을 거쳐 문서화된 요구사항 관련 내용을 확인하고 검증하는 방법이다.
- 요구사항에 자원이 배정되기 전에 문제 파악을 위한 검증을 수행
- 요구사항 확인 기법에는 요구사항 검토, 프로토타이핑, 모델 검증, 인수 테스트 등이 존재


요구사항 검토(Requirement Reviews)
문서화된 요구사항을 훓어보면서 확인하는 것으로 가장 일반적인 요구사항 검증 방법
1. 요구사항 검토자들은 요구사항 검토를 통해 명확하지 않은 내용은 없는지, 가정이 잘못되지는 않았는지, 정해놓은 기준을 벗어나지는 않는지 등을 찾아냄
2. 요구사항 검토자 그룹을 구성 시 구성 방법은 중요하다.
검토는 시스템 정의서(System Definition Document), 시스템 사양서(System Specification), 소프트웨어 요구사항 명세서(SRS, Software Requirment Specification Document) 등 완성한 시점에 이루어짐


프로토타이핑(Prototyping)
초기 도출된 요구사항을 토대로 프로토타입(Prototype)을 만든 후 대상 시스템의 개발이 진행되는 동안 도출되는 요구사항을 반영하면서 지속적으로 프로토타입을 재작성하는 과정이다. 
- 상품이나 서비스가 출시되기 전에 개발 대상 시스템 또는 그 일부분을 개략적으로 만든 원형을 프로토타입이라 한다.
- 프로토타이핑을 수행 동안 새로운 요구사항이 도출될 수 있다.
- 소프트웨어 요구사항에 대한 소프트웨어 엔지니어의 해석이 맞는지 확인하기 위한 수단으로 주로 사용

장점 단점
⊙ 빠르게 제작 가능
⊙ 반복 제작을 통해 발전된 결과물 도출
⊙ 최종시스템 완성 전 추가 및 변경 등 피드백 가능
⊙ 이해 쉬움 → 의사소통 원활
⊙ 문제점을 시스템 완성 전에 식별
⊙ 프로토타입이 개선 될 수록 가능한 요구사항 감소
⊙ 사용자의 관심이 핵심에서 벗어나 프로토타입 제작만 집중
⊙ 개발 대상의 일부만을 대상으로 프로토타입 제작 시
    → 범위 잘못이용, 과대 평가 가능성
⊙ 지속적이고 반복적인 개선으로 비용 부담 증가

 

모델 검증(Mdel Verification)
요구사항 분석 단계에서 개발된 모델이 요구사항을 충족시키는 지 검증하는 것
- 객체 모델의 경우 객체들 사이에 존재하는 의사소통 경로를 검증하기 위하여 정적 분석을 수행하는 것이 유용

인수테스트(Acceptance Tests)
사용자가 실제로 사용될 환경에서 요구사항들이 모두 충족되는 지 사용자 입장에서 확인하는 과정
- 각각의 요구사항을 어떻게 확인할 것인지에 대한 계획 세워야한다.
- 종류
  사용자 인수테스트, 운영상의 인수테스트, 계약 인수테스트, 규정 인수테스트, 알파 검사, 베타 검사

728x90