$24
SCENARIO:
Design and implement course automation system. The system has users like administrators, teachers, tutors and students. Administrators manage the system by adding, removing users and courses. Teachers who manage courses can add and remove users, tutors and documents to a course. The document can be in different formats like books, files, slides, urls and whiteboard descriptions. Teachers can give assignments. Assignments can be in different formats like quiz, homework or group project. An important part of the assignment is that every assignment has a deadline and a late deadline. A teacher can manage multiple course in a course term. Teachers and tutors can view older courses but cannot make any changes. Tutors only can view their course materials and assignments. A tutor can be a student in a different course. Students can register into system and can upload assignments. She/he can view grades and lecture notes.
OBJECTIVES:
Preparing object oriented design for the problem
Creating interfaces
Applying polymorphism
Applying method overriding
Applying error handling
Applying inheritance
Applying code documentation
Applying clean code standards
Creating javadoc documentation
RESTRICTIONS:
Use maven standard Project template
Use only ArrayList data structure
Can be only one main class in project
Don’t use any other third part library
GENERAL RULES:
For any question firstly use course news forum in moodle, and then the contact TA.
Use maven project management tool. And upload maven project into moodle.
Code the Project in Java programming language. Java must be 1.8.* or bigger version.
Any java IDE can be used in coding process.
Implement all interfaces class
Add all javadoc documentations for classes, methods, variables …etc. All explanation must be meaningful and understandable.
Implement clean code standarts in your code;
Classes, methods and variables names must be meaningful and related with the
functionality.
Your functions and classes must be simple, general, reusable and focus on one topic.
Use standart java code name conventions.
Register github student pack and create private project and upload your projects into github.
Your appeals are considered over your github project process.
You can submitting assignment one day late and will be evaluated over forty percent (%40).
Create report which include;
Your name, surname, studentid
Detailed system requirements
The Project usecase diagrams (extra points) o Class diagrams
o Problem solutions approach o Test cases
o Running command and results
GRADING :
-
No OOP design
: -100
-
No maven Project
: -100
-
No interface
: -95
-
No method overriding
: -95
-
No error handling
: -95
-
No inheritance
: -95
-
No polymorphism
: -95
-
No javadoc documentation
: -95
- No clean code standard
: -95
-
No report
: -95
-
Disobey restrictions
: -99
Your solution is evaluated over 100 as your performance. Don’t forget this is performance project.
CONTACT :
Teacher Assistant : Necmeddin Çarkacı
Information and Security Lab – 122 – ncarkaci@bilmuh.gyt.edu.tr