Difference between revisions of "Projets-2016-2017-floatingimageUPnP/SRS"

From air
Jump to navigation Jump to search
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
 
 
 
'''Read first:'''
 
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 
* http://en.wikipedia.org/wiki/Software_requirements_specification
 
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]
 
 
 
{|class="wikitable alternance"
 
{|class="wikitable alternance"
 
|+ Document History
 
|+ Document History
Line 22: Line 14:
 
| TBC
 
| TBC
 
| TBC
 
| TBC
  +
| Maxime D. / Fustes R.
| TBC
 
 
| TBC
 
| TBC
 
| TBC
 
| TBC
Line 30: Line 22:
   
 
=1. Introduction=
 
=1. Introduction=
==1.1 Purpose of the requirements document==
+
==1.1 Purpose of the requirements document==
This document aims to define the goal of the projet by giving a description of the software’s purpose and functionality. It lays out functional and non-functional requirements, and may include a set of use cases that describe how users will use the software and also how the application will interact with other hardware and program
+
This document aims to define the goal of the project by giving a description of the software’s purpose and functionality. It lays out functional and non-functional requirements and may include a set of use cases that describe how users will use the software and also how the application will interact with other hardware and program.
   
 
==1.2 Scope of the product==
 
==1.2 Scope of the product==
 
The aim of this project is to add a way to display images from a UPnP server in an already existing app called Floating Image, which can already use local images and images coming from several websites (Facebook, Flickr...).
 
The aim of this project is to add a way to display images from a UPnP server in an already existing app called Floating Image, which can already use local images and images coming from several websites (Facebook, Flickr...).
   
The application will be able to discover existing UPnP servers, and access images stored on them.
+
The application will be able to discover existing UPnP servers such as XBMC, and access images stored on them.
   
==1.3 Definitions, acronyms and abbreviations==
+
==1.3 Definitions, acronyms and abbreviations==
UPnP : Universal Plug and Play - set of networking protocols allowing easy connectivity between different devices on a local network.
+
* UPnP : Universal Plug and Play - set of networking protocols allowing easy connectivity between different devices on a local network.
  +
* Media server: A media server is a dedicated hardware or software server responsible for providing multimedia on demand. It can be digital videos or movies, audio/music but also picture files. Most of the times, they are used with home theater systems for easier access.
   
 
==1.4 References==
 
==1.4 References==
  +
  +
* [http://air.imag.fr/index.php/Floatingimage_UPnP_feed Subject]
  +
  +
* [https://kodi.tv/ XBMC]
  +
 
==1.5 Overview of the remainder of the document==
 
==1.5 Overview of the remainder of the document==
   
 
=2. General description=
 
=2. General description=
==2.1 Product perspective==
+
==2.1 Product perspective==
  +
  +
The product is and will still be an existing open source application.
  +
  +
For the moment, we could use the application to transform our Android device into a digital photo frame using limited feeds of source files (local files of the devices or social network).
  +
  +
The update of the application consists in a new way to use the device as a digital photo frame at home by creating your "own database" on your dedicated media server. This will extends the possibility of the application's use (for example as a fixed photo frame at home).
  +
 
==2.2 Product functions==
 
==2.2 Product functions==
  +
  +
The user should be able to:
  +
  +
* discover connected UPnP devices
  +
* add a new UPnP feed
  +
* choose the source file to display (UPnP feed, phone, social networks...)
  +
* display pictures
  +
* change settings of the display (speed, orientation, movements)
  +
 
==2.3 User characteristics==
 
==2.3 User characteristics==
  +
  +
There is no specific type of user. Indeed, it is an application used for personal use or "Entertainment".
  +
  +
* All users with a Smartphone
  +
 
==2.4 General constraints==
 
==2.4 General constraints==
  +
==2.5 Assumptions and dependencies==
 
  +
User side constraints:
  +
  +
* Need an Android smartphone
  +
* Need a media server (free)
  +
* Need an internet connection for external feeds (website, socials networks) or local connection (UPnP)
  +
  +
Software side constraints:
  +
  +
* Use and adapt the software application already in place
  +
* No documentation nor comments in the source code
  +
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
 
* document external interfaces,
 
* document external interfaces,
Line 56: Line 86:
 
* design constraints,
 
* design constraints,
 
* emergent system properties and quality characteristics.
 
* emergent system properties and quality characteristics.
  +
==3.1 Requirement 1 : Discover connected UPnP devices==
  +
'''Description''': The application search for connected UPnP devices on the network and select those which can provide images.
   
 
'''Inputs''':
==3.1 Requirement X.Y.Z (in Structured Natural Language)==
 
'''Function''':
 
   
'''Description''':
+
'''Source''':
   
  +
'''Outputs''': List of every connected UPnP devices which can provide images.
'''Inputs''':
 
   
  +
'''Destination''': List of feeds available to the user.
'''Source''':
 
 
'''Outputs''':
 
 
'''Destination''':
 
   
 
'''Action''':
 
'''Action''':
  +
* The user select ''UPnP'' as the image source.
* Natural language sentences (with MUST, MAY, SHALL)
 
  +
* The application discover every UPnP devices on the network.
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)
 
  +
* The application selects those providing media content.
* Mathematical Notations
 
  +
* The list of those devices is displayed to the user.
* Tabular notations for several (condition --> action) tuples
 
   
 
'''Non functional requirements''':
 
'''Non functional requirements''':
   
 
'''Pre-condition''':
 
'''Pre-condition''':
  +
* The smartphone is connected to a network.
   
 
'''Post-condition''':
 
'''Post-condition''':
  +
* Every device on the list can provide images to the application.
   
  +
==3.2 Requirement 2 : Request an image from a UPnP media server==
'''Side-effects''':
 
  +
'''Description''': The application requests an image from a server connected through UPnP.
  +
  +
'''Inputs''': The image filename and location on the media server.
  +
  +
'''Source''': The image display from the original application.
  +
 
'''Outputs''': The image file.
  +
  +
'''Destination''': The image display, where the requested image will be displayed.
  +
 
'''Action''':
  +
* The application sends a request to the media server with enough information to find the image file.
  +
* The server reply with the file.
  +
* The file is sent to the display to be displayed.
  +
  +
'''Pre-condition''':
  +
* The image exists on the server.
  +
* The application can connect to the server.
   
 
=4. Product evolution=
 
=4. Product evolution=

Latest revision as of 20:22, 5 February 2017

Document History
Version Date Authors Description Validator Validation Date
0.1.0 TBC TBC Maxime D. / Fustes R. TBC TBC


1. Introduction

1.1 Purpose of the requirements document

This document aims to define the goal of the project by giving a description of the software’s purpose and functionality. It lays out functional and non-functional requirements and may include a set of use cases that describe how users will use the software and also how the application will interact with other hardware and program.

1.2 Scope of the product

The aim of this project is to add a way to display images from a UPnP server in an already existing app called Floating Image, which can already use local images and images coming from several websites (Facebook, Flickr...).

The application will be able to discover existing UPnP servers such as XBMC, and access images stored on them.

1.3 Definitions, acronyms and abbreviations

  • UPnP : Universal Plug and Play - set of networking protocols allowing easy connectivity between different devices on a local network.
  • Media server: A media server is a dedicated hardware or software server responsible for providing multimedia on demand. It can be digital videos or movies, audio/music but also picture files. Most of the times, they are used with home theater systems for easier access.

1.4 References

1.5 Overview of the remainder of the document

2. General description

2.1 Product perspective

The product is and will still be an existing open source application.

For the moment, we could use the application to transform our Android device into a digital photo frame using limited feeds of source files (local files of the devices or social network).

The update of the application consists in a new way to use the device as a digital photo frame at home by creating your "own database" on your dedicated media server. This will extends the possibility of the application's use (for example as a fixed photo frame at home).

2.2 Product functions

The user should be able to:

  • discover connected UPnP devices
  • add a new UPnP feed
  • choose the source file to display (UPnP feed, phone, social networks...)
  • display pictures
  • change settings of the display (speed, orientation, movements)

2.3 User characteristics

There is no specific type of user. Indeed, it is an application used for personal use or "Entertainment".

  • All users with a Smartphone

2.4 General constraints

User side constraints:

  • Need an Android smartphone
  • Need a media server (free)
  • Need an internet connection for external feeds (website, socials networks) or local connection (UPnP)

Software side constraints:

  • Use and adapt the software application already in place
  • No documentation nor comments in the source code

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 1 : Discover connected UPnP devices

Description: The application search for connected UPnP devices on the network and select those which can provide images.

Inputs:

Source:

Outputs: List of every connected UPnP devices which can provide images.

Destination: List of feeds available to the user.

Action:

  • The user select UPnP as the image source.
  • The application discover every UPnP devices on the network.
  • The application selects those providing media content.
  • The list of those devices is displayed to the user.

Non functional requirements:

Pre-condition:

  • The smartphone is connected to a network.

Post-condition:

  • Every device on the list can provide images to the application.

3.2 Requirement 2 : Request an image from a UPnP media server

Description: The application requests an image from a server connected through UPnP.

Inputs: The image filename and location on the media server.

Source: The image display from the original application.

Outputs: The image file.

Destination: The image display, where the requested image will be displayed.

Action:

  • The application sends a request to the media server with enough information to find the image file.
  • The server reply with the file.
  • The file is sent to the display to be displayed.

Pre-condition:

  • The image exists on the server.
  • The application can connect to the server.

4. Product evolution

5. Appendices

6. Index