The Student Data and Grade Management System is a Java-based application designed to process and manage student records. It reads input files containing student data, calculates final grades using weighted averages, and outputs the results in a sorted format. This project adheres to Object-Oriented Programming principles and integrates robust error-handling mechanisms to ensure reliability.
- Processes and aggregates student records from input files.
- Calculates final grades using customizable weighted averages.
- Outputs results sorted by specified criteria (e.g., alphabetical order, grade).
- Modular and extensible architecture, leveraging:
- Encapsulation
- Inheritance
- Polymorphism
- Supports flexibility with a
GradedEntity
interface for handling diverse graded entities. - Robust error handling for input validation, file operations, and program reliability.
- Comprehensive documentation with UML diagrams and adherence to SOLID principles.
- Programming Language: Java
- Concepts:
- Object-Oriented Programming (OOP)
- File Handling
- Error Handling
- Design Principles:
- SOLID Principles
- Modular Design
-
Clone the Repository:
git clone https://github.com/your-username/student-grade-management-system.git cd student-grade-management-system
-
Compile the Java Files: Ensure you have Java installed on your system.
javac -d bin src/*.java
-
Run the Application:
java -cp bin Main
- Place the student data input files in the specified directory (
data/
by default). - Run the application as described above.
- Follow the prompts to specify the input file, grading criteria, and output preferences.
- Review the output file containing sorted results in the
output/
directory.