Java Desktop App - Zoo Management System

From Sinfronteras
Revision as of 11:14, 2 July 2019 by Adelo Vieira (talk | contribs)
Jump to: navigation, search

Project description

In this project, we have created a GUI Java Application for a Zoo management system.


You can donwnloade the Java Jar file from this link: You just have to doble clikc in on the .R download on a com


Our Management System allow users to manage Animals and Zoo Keepers. Some of the functionalities that have been added to the system are:

  • Search for Animals.
  • Search for Keepers.
  • Add new animals.
  • Add new keepers.
  • Update animals.
  • Update keepers.


The Zoo has a number of Animals. These Animals are broken down into types:

  • Mammal
  • Reptile
  • Avian
  • Aquatic
  • Insect


  • Example Animals:
  • Mammal:
  • Tiger:
  • date of birth, date of arrival, gender, ofspring, medicaton, vaccine, exhibit number
  • Mammal:
  • Avian
  • Bat
  • date of birth, date of arrival, fight, gender, ofspring, medication, vaccine, exhibit number


  • Each Animal has a Zoo keeper that looks afer it:
    • Zoo keepers are only allowed to care for animals if they are qualified to do so.
    • A zoo keeper can look afer a max of 3 Animal types for a max of 10 animals.


  • The system must allow a user to:
    • Search for Animals.
    • Search for Keepers.
    • Add new animals.
    • Add new keepers.
    • Update animals.
    • Update keepers.


  • Your system must be run on test data before the Zoo will accept it:


You are required to have a data set of at least 100 animals and 40 zoo keepers.


Requirements gathering and analysis

Classes diagram

Class diagram1


An example of one of the classes

public class Test {
    
    public static void main(String[] args) {
        Cat c = new Cat();
        System.out.println(c.health);
        
        Dog d = new Dog();
        System.out.println(d.health);
        
        
        // // Upcasting
        Mammal m = c;           // Although there's no need to for programmer to upcast manually, it's legal to do so:
                                // Mammal m = (Mammal) new cat();
                                
        System.out.println(c);  // This print:               upcastingdowncasting.Cat@15db9742                               
        System.out.println(m);  // This will print the same: upcastingdowncasting.Cat@15db9742
                                // As you can see, Casting does not change the actual object type
                                // Cat is still exactly the same Cat after upcasting.
                                // It didn't change to a Mammal, it's just being labelled Mammal right now.
                                // This is allowed, because Cat is a Mammal.
        
                                        
        // // Downcasting
        if(m instanceof Cat){   // testing if the Animal is a Cat
            System.out.println("It's a Cat! Now I can downcast it to a Cat, without a fear of failure.");
            Cat c1 = (Cat)m;    // Manual downcasting back to a Cat
        }
        
        // The following code will compile, but throws "java.lang.ClassCastException: Mammal cannot be cast to Cat" exception during runTime,
        // because I’m trying to cast a Mammal, which is not a Cat, to a Cat.
        Mammal m1 = new Mammal();
        Cat    c2 = (Cat)m1;                        
                                
    }
    
}


Description of the GUI


ZooManagementSystem GUI 1.png


ZooManagementSystem GUI 2.png


ZooManagementSystem GUI 3.png


ZooManagementSystem GUI 4.png


ZooManagementSystem GUI 5.png


ZooManagementSystem GUI 6.png