Difference between revisions of "Proj-2013-2014-Open DynDNS/SRS"

From air
Jump to navigation Jump to search
Line 31: Line 31:
 
=1. Introduction=
 
=1. Introduction=
 
==1.1 Purpose of the requirements document==
 
==1.1 Purpose of the requirements document==
  +
The purpose of this Software Requirement Document (SRS) is to provide detailed overview of our 4th year RICM project called Open DynDNS. Being an open-source project, this document can be used as a guideline and reference to potentiel future contributors and designers to take part in software delivery lifecycle (SDLC) processes.
  +
  +
In short, this document defines how our client, team and our tutor see the product and its functionality by understanding the user interface, hardware and software requirements.
  +
 
==1.2 Scope of the product==
 
==1.2 Scope of the product==
 
==1.3 Definitions, acronyms and abbreviations==
 
==1.3 Definitions, acronyms and abbreviations==

Revision as of 11:38, 17 February 2014

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


Read first:

Document History
Version Date Authors Description Validator Validation Date
0.1.0 27/1/2014 Lionel Boey Projet requirement Thomas Calmant 28/1/2014


1. Introduction

1.1 Purpose of the requirements document

The purpose of this Software Requirement Document (SRS) is to provide detailed overview of our 4th year RICM project called Open DynDNS. Being an open-source project, this document can be used as a guideline and reference to potentiel future contributors and designers to take part in software delivery lifecycle (SDLC) processes.

In short, this document defines how our client, team and our tutor see the product and its functionality by understanding the user interface, hardware and software requirements.

1.2 Scope of the product

1.3 Definitions, acronyms and abbreviations

1.4 References

1.5 Overview of the remainder of the document

2. General description

2.1 Product perspective

2.2 Product functions

2.3 User characteristics

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: To dynamically updates the public IP address of a host on a DNS server whenever the host is mobile and is located in a foreign network

Description: Implement an open source dynamic DNS server and demon to run on various device (PC, laptop, Android tablet etc)

Inputs: Dynamic IPs

Source: Users who host their websites or depositories behind a router/modem with dynamic IP

Outputs: Dynamic DNS updates

Destination: Open DynDNS server

Action:

  • Open DynDNS client must notify OpenDynDNS server whenever it detects a change in IP adress on the host
  • Open DynDNS server updates shall not be modified by non-recognizable device

Non functional requirements:

  • Open DynDNS client may be run on various device such as a laptop, PC or an Android tablet.

Pre-condition:

  • Hardware

- Raspberry PI - Android tablette (Nexus 10) - 2 machine running on Linux

  • Software

- Ubuntu desktop - MQTT sensors - Flask API and Flask REST-ful - Kivy - Liclipse for Python

Post-condition:

  • User must be situated in a foreign network with different public IP address before launching the daemon


Side-effects:

4. Product evolution

5. Appendices

6. Index