Incremental Deliverable 4 Requirements Document - SeoulSKY/safe-zone-system GitHub Wiki

We started on the risk assessment and safeplan, we ended up decided against spending anymore time on it since they aren't going to be implement due to time.

Non-Functional Requirements

General Requirements

  • The software must be available as an Android App
  • The software must be available as an iOS App
  • The software must be available as a Website
  • The software must have an 99% uptime
  • The software must support at minimum 1000 daily users

Functional Requirements

App Requirements

  • The mobile app must cache relevant information
  • The mobile app must indicate if it is in offline mode
  • The mobile app must used cached data if an internet connection is not available
  • The mobile app must allow for the creation of message in a bottle in offline mode
  • The mobile app must send any message in a bottle to the server upon reconnecting to the internet

User Requirements

  • Users must be able to create accounts
  • Users must be able to create an account using single sign on
  • Users must be able to login to their account
  • Users must be able to logout from their account
  • Users must be able to delete an account
  • Users must be able to verify their email
  • Users must be able to recover their account

Admin Requirements

  • Admins must be able to add emails to an approved list of emails to be "message in a bottle" recipients
  • Admins must be able to remove emails to an approved list of emails to be "message in a bottle" recipients
  • Admins must be able to edit emails in a approved list of emails to be "message in a bottle" recipients
  • Admins must be able to create new admin accounts

User Configuration Requirements

  • Users must be able to configure a toggle for using current location information
  • Users must be able to configure a toggle for auto logout on app close
  • Users must be able to configure a toggle for sending warnings if a "message in the bottle" will be sent
  • Users must be able to configure a duration remaining before sending a warning for "message in a bottle"
  • Users must be able to configure a toggle for requiring 2 factor authentication to be able to use the software
  • Users must be able to configure a toggle for requiring personal verification questions to be able to use the software
  • Users must be able to create personal verification questions
  • Users must be able to edit personal verification questions
  • Users must be able to delete personal verification questions

Server Configuration Requirements

  • System Administrators must be able to configure the maximum amount of "messages in bottles" that can be created by a single user
  • System Administrators must be able to configure a mail server to use to send emails from
  • System Administrators must be able to configure an email address that is used to send emails

"Message in a Bottle" Requirements

Creation Requirements

  • Users must be able to create "message in a bottle"
  • Users must be able to cancel "message in a bottle"
  • Users must be able to have multiple "messages in bottles" at the same time

Sending Requirements

  • Users must be able to immediately send "message in a bottle"
  • Users must be able to schedule a time for the "message in a bottle" to be sent.
  • Users must be able to send a "message in a bottle" to multiple different recipients
  • Users must be able to send "message in a bottle" to email addresses
  • Users must be able to select an approved approved email addresses to send a "message in the bottle" to
  • Users must be able to send "message in a bottle" to phone numbers via SMS
  • Users must be able to send "message in a bottle" to other users of the app

Content Requirements

  • Users must be able to change the message in the "message in the bottle"
  • Users must be able add their last known location to the "message in a bottle"

Configuration Requirements

  • Users must be able to create templates for "message in a bottle"
  • Users must be able to update templates for "message in a bottle"
  • Users must be able to delete templates for "message in a bottle"
  • Users must be able to save contacts to send "messages in bottles" to
  • Users must be able to update contacts to send "messages in bottles" to
  • Users must be able to delete contacts to send "messages in bottles" to

Risk Assessment

Creation

  • Admins must be able to create risk assessments
  • Admins must be able to edit risk assessments
  • Admins must be able to delete risk assessments

Questions

  • Functionality
    • Admins must be able to create questions for a risk assessment
    • Admins must be able to edit questions for a risk assessment
    • Admins must be able to delete questions
  • Scoring
    • Questions must be able to be mapped to a category
    • Questions must be able to be mapped to multiple categories
    • After completing a quiz, a summary of the categories must be available

Answering

  • Users must be able to answer questions in the risk assessment
  • Users must be classified into categories based on their responses to the risk assessment

Safe Plan Creator

Creation

  • Users must be able to create safe plans
  • Users must be able to edit safe plans
  • Users must be able to delete safe plans
  • Users must be able to create multiple safe plans

Information

  • Safe plans must have a text field for need/cause
  • Safe plans must have a text field for goal
  • Safe plans must have a text field for activity
  • Safe plans must have a text field for person responsible
  • Safe plans must have a text field for follow-up
  • Safe plans should prompt to create a message in a bottle and/or message in a bottle template

Risk Assessment

  • Based on the results of the risk assessment, the safe plan creator must suggest categories to make safe plans for based on risk factors

Derived Requirements