Proj-2013-2014-SmartCitizen2014/SRS

From air
Jump to navigation Jump to search

The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.


Document History
0.1 27/01/2014 Labat Paul, Fréby Rodolphe SRS of SmartCitizen project Validator Validation Date
0.1.0 TBC TBC TBC TBC TBC


1. Introduction

1.1 Purpose of the requirements document

This Software Requirements Specification (SRS) identifies the requirements for the SmartCitizen project. The purpose of the present document is to explain how we organize our project, the different steps of the conception and the project achievement.

1.2 Scope of the product

The purpose of this project is to monitor a city thanks to sensors spread in it and to visualize the data, sent by those sensors, on a map.

1.3 Definitions, acronyms and abbreviations

  • MQTT (MQ Telemetry Transport) : It is a messaging protocols that can be used by a range of devices from small sensors, to mobile phones, embedded systems on vehicles, or laptops. It uses the publish-subscribe messaging pattern.
  • Arduino : It is a open-source board with a microcontroller, intended to make the application of interactive objects or environments more accessible.
  • MongoDB :A NoSQL cross-platform document-oriented database system. It uses a JSON-like structure (named BSON) instead of the traditional table-based system.
  • Leaflet : A open-source JavaScript library for building web mapping applications.

1.4 References

http://leafletjs.com/

1.5 Overview of the remainder of the document

2. General description

2.1 Product perspective

At first, the website will enable people to see data from sensors on a map. Then, a bit of statistics will be made in order to display zone in function of some parameters. Finally, the user will be able to take a picture with geolocalisation and post it on twitter, so that the picture is displayed on the web site.

2.2 Product functions

2.3 User characteristics

A web browser with JavaScript enabled is needed.

2.4 General constraints

2.5 Assumptions and dependencies

3.Specific requirements, covering functional, non-functional and interface requirements

  • document external interfaces,
  • describe system functionality and performance
  • specify logical database requirements,
  • design constraints,
  • emergent system properties and quality characteristics.

3.1 Requirement X.Y.Z (in Structured Natural Language)

Function:

  • Gather information from several sensors and a Twitter steam
  • Post information on a map, available from a browser

Description:

Inputs:

  • Json data from Twitter
  • MQTT data from sensors
  • Picture from an Android application

Source:

  • Twitter stream
  • Sensors
  • Android application

Outputs:

  • A web site

Destination:

  • Citizen
  • Town hall

Action:

  • Alert by e-mail to Town hall when a threshol is reached
  • Post a tweet when a threshol is reached

Non functional requirements:

  • Sensors are not blocked

Pre-condition:

  • Hardware:
- Arduino Leonardo
- Senors with MQTT compatibility


  • Software:
- Nodejs
- Mongodb
- Mosquitto


Post-condition:

  • A user post a tweet with information and/or a picture with GPS location

Side-effects:

  • Real time information
  • Reactivity from the Town hall

4. Product evolution

5. Appendices

6. Index