System provides question pool, so instructor can pick an exam from it.
Questions type may be Multiple choice, True & false or text questions. For multiple choice and true & false questions system stores correct answer and check student answer and stores his result. As for text question system stores best accepted answer and use text functions to check student answer and display result to the instructor show him valid answers System stores courses information (Course name, description, Max degree, Min Degree,...) , instructors information, and students information, each instructor can teach one or more course, and each course may be teacher by one instructor in each class (Instructor may be changed for other class in other year). Instructor can edit (add, Update and delete) question pool in his course only. Training Manager (One of the instructors) can edit (add, Update and delete) instructors and courses and instructors for each course. Training manager can add and edit: Branches, tracks in each department, and add new intake. Training manager can add students, and define their personal data, intake, branch, and track. Instructor can make Exam (For his course only) by selecting number of questions of each type, And he puts a degree for each question on the exam, so total degrees dose not exceed the course Max Degree (One course may has more than one exam). Each exam has its type (exam or corrective), intake, branch, track, course, start time, End time, total time and allowance options. System stores each exam which defined by year, Course, instructor. Instructor can select students that can do specific exam, and define Exam date, start time and end time. Students can see the exam and do it only on the specified time. System stores students answer for the exam and calculate the correct answers, and calculate final result for the student in this course.