RICM4 2017 2018 - Dashboard/SRS
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