Skip to content
Carmen Fan edited this page Apr 7, 2020 · 32 revisions

User Requirements

Requirements are descriptions of the services that a software system must provide and the constraints under which it must operate. Requirements can range from high-level abstract statements of services or system constraints to detailed mathematical functional specifications.

(From http://www.inf.ed.ac.uk/teaching/courses/cs2/LectureNotes/CS2Ah/SoftEng/se02.pdf)

This document lists the end-user requirements as well as individual system requirements to drive the software specification going forward.

User requirements are defined using natural language, tables and diagrams.

Actors

User Journeys

Planner - setting up the project

Planner - managing the project

Resident - Navigating the content

User Stories

As a <role>, I want <feature> so that <reason>.

Resident

US1.0 - Must have

As a Resident, I want to see a landing page that tells me how do I go about in contributing so that I know how best to contribute towards the consultation.

US1.1 - Must have

As a Resident, I want to see descriptions about the proposal so that I can have a good understand of the context of this project.

US1.2 - Must have

As a Resident, I want to easily navigate in 3D so that I can freely examine the proposed development.

US1.3 - Must have

As a Resident, I want to mark a location of interest so that I can point out my concerns.

US1.4 - Must have

As a Resident, I want to be able to comment freely so that I can write details of my concerns.

US1.5 - Must have

As a Resident, I want to see comments by others so that I can see whether someone else have concerns around the same area.

US1.6 - Must have

As a Resident, I want to be able to vote up/down another comment so that I can show support or disagreement with someone else's view.

US1.7 - Must have

As a Resident, I want to click on bookmarked locations so that I can easily go to a certain landmark.

Planner

US2.1 - Must have

As a Planner, I want to show Residents a narrative of the project so that I can give them a better understanding of the benefits and reasons behind this proposal before they form an opinion.

US2.2 - Must have

As a Planner, I want to setup a set of questions for the Residents to answer so that I can collect quantiative feedback.

US2.3 - Must have

As a Planner, I want to display 3D models of the project so that I can allow the Residents to visualise the concept better.

US2.4 - Must have

As a Planner, I want to collect comments from Residents so that I can see what additional feedback they may have.

US2.5 - Must have

As a Planner, I want to let users select a type for their comments (Health, Transport, Well being etc) so that I can divide up the comments into different categories.

US2.6 - Must have

As a Planner, I want to set a project to active or inactive so that I can manage access of the Residents to the system.

US2.7 - Must have

As a Planner, I want to collect email addresses from Residents so that I can reach out to them later on.

US2.8 - Must have

As a Planner, I want to collect post code from Residents so that I can filter out responses.

US2.9 - Must have

As a Planner, I want to moderate comments from Residents so that I can remove unsuitable language and spam from the system.

US2.10 - Must have

As a Planner, I want to export collected data in a raw format so that I can make use of them in other software such as Excel.

US2.11 - Must have

As a Planner, I want to export collected data in a raw format so that I can make use of them in other software such as Excel.

US2.12 - Nice to have

As a Planner, I want to direct Residents to a survey once they have finished their contributions so that I can gather further statistics of the demographic.

Admin

US3.1

As an Admin, I want to manage user permissions so that I can give access to Planners and/or Developers/Consultants to create their project on PlanBase.

Functional Requirements

Statements of services that the system should provide, how the system should react to particular inputs and how the system should behave in particular situation.

  • Ability to run the portal as a stand-alone application or embedded within other third-party websites
  • Ability to visualise 3D models (project plans) in an interactive application via a web browser
  • Ability to comment directly in 3D environment based on predefined set of topics (such as Transport, Environment, Leisure, etc)
  • Ability to up or down vote comments already posted by other users
  • Ability to follow a predefined narrative.
  • Ability to visualise the interface in immersive VR environment Mission Room
  • Ability to use the application as stand-alone portal or embedded within other websites
  • Ability to connect to the system via a REST API
  • Ability to process and analyse data via PowerBI
  • Ability to present City-scale view, Area-view and Street-level view in 3D
  • Ability to visualise changes in 3D models via 3D Diff
  • Ability to collect email and postcode information from residents
  • Ability to collect optional demographic information from residents such as gender, ethnicity, employment status, etc.

Non-functional Requirements

Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.

  • Compliance with Gov Service Standard incl. testing for visually impaired users
  • Score A on the System Usability Scale questionnaire
  • Released under open source licence AGPL v3
  • Ability to support 1,000 concurrent users at any given time

Domain Requirements

Requirements that come from the application domain of the system that reflect the characteristics of that domain

  • Custom portal developed on top of 3drepo.io to display 3D plans and collect comments from the public

Side Effects

Results that are not necessarily functional requirements but would be the expected side effects of the project implementation.

Software Specification

A detailed software description which can serve as a basis for a design or implementation.

Test Cases Specification

Clone this wiki locally