Functional requirements - MeteoraProjects/MeteoraDesigner GitHub Wiki

Requirements

M - System requirements

  • web application

M - Business requirements

  • authentification and autorization
  • administrator and user roles
  • ability to create/read/update/delete tasks

M - User requirements

  • M - any user has the name (from 1 to 6400 charachters in the (full) name)
  • M - any task belongs only to one user
  • M - task must have description (from 1 to 6400000 charachters in the (full) name)
  • M - task must have planned start/end timestamps
  • M - task can have actual start/end timestamps
  • M - task can have task portfolio and only one
  • M - if the completion planned timestamp is happened before for not completed task, than the current time, user must recieve the notice
  • M - task can have multiple internal subtasks and multiple external tasks
  • M - task can have multiple parent tasks (that mean in practice just task can be owned by multiple external, but can be convenient in some cases and logic desctiption) and multiple children tasks (the same notice, as for parent tasks)
  • M - task can have eight self completion states
    • disabled
    • enabled
    • active
    • frozen
    • frozenWithForsiblyUnlockedRelatives
    • frozenWithForsiblyUnlockedByRelatives
    • completed
    • tentative
  • M - task must have one and only self completion state at any moment
  • M - task can have pointed completion states and the pointed transitions
    • frozenBy
  • M - task can have eight internal execution states with corresponding transition rules
    • serial
    • serial strict
    • concurrent
    • concurrent strict
    • parallel
    • parallel strict
    • mono
    • mono strict
  • M - task must have one and only internal execution state at any moment
  • O - task can have nine external execution states
    • serial
    • serial strict
    • concurrent
    • concurrent strict
    • parallel
    • parallel strict
    • mono
    • mono strict
    • any
  • O - ask must have one and only external execution state at any moment
  • M - task can have three basic metrics
    • importance
    • urgency
    • stability
  • M - metric has desctiption (from 1 to 6400 charachters)
  • O - task can have special custom (owned by user and belong to him only) metrics
  • M - task can have multiple contexts
  • M - context has desctiption (from 1 to 6400 charachters)
  • M - context can have multiple internal contexts and multiple external contexts
  • M - user can use quick search service to find the tasks, sorted by start timestamp, whith lifetimes that belong to the time periods
    • yesterday's tasks
    • today's tasks
    • tomorrow's tasks
    • last week's tasks
    • current week's tasks
    • next week's tasks
    • last month's tasks
    • current month's tasks
    • next month's tasks
    • last quarter's tasks
    • current quarter's tasks
    • next quarter's tasks
    • last year's tasks
    • current year's tasks
    • next year's tasks
    • last five-year's tasks
    • current five-year's tasks
    • next five-year's tasks
    • tasks for all the time
    • tasks for the period, previous a given period
    • tasks for a given period
    • tasks for the period, next to a given period
  • M - user can use extended search servise that must have several filter options, that can be used together in one search
    • M - search by one or several self or special completion states
    • O - search by one or several self or special external execution states
    • M - search by one or several self internal execution states
    • M - search by one time range with (O) different sort options
    • M - search by one or several contexts
    • M - search by one or several self or/and special metrics