1-1 006 요구사항 정의 [B]

이지우·2024년 3월 27일
0

정보처리기사

목록 보기
6/68

요구사항의 개념 및 특징

소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 제약조건

  • 개발이나 유지보수 과정의 기준과 근거 제공
  • 개발하려는 소프트웨어의 전반적인 내용 확인
  • 이해관계자들 간의 의사소통을 원활하게 하는 데 도움을 줌
  • 요구사항을 토대로 이후 과정의 목표와 계획 수립

요구사항의 유형

기술하는 내용에 따라 기능 요구사항(Functional requirements)비기능 요구사항(Non-functional requirements)로 구분
기술 관점과 대상 범위에 따라 시스템 요구사항(System requirements)사용자 요구사항(User requirements)로 구분

기능 요구사항

Functional requirements

  • 시스템이 무엇을 하는지, 어떤 기능을 하는지
  • 입력이나 출력 값, 어떤 데이터를 저장하거나 연산해야 하는지
  • 반드시 수행해야 하는 기능
  • 사용자가 제공받기를 원하는 기능

비기능 요구사항

Non-functional requirements

  • 시스템 장비 구성 요구사항
  • 성능 요구사항
  • 인터페이스 요구사항
    : 프로토콜과의 연계도 포함
  • 데이터 요구사항
  • 테스트 요구사항
  • 보안 요구사항
  • 품질 요구사항
  • 제약사항
    : 사전에 파악된 기술, 표준, 업무, 법/제도 등의 제약조건
  • 프로젝트 관리 요구사항
  • 프로젝트 지원 요구사항

사용자 요구사항

User requirements

  • 사용자 관점에서 본 요구사항
  • 친숙한 표현으로 이해하기 쉽게 작성

시스템 요구사항

System requirements

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

요구사항 개발 프로세스

요구사항을 체계적으로 도출하고 분석한 후 분석 결과를 명세서(Specification Document)에 정리한 후 이를 확인 및 검증하는 활동

  • 요구공학의 한 요소

요구공학(Requirements Engineering)

요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문

  • 요구사항 변경의 원인과 처리 방법 이해
  • 관리 프로세스의 품질 개선
  • 프로젝트 실패 최소화

요구공학⊃요구사항 관리⊃요구사항 개발


요구사항 도출(요구사항 수집)

시스템 개발에 관련된 사람들이 서로 의견을 교환하며 요구사항을 식별하고 이해하는 과정

  • 소프트웨어가 해결해야 할 문제 이해
  • 이해관계자(Stakeholder)가 식별됨
  • 이해관계자 간의 효율적인 의사소통 중요
  • 소프트웨어 개발 생명 주기(SDLC; Software Development Life Cycle) 동안 지속적으로 반복
  • 청취와 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스

요구사항 분석

요구사항 중 이해되지 않는 부분을 걸러내기 위한 과정

  • 타당성 조사
  • 비용과 일정에 대한 제약 설정
  • 서로 상충되는 요구사항이 있으면 중재
  • 소프트웨어의 범위 파악
  • 소프트웨어와 주변 환경이 상호 작용하는 방법 이해
  • 자료 흐름도(DFD), 자료 사전(DD)

요구사항 명세

분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것

  • 기능 요구사항은 빠짐없이 완전하고 명확하게 기술
  • 비기능 요구사항은 필요한 것만 명확하게 기술
  • 사용자가 이해하기 쉽도록 작성
  • 개발자가 효과적으로 설계할 수 있도록 작성
  • 잘못된 부분은 요구사항 정의서에서 추적
  • 소단위 명세서(Mini-Spec) 사용 가능

소프트웨어 요구사항 명세서

SRS; Software Requirement Specification

소프트웨어가 반드시 제공해야하는 기능, 특징, 제약조건 명시

  • 모든 동작과 성능, 보안, 사용성 같은 품질도 기술
  • 유형에 맞게 양식을 만들어 사용
  • 시스템 기능, 데이터, 외부 인터페이스, 품질 요구사항은 단위별로 개별 요구사항 명세서 작성

요구사항 명세 기법

정형 명세 기법
: 수학적 원리 기반, 모델 기반
: 수학적 기호, 정형화된 표기법
: 정확하고 간결하게 표현
: 결과가 작성자에 관계없이 일관성이 있어 완전성 검증 가능
: 사용자가 이해하기 어려움
: VDM, Z, Petri-net, CSP

비정형 명세 기법
: 상태/기능/객체 중힘
: 명사, 동사 등 자연어를 기반으로 서술, 다이어그램 작성
: 작성자에 따라 결과가 다를 수 있어 일관성이 떨어지고, 해석이 달라질 수 있음
: 내용의 이해가 쉬워 의사소통이 용이함
: FSM, Decision Table, ER모델링, State Chart(SADT)


요구사항 확인(요구사항 검증)

개발 자원을 요구사항에 할당하기 전 명세서가 정확하고 완전하게 작성되었는지 검토

  • 분석가가 정확하게 이해한 후 요구사항 명세서를 작성했는지 확인(Validation)
  • 실제 요구를 반영하는지, 상충되는 요구사항은 없는지 점검
  • 문제가 발견되면 재작업 비용 발생하므로 검증이 매우 중요
  • 이해하기 쉬운지, 일관성은 있는지, 회사의 기준에는 맞는지, 누락된 기능은 없는지 검증(Verification)
  • 이해관계자들이 검토
  • 모든 문제를 확인할 수 있는 것은 아님
  • 요구사항 정의 문서들에 대해 형상 관리 수행
profile
노력형 인간

0개의 댓글