Giter VIP home page Giter VIP logo

javafamilytree's Introduction

Inleiding

In de les hebben we het gehad over Maven en unitTesten.

Iedere applicatie die we maken, willen we opleveren inclusief testen. Dit is belangrijk, omdat dit een groot aantal bugs uit de applicatie kan halen, voordat de applicatie in productie gaat.

Opdrachtbeschrijving

We gaan een applicatie maken om een familie stamboom te maken. Iedereen heeft familieleden: van sommige houden we heel veel en van sommige misschien wat minder. Maar hoe dan ook hebben we allemaal familie. Voor deze applicatie hoeven we niet allerlei moeilijke opties toe te voegen. In de applicatie die we gaan maken, is het mogelijk om nieuwe personen en huisdieren toe te voegen aan de familie stamboom. Wanneer we bijvoorbeeld kinderen toevoegen aan een persoon in de stamboom, is het natuurlijk wel zo netjes om deze persoon gelijk neer te zetten als vader of moeder. Naast deze methode gebruiken we nog meer familie gerelateerde methodes binnen deze applicatie.

Family!

Randvoorwaarden

De opdracht moet voldoen aan de volgende voorwaarden:

  • minimaal 1 Person
  • minimaal 1 Pet
  • alle methodes worden getest door een unittest

De Person heeft volgende attributen:

  • name
  • middleName
  • lastName
  • sex
  • age
  • mother
  • father
  • siblings
  • children
  • pets

De Pet heeft minimaal de volgende attributen:

  • name
  • age
  • species
  • owner

De Person bevat naast de attributen het volgende:

  • constructor met name, lastname, age en sex
  • constructor met name, middleName, lastname, age en sex
  • getters & setters
  • addParents methode
  • addChild methode
  • addPet methode
  • addSibling methode
  • getGrandChildren methode

De Pet bevat naast de attributen minimaal:

  • een constructor met alle attributen op 'owner' na
  • getters & setters
  • een methode om de owner toe te voegen

Stappenplan

Let op: het is uitdagender om jouw eigen stappenplan te maken. Als je niet zo goed weet waar je moet beginnen, kun je onderstaand stappenplan gebruiken.

  1. Maak de benodigde klassen aan.

  2. Geef de klassen de juiste attributen.

  3. Maak de constructors aan binnen de klassen.

  4. Maak alle getters & setters.

  5. Schrijf de benodigde methodes in de juiste klassen.

  6. Voeg Maven toe aan het project.

  7. Schrijf voor alle methodes unittesten op de juiste locatie in de project structuur.

Bonusopdrachten

Als je de bonusopdrachten maakt, zorg dan dat deze ook getest worden!

  1. Schrijf een methode om alle dieren van de kleinkinderen terug te geven van een persoon.
  2. Schrijf een methode om alle nichtjes terug te geven van een persoon.
  3. Voeg een partner toe aan de Person en implementeer deze partner door de gehele applicatie inclusief getter & setter en benodigde methodes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.