[SW공학] 요구사항

배창민·2025년 8월 18일

요구사항 이해와 정의

1. 요구사항의 개념

  • 정의: 사용자가 시스템에서 기대하는 기능, 서비스, 조건을 명시한 것. 프로젝트의 기초이자 개발 지침 역할.

  • 목적

    1. 프로젝트 목표와 범위 명확화
    2. 이해관계자 간 의사소통 원활화
  • 종류

    • 기능적 요구사항: 시스템이 수행해야 하는 기능 (예: 로그인, 결제)
    • 비기능적 요구사항: 시스템이 어떻게 동작해야 하는지 (예: 성능, 보안, 신뢰성)

2. 요구사항 추출 방법

  • 인터뷰: 이해관계자와 1:1 대화로 심층 정보 수집
  • 워크숍: 여러 이해관계자가 모여 토론·합의
  • 설문조사: 대규모 사용자 의견을 빠르고 효율적으로 수집

3. 요구사항 분석 및 명세

  1. 정리 및 분류: 기능/비기능 요구사항 구분, 사용자 스토리로 표현
  2. 검토 및 우선순위 결정: 중요도에 따라 우선순위 조정
  3. 모델링 및 분석: 유스케이스, 시퀀스 다이어그램 등 활용
  4. 검증 및 승인: 이해관계자 검토 후 확정
  5. 명세서 작성: 개발·테스트 기준 문서로 정리
  6. 반복 및 정제: 프로젝트 진행에 따라 업데이트

명세서 원칙: 명확성, 완전성, 일관성, 추적 가능성, 검증 가능성


4. 요구사항 검증 및 유지보수

  • 검증 방법

    • 리뷰: 문서 검토
    • 테스트 케이스: 요구사항 충족 여부 확인
    • 프로토타입: 초기 시제품 제작 후 피드백
    • 시뮬레이션: 실제 환경 유사 조건에서 평가
  • 변경 관리

    • 변경 요청 → 영향 분석 → 승인 → 기록/추적 → 모든 이해관계자 공유 및 문서 업데이트

오늘 배운 점 & 느낀 점

요구사항이 단순히 기능을 적어놓는 게 아니라, 프로젝트의 목표와 범위를 명확히 하고 의사소통 기준이 된다는 점을 다시 알게 됐다.
특히 기능적 요구사항과 비기능적 요구사항을 구분하는 게 왜 중요한지, 그리고 인터뷰와 워크숍,설문 같은 다양한 추출 방법등에 대해 배웠으며, 요구사항 분석 및 명세와 검증 및 유지보수 빙법에 대해 자세히 알게되었다.
끝으로 결국 요구사항은 프로젝트의 성공을 좌우하는 핵심이라는 걸 다시 한번 느꼈다.

profile
개발자 희망자

0개의 댓글