/Soft-Engines-Project

This is the group project for CSC3350 Spring 2024. This project aims to develop a minimal working User Experience (UX) for a basic employee management system for company 'Z'.

Primary LanguageJavaMIT LicenseMIT

Employee Management System for Company 'Z'

Project Overview

This project aims to develop a minimal working User Experience (UX) for a basic employee management system for company 'Z'. The system will allow for managing employee data, generating reports, and performing various operations such as updating employee information and calculating salaries. The system will primarily be console-based or implemented using JavaFX.

Details

Features

  1. Employee Data Management:
    • Add, update, and delete employee information.
    • Search for employees by name, Social Security Number (SSN), or employee ID.
    • Update employee data, including salary increases.
  2. Reporting:
    • Generate reports for:
      • Full-time employee information with pay statement history.
      • Total pay for the month by job title.
      • Total pay for the month by division.
  3. Database Schema Enhancements:
    • Addition of tables:
      • Address for employee including demographic items (gender, pronouns, identified race, date of birth, mobile/phone).
    • Establish primary/foreign key connections between tables for normalization.
  4. Java Class Diagram (UML):
    • Implement new Java classes to manage employee information using dynamic data structures.
    • Utilize abstract classes, interfaces, and super classes as needed for abstraction and code organization.
  5. Testing:
    • Develop test cases to ensure the correctness of implemented features/functions.
  6. Sequence Diagrams (UML):
    • Illustrate the flow of operations for key functionalities such as salary increase and adding new employees.

Deliverables

  1. Database Schema Diagram:
    • Provide a visual representation of the database schema, including enhancements.
  2. Minimum Working UX:
    • Implement a console or JavaFX-based UX for interacting with the employee management system.
  3. Java Class Diagram (UML):
    • Illustrate the class hierarchy and relationships for the Java implementation.
  4. Test Cases:
    • Document test cases to validate the functionality of the system.
  5. Sequence Diagrams (UML):
    • Present sequence diagrams for key operations in the system.
  6. Final Report (PDF):
    • Compile all deliverables into a comprehensive report, including sections, sub-sections, and a table of contents.

How to Run

  1. Database Setup:
    • Ensure MySQL database is set up and populated with initial data using dBeaver and provided MySQL scripts.
  2. Compile and Run:
    • Compile Java code and execute the main program EmployeeManager.java to interact with the employee management system.

Contributors

License

This project is licensed under the MIT License.