RICM4 2017 2018 - Dashboard/SRS: Difference between revisions
(2 intermediate revisions by the same user not shown) | |||
Line 56: | Line 56: | ||
=II. General description= |
=II. General description= |
||
==1. Product perspective== |
==1. Product perspective== |
||
This dashboard will be based on the template SB-Admin Angular5 provided. And it will allow the user to use OAR though different buttons and forms. |
|||
A dashboard web application single page for the task manager and resource OAR. |
|||
The product is supposed to be an open source. |
|||
It is a web based system implementing client-server model. The UltraTeamMV System provides simple mechanism for outdoor geolocation in white & gray network areas. |
|||
==2. Product functions== |
==2. Product functions== |
||
Line 76: | Line 73: | ||
* Anonymous Users : will use the dashboard to see the resources |
* Anonymous Users : will use the dashboard to see the resources |
||
==4. General constraints== |
|||
Make the interface as simple as possible for the user. |
|||
==5. Assumptions and dependencies== |
|||
Having an Internet connection. |
|||
=III. Specific requirements= |
|||
==Requirement 1 : Log in== |
|||
'''Function''': |
|||
Authentication of the User. |
|||
'''Description''': |
|||
Authenticate the user by matching the name and password to the database. And get all the information related to the account. |
|||
'''Inputs''': |
|||
Name and Password |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
An error pops up, if there is a mistake, or else allows more action to the Logged user. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Enter Name and Password -> Analyze to the database -> Connect to user/ Notify him of his mistake |
|||
'''Non functional requirements''': |
|||
Connection should be secured and protected. |
|||
'''Pre-condition''': |
|||
* User must be on the login page |
|||
* User must not be already connected |
|||
'''Post-condition''': |
|||
* User is connected or notified of the error |
|||
'''Side-effects''': |
|||
NONE |
|||
==Requirement 2 : See a listing of the resources== |
|||
'''Function''': |
|||
Display resources. |
|||
'''Description''': |
|||
Display the resources available and their details. |
|||
'''Inputs''': |
|||
Pressed '''Resources''' button |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
A page with a listing of all the resources and an 'Add Resource' button. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Press "Resources" |
|||
'''Non functional requirements''': |
|||
NONE |
|||
'''Pre-condition''': |
|||
NONE |
|||
'''Post-condition''': |
|||
* User is now on the '''Resources' list''' page. |
|||
'''Side-effects''': |
|||
A sub-menu appear with 2 choices: Resources' list and Add Resources. It will allow the user to jump from page to the other more easily. |
|||
A button 'Add Resources' will also appear on the right-hand corner. |
|||
==Requirement 3 : See a listing of the jobs== |
|||
'''Function''': |
|||
Display user's submitted jobs. |
|||
'''Description''': |
|||
Display the jobs of the current user and their details. |
|||
'''Inputs''': |
|||
Pressed '''Jobs''' button |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
=II. General description= |
|||
A page with a listing of all the jobs and an 'Add Job' button. |
|||
==1. Product perspective== |
|||
This dashboard will be based on the template SB-Admin Angular5 provided. And it will allow the user to use OAR though different buttons and forms. |
|||
'''Destination''': |
|||
==2. Product functions== |
|||
NONE |
|||
This project will allow users to : |
|||
* Add/Remove resources (Administrators only) |
|||
* Submit/Delete/Configure jobs (Logged Users only) |
|||
* See information about resources and jobs |
|||
* Have Restricted access : login/Logout |
|||
* Evaluate the time management of the cluster |
|||
* See the usage of resource and jobs in different graphic ways |
|||
'''Action''': |
|||
==3. User characteristics== |
|||
Press "Jobs" |
|||
The users of this application are people that are already using OAR technologies, or the ones interested in it. |
|||
'''Non functional requirements''': |
|||
There is different types of users: |
|||
NONE |
|||
* Administrators : |
|||
* Logged Users : |
|||
* Anonymous Users : |
|||
A user who will use the dashboard to manage resources and tasks |
|||
'''Pre-condition''': |
|||
==4. General constraints== |
|||
* User must be logged in |
|||
'''Post-condition''': |
|||
Make the interface as simple as possible for the user. |
|||
* User is now on the '''Jobs' list''' page. |
|||
'''Side-effects''': |
|||
==5. Assumptions and dependencies== |
|||
A sub-menu appear with 2 choices: Jobs' list and Add Jobs. It will allow the user to jump from page to the other more easily. |
|||
Having an Internet connection. |
|||
A button 'Add Jobs' will also appear on the right-hand corner. |
|||
==Requirement 4 : Add a resource== |
|||
'''Function''': |
|||
Add a resource. |
|||
'''Description''': |
|||
Add a resource to the cluster. |
|||
'''Inputs''': |
|||
Pressed '''Add Resource''' button and filled out form with the required information. |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
Addition of a resource corresponding to the data to the cluster. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Press "Add Resources" -> Fill the form with a hostname or IP address, an ID, ... -> Click on Submit |
|||
'''Non functional requirements''': |
|||
* The IP address or the hostname must be correct |
|||
'''Pre-condition''': |
|||
* User must be an Administrator. |
|||
'''Post-condition''': |
|||
* The resource is now added to the database. |
|||
'''Side-effects''': |
|||
NONE |
|||
==Requirement 5 : Add a job== |
|||
'''Function''': |
|||
Add a job. |
|||
'''Description''': |
|||
Submit a job to the cluster. |
|||
'''Inputs''': |
|||
Pressed '''Add Job''' button and filled out form with the required data. |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
Submission of a job corresponding to the data entered to the cluster. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Press "Add Job" -> Fill the form with the number of nodes, CPUs or/and cores needed, a max duration -> Add the file -> Click on Submit |
|||
'''Non functional requirements''': |
|||
* The file must be executable |
|||
* The nodes' number must not exceed the resources available |
|||
* The CPUs' number must not exceed the resources available |
|||
* The cores' number must not exceed the resources available |
|||
'''Pre-condition''': |
|||
* User must be identified. |
|||
'''Post-condition''': |
|||
* The job is now submitted and added to the jobs' list of the user. It will be executed according to the schedule. |
|||
'''Side-effects''': |
|||
NONE |
|||
==Requirement 6 : Modify a resource== |
|||
'''Function''': |
|||
Modify a resource. |
|||
'''Description''': |
|||
Modify a resource already part of the cluster. |
|||
'''Inputs''': |
|||
Pressed '''Modify''' button and filled out form with the required data. |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
Modification of the resource according to the data entered. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Press "Modify" next to the resource to modify -> Modify the form with a hostname or IP address, an ID, ... -> Click on Submit |
|||
'''Non functional requirements''': |
|||
* The resource must exist |
|||
* The form must by correctly filled |
|||
'''Pre-condition''': |
|||
* User must be an Administrator. |
|||
'''Post-condition''': |
|||
* The resource is now modified in the database. |
|||
'''Side-effects''': |
|||
NONE |
|||
==Requirement 7 : Modify a job== |
|||
'''Function''': |
|||
Modify a job. |
|||
'''Description''': |
|||
Modify a job already submitted to the cluster. |
|||
'''Inputs''': |
|||
Pressed '''Modify''' button and filled out form with the required data. |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
Modification of the job according to the data entered. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Press "Modify" next to the job to modify -> Modify the form with the number of nodes, CPUs or/and cores needed, a max duration or Modify the file -> Click on Submit |
|||
'''Non functional requirements''': |
|||
* The job must exist |
|||
* The form must by correctly filled |
|||
'''Pre-condition''': |
|||
* User must be identified. |
|||
'''Post-condition''': |
|||
* The job is now modified in the database. It will be executed according to the schedule. |
|||
'''Side-effects''': |
|||
NONE |
|||
==Requirement 8 : Delete a resource== |
|||
'''Function''': |
|||
Delete a resource. |
|||
'''Description''': |
|||
Delete a resource already part of the cluster. |
|||
'''Inputs''': |
|||
Pressed '''Delete''' button. |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
Suppression of the resource in the cluster. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Press "Delete" next to the resource to delete -> Click on Confirm |
|||
'''Non functional requirements''': |
|||
* The resource must exist |
|||
* The resource must be in a "Dead" state |
|||
'''Pre-condition''': |
|||
* User must be an Administrator. |
|||
'''Post-condition''': |
|||
* The resource is now removed from the database. |
|||
'''Side-effects''': |
|||
NONE |
|||
==Requirement 9 : Delete a job== |
|||
'''Function''': |
|||
Delete a job. |
|||
'''Description''': |
|||
Delete a job already submitted to the cluster. |
|||
'''Inputs''': |
|||
Pressed '''Delete''' button. |
|||
'''Source''': |
|||
NONE |
|||
'''Outputs''': |
|||
Suppression of the job in the database. |
|||
'''Destination''': |
|||
NONE |
|||
'''Action''': |
|||
Press "Delete" next to the job to delete -> Click on Confirm |
|||
'''Non functional requirements''': |
|||
* The job must exist |
|||
'''Pre-condition''': |
|||
* User must be identified. |
|||
'''Post-condition''': |
|||
* The job is now removed from the database. |
|||
'''Side-effects''': |
|||
=III. Specific requirements, covering functional, non-functional and interface requirements= |
|||
NONE |
|||
== |
==Requirement 10 : Log out== |
||
'''Function''': |
'''Function''': |
||
Dis-authentication of the User. |
|||
'''Description''': |
'''Description''': |
||
Remove all the information related to the user. |
|||
'''Inputs''': |
'''Inputs''': |
||
Pressed '''Log out''' button. |
|||
'''Source''': |
'''Source''': |
||
NONE |
|||
'''Outputs''': |
|||
'''Outputs''': A boolean to indicate that the resource is allocated or not |
|||
Log out user. |
|||
'''Destination''': |
'''Destination''': |
||
NONE |
|||
'''Action''': |
'''Action''': |
||
Pressed '''Log out''' button. |
|||
Select a user -> select resources and dedicated values (<= available) -> validate -> notify user |
|||
'''Non functional requirements''': |
'''Non functional requirements''': |
||
'''Pre-condition''': |
'''Pre-condition''': |
||
* User must be logged in |
|||
'''Post-condition''': |
|||
'''Post-condition''': The allocated resources must be locked to the user (should not appear as available for the next allocations) |
|||
* User is disconnected. And the data are update. |
|||
'''Side-effects''': |
'''Side-effects''': |
||
NONE |
|||
= |
=IV. Product evolution= |
||
= |
=V. Appendices= |
||
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx |
|||
=6. Index= |
|||
* http://en.wikipedia.org/wiki/Software_requirements_specification |
|||
* http://oar.imag.fr/ |
Latest revision as of 11:45, 7 April 2018
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
Version | Date | Authors | |
---|---|---|---|
1 | 0.1.0 | February 5, 2018 | LARNICOL Titouan |
2 | 0.2.0 | April 7, 2018 | BELGUENDOUZ Sekina |
3 | 0.2.1 | April 7, 2018 | BELGUENDOUZ Sekina |
I. Introduction
1. Purpose of the requirements document
This Software Requirements Specification (SRS) identifies the requirements for Dashboard. It will specify our Single Page Application's (SPA) functionalities and the problems solved. This document will also detail our project's requirements.
2. Scope of the product
This project consists in updating a SPA. With Angular5 OAR-skylight, the precedent SPA, is not working anymore. Therefore to ease OAR's users and managers who have to use command line, the SPA has to be updated in Angular5.
This SPA will allow users to:
- Add jobs, resources (if administrator)
- See a listing of jobs, resources
- Log in/Log out
3. Definitions, acronyms and abbreviations
- SPA : Single Page Application is a web application accessed by a single web page. Its aim is to avoid loading the page at every user's actions. It interacts with the user dynamically rather than loading entire new pages from a server.
- RESTful API : An Application Programming Interface is the defined interface through which interactions happen between applications that use its assets. REpresentational State Transfer API is a type of API that has several requirements :
- Stateless
- Client-Server oriented
- Layered system
- ...
- OAR : OAR is a versatile resource and task manager for HPC clusters, and other computing infrastructures.
- Angular5 : Angular5 is a TypeScript-based open-source front-end web application platform. This framework allow the user to develop one SPA for multiple desktop and mobile browsers.
4. References
5. Overview of the remainder of the document
II. General description
1. Product perspective
This dashboard will be based on the template SB-Admin Angular5 provided. And it will allow the user to use OAR though different buttons and forms.
2. Product functions
This project will allow users to :
- Add/Remove resources (Administrators only)
- Submit/Delete/Configure jobs (Logged Users only)
- See information about resources and jobs
- Have restricted access : login/Logout
3. User characteristics
The users of this application are people that are already using OAR technologies, or the ones interested in it.
There is different types of users:
- Administrators : will use the dashboard to manage resources and jobs
- Logged Users : will use the dashboard to see the resources and submit, modify their jobs
- Anonymous Users : will use the dashboard to see the resources
4. General constraints
Make the interface as simple as possible for the user.
5. Assumptions and dependencies
Having an Internet connection.
III. Specific requirements
Requirement 1 : Log in
Function: Authentication of the User.
Description: Authenticate the user by matching the name and password to the database. And get all the information related to the account.
Inputs: Name and Password
Source: NONE
Outputs: An error pops up, if there is a mistake, or else allows more action to the Logged user.
Destination: NONE
Action: Enter Name and Password -> Analyze to the database -> Connect to user/ Notify him of his mistake
Non functional requirements: Connection should be secured and protected.
Pre-condition:
- User must be on the login page
- User must not be already connected
Post-condition:
- User is connected or notified of the error
Side-effects: NONE
Requirement 2 : See a listing of the resources
Function: Display resources.
Description: Display the resources available and their details.
Inputs: Pressed Resources button
Source: NONE
Outputs: A page with a listing of all the resources and an 'Add Resource' button.
Destination: NONE
Action: Press "Resources"
Non functional requirements: NONE
Pre-condition: NONE
Post-condition:
- User is now on the Resources' list page.
Side-effects: A sub-menu appear with 2 choices: Resources' list and Add Resources. It will allow the user to jump from page to the other more easily. A button 'Add Resources' will also appear on the right-hand corner.
Requirement 3 : See a listing of the jobs
Function: Display user's submitted jobs.
Description: Display the jobs of the current user and their details.
Inputs: Pressed Jobs button
Source: NONE
Outputs: A page with a listing of all the jobs and an 'Add Job' button.
Destination: NONE
Action: Press "Jobs"
Non functional requirements: NONE
Pre-condition:
- User must be logged in
Post-condition:
- User is now on the Jobs' list page.
Side-effects: A sub-menu appear with 2 choices: Jobs' list and Add Jobs. It will allow the user to jump from page to the other more easily. A button 'Add Jobs' will also appear on the right-hand corner.
Requirement 4 : Add a resource
Function: Add a resource.
Description: Add a resource to the cluster.
Inputs: Pressed Add Resource button and filled out form with the required information.
Source: NONE
Outputs: Addition of a resource corresponding to the data to the cluster.
Destination: NONE
Action: Press "Add Resources" -> Fill the form with a hostname or IP address, an ID, ... -> Click on Submit
Non functional requirements:
- The IP address or the hostname must be correct
Pre-condition:
- User must be an Administrator.
Post-condition:
- The resource is now added to the database.
Side-effects: NONE
Requirement 5 : Add a job
Function: Add a job.
Description: Submit a job to the cluster.
Inputs: Pressed Add Job button and filled out form with the required data.
Source: NONE
Outputs: Submission of a job corresponding to the data entered to the cluster.
Destination: NONE
Action: Press "Add Job" -> Fill the form with the number of nodes, CPUs or/and cores needed, a max duration -> Add the file -> Click on Submit
Non functional requirements:
- The file must be executable
- The nodes' number must not exceed the resources available
- The CPUs' number must not exceed the resources available
- The cores' number must not exceed the resources available
Pre-condition:
- User must be identified.
Post-condition:
- The job is now submitted and added to the jobs' list of the user. It will be executed according to the schedule.
Side-effects: NONE
Requirement 6 : Modify a resource
Function: Modify a resource.
Description: Modify a resource already part of the cluster.
Inputs: Pressed Modify button and filled out form with the required data.
Source: NONE
Outputs: Modification of the resource according to the data entered.
Destination: NONE
Action: Press "Modify" next to the resource to modify -> Modify the form with a hostname or IP address, an ID, ... -> Click on Submit
Non functional requirements:
- The resource must exist
- The form must by correctly filled
Pre-condition:
- User must be an Administrator.
Post-condition:
- The resource is now modified in the database.
Side-effects: NONE
Requirement 7 : Modify a job
Function: Modify a job.
Description: Modify a job already submitted to the cluster.
Inputs: Pressed Modify button and filled out form with the required data.
Source: NONE
Outputs: Modification of the job according to the data entered.
Destination: NONE
Action: Press "Modify" next to the job to modify -> Modify the form with the number of nodes, CPUs or/and cores needed, a max duration or Modify the file -> Click on Submit
Non functional requirements:
- The job must exist
- The form must by correctly filled
Pre-condition:
- User must be identified.
Post-condition:
- The job is now modified in the database. It will be executed according to the schedule.
Side-effects: NONE
Requirement 8 : Delete a resource
Function: Delete a resource.
Description: Delete a resource already part of the cluster.
Inputs: Pressed Delete button.
Source: NONE
Outputs: Suppression of the resource in the cluster.
Destination: NONE
Action: Press "Delete" next to the resource to delete -> Click on Confirm
Non functional requirements:
- The resource must exist
- The resource must be in a "Dead" state
Pre-condition:
- User must be an Administrator.
Post-condition:
- The resource is now removed from the database.
Side-effects: NONE
Requirement 9 : Delete a job
Function: Delete a job.
Description: Delete a job already submitted to the cluster.
Inputs: Pressed Delete button.
Source: NONE
Outputs: Suppression of the job in the database.
Destination: NONE
Action: Press "Delete" next to the job to delete -> Click on Confirm
Non functional requirements:
- The job must exist
Pre-condition:
- User must be identified.
Post-condition:
- The job is now removed from the database.
Side-effects: NONE
Requirement 10 : Log out
Function: Dis-authentication of the User.
Description: Remove all the information related to the user.
Inputs: Pressed Log out button.
Source: NONE
Outputs: Log out user.
Destination: NONE
Action: Pressed Log out button.
Non functional requirements:
Pre-condition:
- User must be logged in
Post-condition:
- User is disconnected. And the data are update.
Side-effects: NONE