Projets-2015-2016-IaaS Docker-SRS

From air
Revision as of 11:14, 8 March 2016 by Alan.Damotte (talk | contribs) (Product functions)
Jump to: navigation, search

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 TBC TBC TBC TBC TBC

Introduction

Purpose of the requirements document

  • This Software Requirements Specification (SRS) identifies the requirements for the Collaborative Iaas project .
  • This document is a guideline about the functionalities offered and the problems that the system solves.

Scope of the product

The objective of this project is to allow a user group (member) to pool their laptops or desktop in order to calculate big data of few users. To do so, the solution should work with Docker to virtualize user machines and control the use of resources of each machine.

Definitions, acronyms and abbreviations

References

Overview of the remainder of the document

The rest of the SRS examines the specifications of the Collaborative Iaas project in details. Section two of the SRS presents the general factors that affect the Collaborative Iaas project and its requirements, such as user characteristics and project constraints. Section three outlines the detailed, specific and functional requirements, performance, system and other related requirements of the project. Supporting information about appendices is provided in Section three.

General description

Product perspective

Context diagram
Use case diagram

Product functions

  • Client :
    • Register to the service
    • Ask for an instance precising required resources
    • Launch an instance
    • Connect to running instance
    • Stop an instance
    • Remove an instance
    • Give a mark to a provider
  • Provider :
    • Register to the service
    • Download required files
    • Launch coordinator system
    • Provide some of his resources
    • Start to provide
    • Stop to provide
    • See resources consumption of the instances running on his machine

User characteristics

  • The client/provider doesn't have to be familiar with programming
  • The client/provider should know unix basics
  • The client/provider should know how ssh works
  • The provider should know how to launch a script in a terminal

General constraints

  • System constraint:
    • The provider's machine must run on a unix system (Ubuntu for example)
  • Environment constraint:
    • Internet access is required to use the service

Assumptions and dependencies

  • The client/provider have an internet access

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

External interface requirements

Functional requirements

Performance requirements

Design constraints

Logical database requirement

Software System attributes

Reliability

Availability

Security

Maintainability

Portability

For the moment, the system will be available in Linux only for provider side
However, if packages are available on other systems, we might release the system on other OS later.

Other requirements

  • The system must be able to run on Linux 14 or higher
  • The system must not consume too much CPU
  • The system must not consume too much Memory

Product evolution

Appendices

Specification

  • The global project's page can be found here.

Licensing Requirements

Project under GPLv3 licence : https://www.gnu.org/licenses/gpl-3.0.fr.html