Animal Shelter Java Project




1 / 3
UML Design
UML Design

This project was completed in a group of four software engineering students at the University of Calgary. Together, we created a fully functional schedule creation software for an imaginary animal shelter client. The software reads data from a database and seamlessly creates the most optimized daily schedule possible, alerting the user if a schedule is unable to be made. Also allows for the download of the created schedules.

Specs


  • Software: Java, SQL
  • Dependencies: mysql-connector-java, java.sql
  • Code Repository:  

Project Details


This project was completed in 2023, as the final project for ENSF 380 at the University of Calgary.

To begin the design of the software, a UML diagram was created to model all required relationships for the intended functionality. The different relationships and inheritances' can be viewed in the UML diagram above.

The program was split into nine different classes, each performing a specific task. This was done to promote a more modular design as well as correctly follow the oop principles of encapsulation and inheritance. Each of these classes were accompanied with a corresponding test class which tests a wide range of test boundaries to ensure the proper functionality of the software.

The software begins with reading all of the data from an SQL database. This data is then parsed and populated into the schedule based on priority and time requirements. Tasks that are medical related are scheduled with high priority, followed by those tasks that need to be performed within a certain time period in the day. Other tasks with low priority are filled in within hours that have open time available. If the length of tasks that must be performed within an hour is greater than 60 minutes, a backup volunteer is added to the schedule. However, if the length of tasks is so long that it exceeds 120 minutes, the schedule cannot be created and throws an exception. Here, the user can take manual control on which tasks get priority and which need to be moved. These alterations are reflected into the database. Once the user is happy with the created schedule they must confirm any and all required volunteers are confirmed and may download the schedule onto their local computer.


Demonstration










Contact Me



Reach Out



Feel free to contact me at any time. I welcome all feedback and suggestions for this site or any of the projects here.



  Calgary, Alberta, Canada


  (403)-472-9927