3.1 Performance
3.1.1 Performance (Time):
Main UI: The main user interface will overall be instantaneous. Tasks such as switching tabs and summoning pop-up windows are not demanding to the computer at all, so will be completed effectively instantaneously to the user.
Log in: The logging in / authentication of the user is really the only task that will not be instantaneous. This is because the client needs to communicate with the server with log in details and wait for a response. That said, the process will take no longer than a few seconds.
Grades: Adding / changing grades in the gradebook, updating totals and averages are all simple mathematical tasks and will be updated immediately.
Visual: The visual section will be more demanding than the others because it deals with graphical elements, but should still not take substantial time to compute. Even editing the curve real-time should be instantaneous.
Prediction: This tool uses a simple mathematical formula to calculate grades, so it will also be instantaneous.
Reports: Reports will be generated instantaneously, but if the instructor decides to email them to the class, the email will take time because it must send data to the server.
Assignments: All processes in the assignments tab (adding, editing, removing assignments) will be completed instantaneously.
3.1.2 Performance (Space):
Overall, space performance will not be an issue. Other than the space it takes to hold the program itself, each individual user will only have one file to maintain. For professors, this file will represent his/her entire gradebook, which will hold his/her list of classes, and so forth. There are two options for where this file is stored: Either locally or online in a database.
There are both positive and negative reasons to use either of the two storage options. If files are stored locally, the file will be portable and the user can use them wherever the program is present. However, the security of the file is at risk if it falls in the wrong hands. Storing it online in a database will solve the security issue as users will have specific usernames and passwords that only they will know and must have in order to access the information. However, in order to access the database one must have an internet connection.
In either situation, the program will have one gradebook file for the user to use, which will be completely generated on construction. The programs purpose is to then fill this given space with appropriate information. It will be expandable in order to fit any information that does not fit in this initial given space.
At the local level, the only file to maintain is the individual user file, containing a whole gradebook. Supporting an online database would be much more costly as databases in general must host more information than a local implementation (username and passwords for example), as well as have more room for expansion.