소프트웨어 엔지니어링의 기능적 요구 사항은 무엇입니까?

⚡ 스마트 요약

기능 요구사항은 소프트웨어 시스템이 제공해야 하는 모든 서비스를 설명하며, 입력, 동작 및 출력을 포함하므로 개발자, 테스터 및 비즈니스 이해관계자가 제품이 실제로 수행해야 하는 작업에 대한 단일하고 검증 가능한 정의를 공유할 수 있습니다.

  • 📘 정의: 기능 요구사항(또는 기능 명세)은 시스템이 수행해야 하는 작업, 즉 사용자 또는 비즈니스 관점에서 설명된 입력, 동작 및 출력을 명시합니다.
  • 📄 문서 범위: 기능 요구사항 문서에는 화면 작동, 데이터 처리 논리, 보고서, 워크플로, 권한 및 규정 준수에 대한 내용이 포함됩니다.
  • 🗂️ 일반적인 유형: 거래 처리, 비즈니스 규칙, 보고, 관리 기능, 권한 수준, 감사 trac왕, 외부 인터페이스 및 법적 요구 사항.
  • 💡 예 : 로그인 유효성 검사, 판매 기록, 역할 기반 수익 조회, 은행 API 통합 및 접근성 규정 준수는 모두 기능 요구 사항에 포함됩니다.
  • 🆚 비기능적 대비: 기능 요구사항은 시스템이 무엇을 하는지 설명하고, 비기능 요구사항은 시스템이 그 일을 얼마나 잘 수행하는지(성능, 보안 및 사용성)를 설명합니다.
  • 모범 사례: 요구사항은 세분화하고, 테스트 가능하며, 비즈니스 목표와 연관되도록 작성하고, 인터뷰와 워크숍을 통해 도출하십시오.

소프트웨어 엔지니어링에서의 기능 요구사항

기능적 요구사항이란 무엇입니까?

A 기능적 요구 사항 기능 요구사항(FR)은 소프트웨어가 제공해야 하는 서비스에 대한 설명입니다. 소프트웨어 시스템 또는 그 구성 요소를 설명하며, 입력, 동작 및 출력으로 정의됩니다. 시스템이 수행해야 하는 작업을 정의하는 계산, 데이터 조작, 비즈니스 프로세스 또는 사용자 상호 작용 등이 될 수 있습니다. 소프트웨어 엔지니어링에서 기능 요구사항은 다른 말로 요구사항이라고도 합니다. 기능 사양.

기능 요구사항은 이해관계자의 상위 수준 요구사항부터 상세한 수학적 명세에 이르기까지 다양합니다. 기능성 소프트웨어 요구사항은 시스템의 의도된 동작을 나타냅니다.

기능 요구사항 문서에 포함해야 할 내용

기능 요구사항 문서에는 다음과 같은 내용이 포함되어야 합니다.

기능적 요구사항의 예

기능적 요구사항의 예

기능 요구사항 문서에는 일반적으로 다음 내용이 포함됩니다.

  • 각 화면에는 수행된 작업에 대한 세부 정보가 표시됩니다.
  • 시스템이 적용해야 하는 데이터 처리 로직
  • Descript시스템 보고서 및 기타 출력물의 이온
  • 시스템이 수행하는 워크플로에 대한 전체 정보
  • 시스템에서 데이터를 생성, 수정 또는 삭제할 수 있는 사람은 누구입니까?
  • 시스템이 관련 규제 및 준수 요구 사항을 충족하는 방법

기능 요구사항의 이점

잘 작성된 기능 요구사항 문서의 주요 이점은 다음과 같습니다.

  • 명시된 모든 기능을 애플리케이션이 제대로 수행하는지 검증합니다.
  • 시스템과 하위 시스템의 기능을 한 곳에 정의합니다.
  • 요구사항 분석과 함께 기능 요구사항을 활용하면 누락된 요구사항을 파악하고 예상되는 시스템 동작을 명확히 할 수 있습니다.
  • 요구사항 단계에서 발견된 오류는 수정 비용이 가장 저렴합니다.
  • 사용자의 목표, 작업 및 활동을 지원합니다.

기능 요구 사항의 유형

일반적인 기능 요구사항 범주는 다음과 같습니다.

  • 거래 처리
  • 비즈니스 규칙
  • 인증 요구 사항
  • 보고 요구 사항
  • 관리 기능
  • 권한 수준
  • 회계 감사 Tracking
  • 외부 인터페이스
  • 이력 데이터 관리
  • 법적 및 규제 요구 사항

기능적 요구사항의 예

다음은 기능 요구사항의 실제 사례입니다.

  • 해당 소프트웨어는 ABC 고객 관리 시스템을 기준으로 고객 정보를 자동으로 검증해야 합니다.
  • 판매 시스템은 사용자가 고객 판매 내역을 기록할 수 있도록 해야 합니다.
  • 애플리케이션의 모든 창 배경색은 16진수 RGB 값 0x0000FF의 파란색이어야 합니다.
  • 관리자급 직원만 매출 데이터를 열람할 수 있는 권한을 갖습니다.
  • 해당 소프트웨어 시스템은 은행 API와 통합되어야 합니다.
  • 소프트웨어 시스템은 다음 조건을 충족해야 합니다. 제 508 접근성 요구 사항.

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

기능적 요구사항과 비기능적 요구사항의 주요 차이점은 다음과 같습니다. 소프트웨어 공학:

