요구사항 정의 – ②요구사항 분석 기법

요구사항 정의 – ②요구사항 분석 기법

요구사항 분석을 통해 요구사항을 기술할 때에는 아래의 작업들이 가능하도록 충분하고 정확하게 기술하여야 한다.

  • 요구사항의 확인(Validation)
  • 요구사항 구현의 검증(Verification)
  • 비용 추정

분석기법으로 요구사항 분류((Requirement Classification), 개념 모델링(Conceptual Modeling), 요구사항 할당((Requirement Allocation), 요구사항 협상((Requirement Negotiation), 정형 분석(Formal Analysis) 등이 있다.

1. 요구사항 분류(Requirement Classification)

요구사항을 다음과 같은 기준으로 분류한다.

  • 요구사항이 기능인지 비기능인지
  • 요구사항이 하나 이상의 고수준 요구사항으로부터 유도된 것인지 또는 이해관계자나 다른 원천(Source)으로부터 직접 발생한 것인지
  • 요구사항이 제품에 관한 것인지 프로세스에 관한 것인지
  • 우선순위가 더 높은 것인지 여부
  • 요구사항의 범위(요구사항이 소프트웨어에 미치는 영향의 범위)
  • 요구사항이 소프트웨어 생명 주기 동안에 변경이 발생하는지 여부
비기능 요구사항의 분류 예시

2. 개념 모델링(Conceptual Modeling)

(1) 개념 모델의 역할

  1. 실세계 문제에 대한 모델링이 소프트웨어 요구사항 분석의 핵심이며, 모델은 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명한다.
  2. 따라서 개념 모델은 문제 도메인의 엔터티(entity)들과 그들의 관계 및 종속성을 반영한다.

(2) 개념 모델의 종류와 표기법

  1. 유스케이스 다이어그램(Use Case Diagram), 데이터 흐름 모델(Data Flow Model), 상태 모델(State Model), 목표기반 모델(Goal-Based Model), 사용자 인터액션(User Interactions), 객체 모델(Object Model), 데이터 모델(Data Model) 등과 같은 다양한 모델을 작성할 수 있다.
  2. 대부분의 모델링 표기법은 UML(Unified Modeling Language)을 사용한다.

(3) UML 다이어그램의 사용

  1. 사용 시나리오를 나타내기 위하여 유스케이스 다이어그램이 많이 사용되고 있다.
  2. 구조 다이어그램(Structure Diagram)은 시스템의 정적 구조(Static Structure)와 다양한 추상화 및 구현 수준에서 시스템의 구성 요소, 구성 요소들 간의 관계를 보여 준다.
  3. 행위 다이어그램(Behavior Diagram)은 시스템 내의 객체들의 동적인 행위(Dynamic Behavior)를 보여 주며, 시간의 변화에 따른 시스템의 연속된 변경을 설명해 준다.

3. 요구사항 할당(Requirement Allocation)

(1) 요구사항을 만족시키기 위한 아키텍처 구성 요소를 식별하는 것을 요구사항 할당이라 한다.

(2) 다른 구성 요소와 어떻게 상호 작용하는지 분석을 통하여 추가적인 요구사항을 발견할 수 있다.

4. 요구사항 협상(Requirement Negotiation)

(1) 두 명의 이해관계자가 서로 상충되는 내용을 요구하거나, 요구사항과 리소스, 기능과 비기능 요구사항들이 서로 상충되는 경우, 어느 한 쪽을 지지하기보다는 적절한 트레이드 오프 지점에서 합의가 중요하다.

(2) 요구사항에 우선순위를 부여하는 것은 중요한 요구사항을 필터링할 수 있으며, 요구사항들 간 상충되는 문제를 해결하는 데 사용될 수 있다.

5. 정형 분석(Formal Analysis)

(1) 형식적으로 정의된 시맨틱(Semantics)을 지닌 언어로 요구사항을 표현한다.

(2) 정확하고 명확하게 표현하여 오해를 최소화시킬 수 있다.

(3) 정형 분석(Formal Analysis)은 요구사항 분석의 마지막 단계에서 이루어진다.

출처

NCS 학습모듈: 20.정보통신 > 01.정보기술 > 02.정보기술개발 > 02.응용SW엔지니어링 (일부 수정)

코멘트 제출

컨텐츠 복사 및 출력 방지! - 회원 가능