Proj-2016-2017-ColisMatter/SRS: Difference between revisions
(10 intermediate revisions by the same user not shown) | |||
Line 32: | Line 32: | ||
==1.1 Purpose of the requirements document== |
==1.1 Purpose of the requirements document== |
||
SRS document aims to define the different characteristics and functions of this project. It has to present functional and non-functional requirements. |
SRS document aims to define the different characteristics and functions of this project. It has to present functional and non-functional requirements. |
||
This should eventually describe the full content of the subject : applications allowing users to follow packages using RFID. |
This should eventually describe the full content of the subject : applications allowing users to follow packages using RFID. |
||
==1.2 Scope of the product== |
==1.2 Scope of the product== |
||
By using open sources demo apps, the purpose of the project is to develops android applications to enable professionals to scan their products and follow them during their transit. |
|||
Two applications will be developed : |
|||
* The first one will allow the user to scan his package and register it in the database before its transit. |
|||
* The second one will be used during the transit by an user who will scan the package and make it match or no the database. |
|||
==1.3 Definitions, acronyms and abbreviations== |
==1.3 Definitions, acronyms and abbreviations== |
||
* '''Package''' : In this project, we consider a package as a sum of different RFID tags. The presence of every RFID tag defines the package. In a stable state, the package contains the same tags since its creation. |
|||
* '''Reader''' : RFID Reader, the Nordic ID Stix. |
|||
==1.4 References== |
==1.4 References== |
||
==1.5 Overview of the remainder of the document== |
==1.5 Overview of the remainder of the document== |
||
Line 41: | Line 51: | ||
==2.1 Product perspective== |
==2.1 Product perspective== |
||
==2.2 Product functions== |
==2.2 Product functions== |
||
Our product must allow users to : |
|||
* Create an account |
|||
* Basic account parameters (id, password, delete account) |
|||
* Sign in / Sign out |
|||
* Add a package in the database |
|||
* Follow a package if allowed |
|||
* Scan the package during transit |
|||
* Update database |
|||
* Be aware of potential issues |
|||
* Search for a precise item |
|||
* Change status of packages (preparation, transit, arrived) |
|||
* Block further modifications of a package (when arrived) |
|||
==2.3 User characteristics== |
==2.3 User characteristics== |
||
Our product is designed to be used by companies to localize all their products in transit. Among each companies, different users appears : |
|||
* ''Factory'' user : He creates new packages. Thus, he only uses the first app. |
|||
* ''Transit'' user : He scans packages during the transit |
|||
* ''Arrival'' user : He is the last one to scan the package and can then modify its characteristics in the database after checking the validity of the package. If imperfect, he can manage to search for missing package, or identify where a wrong article should be. |
|||
==2.4 General constraints== |
==2.4 General constraints== |
||
==2.5 Assumptions and dependencies== |
==2.5 Assumptions and dependencies== |
||
Line 51: | Line 79: | ||
* emergent system properties and quality characteristics. |
* emergent system properties and quality characteristics. |
||
==3.1 Requirement |
==3.1 Requirement 1 : Application 1 : RFID Reader== |
||
'''Function''': |
'''Function''': RFID Sensor communication |
||
'''Description''': |
'''Description''': Build a top level layer and application on the NurApi |
||
'''Inputs''': |
'''Inputs''': Communication with a RFID sensor |
||
'''Source''': |
'''Source''': NurApi |
||
'''Outputs''': |
'''Outputs''': RFID Tag |
||
'''Destination''': |
'''Destination''': User or another Application |
||
'''Action''': |
'''Action''': |
||
* ''MUST'' : Communicate with RFid Sensor through the NurApi in order to register the package into the database. |
|||
* Natural language sentences (with MUST, MAY, SHALL) |
|||
* ''MUST'' : Let users sign in to register new packages |
|||
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT) |
|||
* ''SHOULD'' : Allow users to have access to the database |
|||
* Mathematical Notations |
|||
* Tabular notations for several (condition --> action) tuples |
|||
'''Non functional requirements''': |
'''Non functional requirements''': |
||
'''Pre-condition''': |
'''Pre-condition''': Database operational |
||
'''Post-condition''': |
'''Post-condition''': |
||
==3.2 Requirement 2 : Application 2 : Following Packages== |
|||
'''Side-effects''': |
|||
'''Function''': Scanning packages to update their localisation and identify issues (articles missing, wrong articles) |
|||
'''Description''': Build a top level layer and application on the NurApi |
|||
'''Inputs''': Communication with a RFID sensor to scan packages |
|||
'''Source''': NurApi |
|||
'''Outputs''': Database Updated |
|||
'''Destination''': User or another Application |
|||
'''Action''': |
|||
* ''MUST'' : Communicate with RFid Sensor through the NurApi in order to register the package into the database. |
|||
* ''MUST'' : Let users sign in to scan new packages |
|||
* ''MUST'' : Inform the user about his scan |
|||
'''Non functional requirements''': |
|||
'''Pre-condition''': Package already registered in the database |
|||
'''Post-condition''': |
|||
=4. Product evolution= |
=4. Product evolution= |
Latest revision as of 14:51, 6 February 2017
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
- IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998
Version | Date | Authors | Description | Validator | Validation Date | |
---|---|---|---|---|---|---|
0.1.0 | 06/02/2017 | Hugo Amodru-Favin, Antoine Delise | SRS V1 | TBC | TBC |
1. Introduction
1.1 Purpose of the requirements document
SRS document aims to define the different characteristics and functions of this project. It has to present functional and non-functional requirements.
This should eventually describe the full content of the subject : applications allowing users to follow packages using RFID.
1.2 Scope of the product
By using open sources demo apps, the purpose of the project is to develops android applications to enable professionals to scan their products and follow them during their transit.
Two applications will be developed :
- The first one will allow the user to scan his package and register it in the database before its transit.
- The second one will be used during the transit by an user who will scan the package and make it match or no the database.
1.3 Definitions, acronyms and abbreviations
- Package : In this project, we consider a package as a sum of different RFID tags. The presence of every RFID tag defines the package. In a stable state, the package contains the same tags since its creation.
- Reader : RFID Reader, the Nordic ID Stix.
1.4 References
1.5 Overview of the remainder of the document
2. General description
2.1 Product perspective
2.2 Product functions
Our product must allow users to :
- Create an account
- Basic account parameters (id, password, delete account)
- Sign in / Sign out
- Add a package in the database
- Follow a package if allowed
- Scan the package during transit
- Update database
- Be aware of potential issues
- Search for a precise item
- Change status of packages (preparation, transit, arrived)
- Block further modifications of a package (when arrived)
2.3 User characteristics
Our product is designed to be used by companies to localize all their products in transit. Among each companies, different users appears :
- Factory user : He creates new packages. Thus, he only uses the first app.
- Transit user : He scans packages during the transit
- Arrival user : He is the last one to scan the package and can then modify its characteristics in the database after checking the validity of the package. If imperfect, he can manage to search for missing package, or identify where a wrong article should be.
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 1 : Application 1 : RFID Reader
Function: RFID Sensor communication
Description: Build a top level layer and application on the NurApi
Inputs: Communication with a RFID sensor
Source: NurApi
Outputs: RFID Tag
Destination: User or another Application
Action:
- MUST : Communicate with RFid Sensor through the NurApi in order to register the package into the database.
- MUST : Let users sign in to register new packages
- SHOULD : Allow users to have access to the database
Non functional requirements:
Pre-condition: Database operational
Post-condition:
3.2 Requirement 2 : Application 2 : Following Packages
Function: Scanning packages to update their localisation and identify issues (articles missing, wrong articles)
Description: Build a top level layer and application on the NurApi
Inputs: Communication with a RFID sensor to scan packages
Source: NurApi
Outputs: Database Updated
Destination: User or another Application
Action:
- MUST : Communicate with RFid Sensor through the NurApi in order to register the package into the database.
- MUST : Let users sign in to scan new packages
- MUST : Inform the user about his scan
Non functional requirements:
Pre-condition: Package already registered in the database
Post-condition: