Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ADP372S Mini Assignment 1

Student Name: Tebogo Pii Student Number: 230226442

Project Overview This is my submission for the mini assignment. I built a Student Management System in Java that handles different student types marked Undergraduate and Graduate. I used the Builder Pattern to handle the optional fields and Inheritance to share common attributes.

The system calculates tuition differently for each type:

Undergraduate: Pays per credit hour.

Graduate: Pays a base fee minus a stipend.

SOLID Principles Applied

Single Responsibility Principle (SRP) I used this by separating the object creation from the student class. The Student class only holds data and calculates tuition. I moved all the complex creation logic into a static createStudent() inner class. This ensures each class has only one job.

Open/Closed Principle (OCP) I used this so I can add new features without breaking old code. I created an abstract Student class. If we need a Honors Student later perhaps, I can just extend Student in a new file. I don't need to change the existing Student or Undergraduate code to make it work.

GitHub Repository (https://github.com/Tebogo-P/StudentManagementSystem..git)

About

Mini Assignment

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages