ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Functional requirements - Architectural Drivers (1)
    카테고리 없음 2024. 5. 19. 22:11

     

    Requirements의 종류 (Architectural Drivers)

    • Functional requirements : 시스템의 기능을 정의
    • Non-Functional requirements
      • System Quality Attributes : 소프트웨어 품질에 대해서 정의
      • System Constraints : 프로젝트 중 제약사항에 대해서 정의

    Functional requirements

    입력(Input)이 시스템을 거쳐 출력(Output)으로 나오는 과정을 기술

     

    입력의 종류에는 User Action, Event가 있다.

     

    사용자가 파일을 업로드하면 다른 사용자에게 공유할 수 있는 링크가 생성되고, 그 링크를 소유한 사용자라면 누구든 해당 파일을 다운로드할 수 있어야 합니다.

     

    위 기능적 요구사항에서 입력은 "사용자가 파일을 업로드하면"이 되는 것이고 입력의 종류는 Event 에 해당된다.

    출력의 경우, "다른 사용자에게 공유할 수 있는 링크 생성"이 될 수 있다.

     

    기능적 요구사항을 수집하는 법

    • Use Cases : 요구사항을 정의한 시나리오
    • User Flows : 유즈케이스를 시각적으로 나타낸 것
    • Ask to Client : 가장 좋은 방법은 클라이언트에게 상세한 요구사항을 모두 이끌어내는 것이지만, 기능이 많고 복잡할 수록 한계가 존재한다.

     

    기능적 요구사항을 수집하는 절차

    1. 시스템에서 모든 사용자와 액터를 식별한다.
    2. 유즈케이스에 대한 모든 가능한 시나리오를 식별한다.
    3. 유즈케이스를 유저플로우로 확장한다.

    User Flow에서의 상호작용은 Action과 Data를 포함한다.

     

    User Flow를 표현하는 방법 - Sequence Diagram

    액터와 객체간의 상호작용을 시각화한 다이어그램

    객체간의 상호작용은 함수로 표현할 수 있고 개체간의 상호작용은 API 통신으로 표현할 수 있다.

     

    추후 구현(Implementation)단계에서 Action과 Data는 함수의 인자와 반환값으로 정의된다.

     

     

     

     

Designed by Tistory.