Projets-2016-2017-floatingimageUPnP/SRS

=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

 * Subject


 * XBMC

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=