Feasibility Study
Feasibility Study
Feasibility Study
Problem Definition
This program will help both students and coordinators by creating a streamline
academic management program which would simplify the process of tracking academic
progress. By including features such as managing courses, grades, and checking
university requirements for coordinators. For students, we’ve included the possibility to
view personal info, change and view contact info, view their top 6 as well as checking if
they meet the requirements for a certain university.
Problem Analysis
1. Adding a Large set of Courses
It may not be possible to include every possible course due to time constraints.
Instead, we should focus on implementing a subset of more essential or popular
courses into the program in order to represent a functioning prototype of the
concept. Furthermore, the application architecture should be easily expandable
so that more courses can be added in the future. It could be good to base our
data on official data sets such as: The Ontario Curriculum, and myBlueprint.
Similarly, if we want to make sure that all prerequisites are met when adding
courses, it’s better to start with a smaller and more dependable set of courses.
This way, the software doesn’t miss out on useful features such as checking if a
course is eligible for a student.
Furthermore, we were told that it would be imperative to make it so that our text files are
editable directly, to facilitate adding data. For this the text file would need to be more
user friendly and less sensitive which this project team will strive for.
Attributes: username, password, student ID, name, year, courses, grades, uni
goal, contact information, bio.
Methods:
- toString();
- Return(print out) student ID, name, year, contact information and bio
- update contact info (email, phone number) (Elnathan)
- updates the email and phone number
- this.contactInfo[] = newContact[];
- getTopSix(grades[]) (Stephen)
- print out the average of their top 6 marks (Stephen)
- sort from decreasing and take the top 6 marks
- For (int i = 1; i<=6; i++) {
Sum = Add the marks; }
Sum = Divide sum by 6;
Return Sum;
- displayCourses(): (Stephen)
- print out their course (probably their grades as well)
- For (int i = 0; i<=courses.length; i++) {
Print out (courses[i]); }
- check university requirements (Elnathan)
- check the university requirements with the top 6 average and the required
courses
while (low<=high) {
if (usersInput == midNumber) {
return midPosition; }
if (usersInput < midNumber) {
high = midPosition-1;
} else {
low = midPosition+ 1; }
}
return -1;
}
4. Finally connect main menu UI to different methods from our students and
coordinator class (Gaddiel)
Gantt Chart
Resource List:
- Computers
- Allocated time to the project from group members to complete the code
- Groupmembers’ full effort, attention and collaboration.
- Online course names and university requirements (ex:
https://uwaterloo.ca/future-students/admissions/admission-requirements/biomedi
cal-eng/canada/ontario)
UI Storyboard (Rough draft) - Students
UI Storyboard (Rough draft) - Coordinator
Rest of functions are pretty self explanatory and aren’t included in the storyboard