포스트

소프트웨어 설계 - 요구사항 / 요구사항 도출 분석

소프트웨어 설계 - 요구사항 / 요구사항 도출 분석

요구사항

  • 정의 : 사용자가 시스템을 통해 무엇을 얻고자 하는지, 시스템이 어떤 기능을 수행해야 하는지, 그리고 시스템이 어떤 제약 조건 하에서 작동해야 하는지에 대한 명세
  • 목적 : 개발팀이 무엇을 만들지 명확하게 정의하고, 고객과 개발자 간의 이해를 일치시키며, 개발된 제품이 최종적으로 고객의 기대에 부합하는지 검증하는 기준이 됩니다.
  • 종류
    • 사용자 요구사항 : 사용자가 자신의 입장에서 원하는 바를 기술한 것 (예: “로그인이 3초 안에 완료되어야 한다.”)
    • 시스템/기능 요구사항 : 시스템이 반드시 수행해야 하는 구체적인 기능(예 : “사용자는 비밀번호를 재설정 할 수 있어야 한다.”)
    • 비기능 요구사항 : 성능, 보안, 사용성, 안전성 등 시스템의 품질과 관련된 제약 조건(예 : “시스템은 초 당 1,000건의 트랜잭션을 처리 할수 있어야 한다.)

      요구사항의 중요성

    • 목표와 방향 제시
    • 비용 및 시간 절감
    • 이해관계자 간의 소통 및 합의
    • 품질 및 검증의 기준
    • 프로젝트 위험 관리

      요구사항 도출 / 분석

  • 소프트웨어 및 시스템 개발 프로젝트의 성공을 위한 가장 기본적인 초기 단계이며, 서로 밀접하게 연결되어 있습니다.
  1. 요구사항 도출
    • 요구사항 도출은 시스템을 필요로 하는 사람(고객, 사용자, 이해관계자)으로부터 그들이 무엇을 원하는지, 무엇이 필요한지에 대한 정보를 찾아내고, 수집하고 ,끌어내는 과정
  2. 요구사항 도출 기법
    • 사람 중심의 상호작용 기법 이해관계자와 직접 소통하여 정보를 얻는 기법입니다.

    | 기법 | 설명 | 핵심 이점 | | :— | :— | :— | | 인터뷰 (Interviews) | 분석가와 이해관계자가 1:1 또는 소그룹으로 만나 질의응답을 진행합니다. | 깊이 있는 정보와 숨겨진(Tacit) 요구사항 파악에 용이합니다. | | 워크숍 (Workshops) | 주요 관계자를 모아 집중 토론을 통해 요구사항을 도출하고 합의합니다. (예: JAD) | 다양한 관점을 수렴하고 충돌을 즉시 해결하여 시간을 절약합니다. | | 설문조사 (Surveys) | 다수의 사용자에게 표준화된 질문지를 배포하여 응답을 수집합니다. | 광범위한 사용자층의 데이터와 의견을 효율적으로 얻습니다. | | 브레인스토밍 (Brainstorming) | 비판 없이 자유롭게 아이디어를 제시하여 잠재적 요구사항을 발굴합니다. | 창의적이고 새로운 아이디어를 제약 없이 모을 때 유용합니다. |

    • 관찰 및 상황 분석 기법
      • 사용자의 실제 업무 환경과 행동을 분석하여 요구사항을 파악합니다.
      • 현장 관찰 (Observation)
        • 설명: 사용자가 업무를 수행하는 현장을 방문하여 행동을 관찰하고 기록합니다.
        • 이점: 사용자가 말로 표현하지 못하는 실제 업무 흐름과 습관을 파악합니다.
      • 사용자 스토리 (User Stories)
        • 설명: 사용자의 관점에서 역할, 목표, 이유를 간결하게 서술합니다.
        • 형식: 나는 [역할]로서, [목표]를 하길 원한다. 왜냐하면 [이유] 때문이다.
        • 이점: 사용자 가치 중심으로 요구사항을 정의하며, 애자일(Agile) 환경에 적합합니다.
    • 모델링 및 실험 기법
      • 시각화나 실험을 통해 요구사항을 구체화하고 검증합니다.
    기법설명핵심 이점
    프로토타이핑 (Prototyping)핵심 기능이나 UI의 시제품을 빠르게 만들어 피드백을 받습니다.추상적인 아이디어를 시각화하여 오해를 줄이고 구체화합니다.
    유스케이스 (Use Cases)시스템과 사용자 간의 상호작용을 단계별(Step-by-Step)로 정의합니다.기능적 요구사항의 범위와 시스템 경계를 명확히 합니다.
  3. 요구사항 분석
    • 도출과적을 통해 수집된 원시(Raw) 요구사항 정보를 검토하고, 체계화하고, 모순을 해결하여 명확하고 일관된 명세서로 변환하는 과정
    • 목표
      • 이해 (Understanding): 수집된 요구사항의 내용을 깊이 있게 파악합니다.
      • 해결 (Resolution): 요구사항 간의 충돌, 모호성, 불완전성을 제거합니다.
      • 모델링 (Modeling): 요구사항을 구조화된 형태로 표현하여 개발자들이 이해하기 쉽게 만듭니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.