파라미터 기능적 요구 사항 비기능적 요구사항
그것이 무엇인지 동사 Attributes
요구 사항 필수입니다 필수사항은 아닙니다
캡처 유형 사용 사례에서 캡처됩니다. 이는 품질 속성으로 캡처됩니다.
최종 결과 제품 기능 제품 속성
캡처 캡처가 용이함 캡처하기 어려움
목표 소프트웨어의 기능을 확인하는 데 도움이 됩니다. 소프트웨어의 성능을 확인하는 데 도움이 됩니다.
초점 영역 사용자 요구사항에 집중 사용자의 기대에 집중합니다.
문서 제품의 기능을 설명하세요. 제품의 작동 방식을 설명합니다.
테스트 유형 시스템, 통합, 엔드투엔드(End to End)와 같은 기능 테스트 API 테스트 성능, 스트레스, 유용성 등의 비기능 테스트 보안 테스트
테스트 실행 테스트 실행은 비기능 테스트 전에 수행됩니다. 기능 테스트 후
제품 정보 제품 특징 제품 속성

기능 요구사항 작성을 위한 모범 사례

기능 요구사항 문서를 작성할 때 가장 중요한 모범 사례는 다음과 같습니다.

  • 두 가지 요구사항을 하나로 합치지 마십시오. 각 요구사항은 세분화하여 작성하십시오.
  • 모든 요구사항을 가능한 한 완벽하고 정확하게 작성하십시오.
  • 문서에 모든 기술 요구사항을 작성하십시오.
  • 모든 요구사항을 성공적인 소프트웨어 개발을 이끄는 목표 및 원칙에 맞춰 매핑하십시오.
  • 인터뷰, 워크숍, 비공식적인 대화를 통해 요구사항을 도출하십시오.
  • 요구사항에 실질적인 영향을 미치는 모든 알려진, 검증된 제약 조건을 문서화하십시오.
  • 모든 가정을 문서에 기록하십시오.

기능 요구사항 작성 시 흔히 저지르는 실수

기능 요구사항 문서를 작성할 때 흔히 저지르는 실수는 다음과 같습니다.

  • 개발자를 혼란스럽게 하는 불필요한 추가 정보를 제공하는 것
  • 개발자가 기능을 구축하는 데 필요한 세부 정보를 생략합니다.
  • 혼합 규칙, 예시, 점수ping 진술이나 목표를 요구사항 자체에 포함시키십시오.
  • 요구사항을 완전하고 정확하게 명시하는 데 필수적인 정보를 누락했습니다.
  • 올바른 해답을 찾는 대신, 변경 요청이 들어왔을 때 기존 요구사항을 옹호하는 데 집중하는 것.
  • 어떠한 목표나 원칙과도 연관되지 않은 글쓰기 요구사항.

자주 묻는 질문

AI 도구는 인터뷰 내용을 종합하고, 사용자 스토리 초안을 생성하고, 모호한 표현을 표시하고, 대규모 요구사항 세트에서 중복을 감지합니다. 하지만 비즈니스 분석가는 승인된 기준선에 포함되기 전에 모든 제안을 실제 이해관계자의 요구사항과 비교하여 검증합니다.

Copilot과 GPT는 간단한 프롬프트를 기반으로 사용자 스토리 초안, 승인 기준 및 필수 사항 설명서를 생성합니다. 비즈니스 분석가는 각 결과물의 테스트 가능성을 검토하고 공식 검토 전에 비즈니스 목표와의 일치 여부를 확인합니다.

비즈니스 요구사항은 매출 증대 또는 규정 준수와 같이 프로젝트가 존재하는 이유를 명시합니다. 기능 요구사항은 결제 검증 또는 보고서 생성과 같이 시스템이 해당 결과를 달성하기 위해 수행해야 하는 작업을 명시합니다.

명확한 주어와 "해야 한다"라는 단어를 사용하고, 각 문장마다 검증 가능한 하나의 행동을 명시하세요. "빠르게"와 같은 모호한 단어는 피하고, 하나의 행동만을 명시하여 요구사항을 단 한 번의 합격/불합격 판정으로 테스트할 수 있도록 하세요.

EARS(Easy Approach to Requirements Syntax)는 보편적 요구사항, 이벤트 기반 요구사항, 상태 기반 요구사항, 선택적 기능 요구사항, 원치 않는 동작 요구사항의 다섯 가지 템플릿을 제공합니다. 각 템플릿은 "TRIGGER가 발생하면 시스템은 RESPONSE를 수행해야 합니다."와 같이 테스트 가능한 구조를 갖도록 합니다.

소프트웨어 요구사항 명세서는 시스템이 수행해야 할 기능을 설명하는 핵심 문서입니다. 기능 요구사항이 가장 큰 부분을 차지하며, 인터페이스, 비기능 요구사항, 유스케이스 및 제약 조건도 포함됩니다.

기능 요구사항은 시스템 테스트, 통합 테스트, 엔드투엔드 테스트, API 테스트 및 사용자 승인 테스트에서 테스트 케이스를 도출하는 데 중요한 역할을 합니다. 각 요구사항은 최소한 하나의 테스트 케이스에 대응하며, 요구사항은 다음과 같습니다. Traceability Matrix는 출시 전에 적용 범위를 확인합니다.

애자일 팀은 "역할로서, 나는 다음과 같은 기능을 원한다. 따라서, 다음과 같은 가치를 원한다."라는 형식으로 기능 요구사항을 사용자 스토리로 표현합니다. 스토리에 첨부된 승인 기준은 요구사항을 테스트 가능한 완료 정의로 변환합니다.

이 게시물을 요약하면 다음과 같습니다.