요구사항 확인

요구공학이란?

요구공학은 다음과 같은 특징을 가집니다:

  • 요구사항을 정의, 문서화, 관리하는 체계적인 접근 방식
  • 효과적인 소통 수단을 제공하여 불필요한 비용 절감
  • 요구사항 변경 추적을 통한 손실 최소화

요구공학 프로세스

  • 도출
  • 분석
  • 명세
  • 검증

요구사항 관리 도구

주요 기능

  • 변경에 따른 영향도 분석
  • 변경된 이력을 추적
  • 우선순위나 리스크 관리가 가능
  • 외부 연동 및 협업 환경 제공

요구사항 도출

요구사항을 어디에서 어떻게 수집할지 결정하고, 효율적으로 진행하는 것이 중요합니다.

요구사항 도출 기법

사용자의 요구사항이 불명확할 수 있으므로 다양한 기법을 활용합니다:

  • 인터뷰
  • 설문
  • 유스케이스 등

유스케이스 다이어그램

기능을 사용자의 관점에서 친숙하게 표현하며, 시스템 간의 상호작용을 중점적으로 다룹니다.

유스케이스 구성요소

  • 시스템 범위(scope)
  • 주 액터: 이득을 얻는 대상(사람)
  • 부 액터: 목적 달성을 위해 제공되는 외부시스템
  • 유스케이스: 제공 서비스나 기능(사용자 관점)
  • 관계: 유스케이스-유스케이스, 액터-유스케이스

주의사항

  • 과도하지 않게 간결하게 작성
  • 실행순서를 나타내는 플로우차트와는 다른 개념

유스케이스 기술서

액터와 시스템간의 상호작용과정을 구체적으로 서술합니다.

구성 요소:

  • 유스케이스 명
  • 기본흐름
  • 트리거
  • 대체흐름

기본흐름

  • 트리거: 시작점
  • 대체 흐름: 3번 흐름에서 문제 발생 시 3a, 3b와 같이 대체흐름으로 진행

관계 유형

포함 관계(필수적)

  • 공통적으로 사용되는 기능을 추출
  • 기존 유스케이스에서 새로운 유스케이스 방향으로 점선 화살표로 연결 («include»)

일반화 관계

  • 하위 유스케이스에서 상위 유스케이스 방향으로 빈 실선화살표로 표시

확장 관계(선택적)

  • 특정 조건에서만 실행
  • «extend»를 표기하고 점선 화살표로 연결

요구사항 분석

특성을 조정해나가는 활동으로, 명확하지 않거나 상충되는 요구사항을 분석합니다.

요구사항 분류

기능적/비기능적 요구사항

  • 기능적 요구사항: 연산 (예: 도서를 등록하는 기능)
  • 비기능적 요구사항: 성능, 품질 (예: 도서 검색 최대 2초 안에 완료)

사용자/시스템 요구사항

  • 사용자 요구사항: 사용자 입장의 친숙한 표현
  • 시스템 요구사항: 개발자 입장의 기술적 표현

분석 기법

개념모델링

  • 유스케이스처럼 업무처리 실체와 관계를 분석
  • 핵심단계: 현실 문제를 모델링
  • 대부분 UML 사용

요구사항 할당

  • 요구사항을 만족시키기 위한 ‘구성 요소’ 식별

요구사항 협상

상충되는 상황 발생 시:

  • 우선순위 부여를 통한 합의
  • 이해관계자 간 충돌
  • 요구사항과 자원의 충돌
  • 기능적/비기능적 요구사항 간 충돌

정형 분석

  • 요구사항을 정확하고 명확하게 표현
  • 정형화된 언어, 수학적 기호 활용

구조적 분석

도형 중심으로 표현하며 다음 원칙을 따릅니다:

  • 추상화
  • 정형화
  • 분할 정복
  • 계층화

분석 도구

자료 흐름도(DFD)

  • 데이터의 흐름에 중심
  • 작업소요 시간 파악 불가
  • 구성요소:
    • 프로세스
    • 자료 흐름
    • 자료 저장소
    • 단말

자료 사전(DD)

자료 흐름도에 사용된 이름과 속성을 표기한 메타 데이터

규칙:

  • 선택: 대괄호[]와 파이프라인
  • 반복: 중괄호{}
  • 주석: *에스터리스크로 감싸기

NS 차트

  • 논리 중심으로 표현
  • 순차, 선택, 반복의 제어 구조를 명확히 표현
  • 순차적 접근으로 임의 제어 이동이 어려움

HIPO

  • 계층 구조로 표현
  • 기능과 자료의 의존성을 동시에 표현
  • 하향식 소프트웨어 개발에 유용
  • 가시성, 총체적, 세부적의 3가지 도표 사용

요구사항 명세

요구사항을 문서화하는 과정입니다.

명세 유형

  • 정형 명세: 정확한 표현 중심
  • 비정형 명세: 친숙한 표현으로 의사전달 용이

고려사항

  • 정확성
  • 명백성
  • 완전성
  • 일관성
  • 중요도
  • 수정 가능성
  • 추적성

요구사항 검증

잘못된 요구사항으로 인한 비용 소모를 방지하기 위해 요구사항이 제대로 반영되었는지 확인합니다.

검증 기준

  • 유효성
  • 일관성
  • 완결성
  • 현실성
  • 검증 가능성

검증 방법

요구사항 검토

  • 동료 검토: 다수의 동료들에게 직접 설명
  • 워크스루: 사전 검토 후 짧은 회의로 결함 분석
  • 인스펙션: 전문 검토 그룹의 상세 결함 분석

프로토타이핑

  • 시제품을 통한 확인
  • 장점: 즉각적인 피드백과 사전식별 가능
  • 단점: 비용 증가

모델 검증

  • 개발된 모델의 요구사항 만족도 검증
  • 정적 분석을 통한 모델 구조 검증

인수 테스트

  • 인수자의 직접 테스트
  • 요구사항별 테스트 계획 수립
  • 만족 여부 판단

요구사항은 모든 개발 단계에서 생성 가능하며 지속적인 검증의 대상입니다.