Home - 1272371/Atom GitHub Wiki
Welcome to the Atom wiki!
This is is a web based application allowing lecturers to view students in their classes, view their respective marks and run a prediction algorithm to tell whether the student is at risk of failure so that systems can be put in place to prevent said student from failing.
Architecture
This application will follow a client-server model. The server will hold the actual website and the code that links to the machine learning algorithm, the plotting tools and the database. When the user opens the website they will be greeted by a login screen resembling the Wits Sakai system. We will be using restful API to connect theweb browser to the server. They will need to put in their username and password (should be linked to the Wits system so as to allow lecturers to use their Sakai login details). Once successfully logged in, they will be redirected to the dashboard.
There is a feature which allows the user to upload a CSV file to the website and have that data be added to our database. This section of the website will follow a layered system as there will be the outer layer which is the User Interface itself, then a layer lower which will be the User being able to see what the data looks like on our system and then a lower layer which verifies that all the necessary data has been inputted (our system and database verification for the business rules and following proper table structure) and only once all these checks return positive, will the data actually be uploaded to the database. We use this system because it is:
- Testable (We can test each layer of the verification process)
- Easy to assign roles to components such as the data verification, file format verification etc.
- Maintainable
- Easy to update layers separately
Architecture
Process View
Activity Diagrams
Whole System
Upload
Statistics
Grade Book
Report
Development View
Package Diagram
Component Diagram
Physical View
Deployment Diagram
Logical View
Communication Diagram
Database Schema (For Classes)
State Diagrams
Login
Machine Diagram for Student Status (Prediction)
User System Requirements
- Working device which has an active internet connection and a working browser (Google Chrome)
- Sufficient RAM to be able to process the data (Minimum of 1GB)
Use Cases
Login Page
Description
This is a page that the user will use to log into the system. Once the user enters the correct cre
Trigger
The user enters a username and password in the relevant boxes on top of the screen.
Primary Actor
The lecturer that is using the system.
Stakeholders
The developers who will monitor and update the system and who will maintain the database.
Preconditions
The user must have an account on the system and must have internet access and a functioning browser (Mozilla Firefox or Google Chrome).
Main Success Scenario
The user enters the correct login username and password and will then be redirected to the dashboard page.
Exceptions
The user will not be able to log in.
Dashboard Page
Description
This is the page where the user will be able to view the summary and details of a selected student. They will be able to see the student's name, their faculty and latest marks. There will also be a class list which can be viewed. At the bottom of the page we will have our predictor graph which will predict the students future marks.
Trigger
Once the correct details have been entered in the login page they will be redirected here where they can view all the necessary details.
Primary Actor
The lecturer that is using the system.
Stakeholders
The developers who will monitor and update the system and who will maintain the database.
Preconditions
The user must have an account on the system and correctly enter these details in the login page. They must have internet access and a functioning browser (Mozilla Firefox or Google Chrome).
Main Success Scenario
The user will successfully be able to view the desired details.
Exceptions
If the required details to view are not in the database then the user will not be able to view anything.
Grade Book Page
Description
This is a page where the user will be able to view the class list and view other classes. They will also be bale to select students from here to load into the dashboard and view the predictor for that student.
Trigger
They come here by pressing the button on the sidebar on the Dashboard page or the Statistics page.
Primary Actor
The lecturer that is using the system.
Stakeholders
The developers who will monitor and update the system and who will maintain the database.
Preconditions
The user needs to be logged in.
Main Success Scenario
They should see students from the relevant classes and be able to select the students.
Exceptions
If the required details to view are not in the database then the user will not be able to view anything.
Statistics Page
Description
This is a page where the user will be able to view a visual representation of class data.
Trigger
They come here by pressing the button on the sidebar on the Dashboard page or the Grade Book page.
Primary Actor
The lecturer that is using the system.
Stakeholders
The developers who will monitor and update the system and who will maintain the database.
Preconditions
The user needs to be logged in.
Main Success Scenario
The user should be able to see pie charts and possibly other graphs describing the statistics of the relevant class.
Exceptions
If the required details to view are not in the database then the user will not be able to view anything.
Upload Page
Description
This is a page where the user will be able to upload marks to the system.
Trigger
They come here by pressing the button on the sidebar on the Dashboard, Statistics on Grade Book page.
Primary Actor
The lecturer that is using the system.
Stakeholders
The developers who will monitor and update the system and who will maintain the database.
Preconditions
The user needs to be logged in.
Main Success Scenario
They should see students from the relevant classes and be able to select the students.
Exceptions
If the CSV file is in the wrong format then the user will not be able to upload the file.
Design Pages
- There is only one type of user that will be using this application and thus there will be only one view
Login
An attempt to mimic the look of the Sakai login
Homepage
Dashboard
This page is designed in a block view format
- A block with basic information of the student
- A block with a student's latest marks
- A block with a class list
- A block with the predictor graph
Grade book
Marks of students displayed in a spread sheet format
Statistics
Visual representation of the class data(ie Pie charts, etc.)
Upload
Allows lecturer to upload marks to the database