Contact MeGitHub logoLinkedin Logo

Tools Used:

  • Windows OS
  • Java
  • Java Swing Library (for GUI)
  • MySQL Server
  • NetBeans IDE
  • UMLet (for modeling)

Project Overview:
As part of my Software Engineering course at Regis University, I designed and developed a database management system for an animal rescue organization. The system tracks animals residing at the rescue and stores details such as their arrival date, breed, sterilization status, age, and name. Users can easily add, remove, edit, and sort records to manage the animal information.

Development Process:
I began by modeling use cases and defining functional requirements. The system was built using a MySQL server, integrated with the NetBeans IDE as per course requirements. A client-side application was created using the Java Swing Library to provide a graphical user interface (GUI) for end users to interact with the server-side database.

By implementing this client-server architecture, I adopted a layered approach consisting of the following:


Persistence Layer: Responsible for managing data access between the application and the MySQL server. I implemented the Data Access Object (DAO) design pattern to achieve this.


Application Layer: Acts as a mediator between the persistence and presentation layers, enforcing business logic and ensuring secure and efficient data flow.


Presentation Layer: Provides the user interface where end users can interact with the system. It enables users to perform CRUD (Create, Read, Update, Delete) operations on the database.

This layered architecture enhances security, modularity, and scalability by separating concerns across different layers. Additionally, the design promoted loose coupling and high cohesion, ensuring that components remained flexible and easy to maintain.