MezData-LogoCreative Commons License Lösung 2006-So-FIA-A2

2 Klassendiagramm

2.1 Java-Quelltext

public class Buch{
  private int anzahlAusleihen, // Grosschrift am Anfang entspricht nicht UML!
              anzahlSeiten;    // Fehler in der Aufgabenstellung!
  private String autor;
  private int qualitativerZustand,
              status;
  private String titel;
  
  /* Problem für Java, im C++ Lösungsvorschlag wurden die Methoden nur deklariert,
   * nicht definiert, kein Programmcode. Daher erwarte ich von Prüflingen nur leere
   * Methodenrümpfe.
   * Noch ein Fehler in der Aufgabenstellung: In der UML sollen Methoden mit Verb beginnen.
   * Daher nicht anKundenAusleihen sondern ausleihenAnKunden
   */
  public void ausleihenAnKunden(int kundenNr){} 
  public void zurueckerhaltenAusWartung(int qualitativerZustand){}
  private void setzeStatus(int status){}
  
  public boolean zurueckerhaltenVonKunden(int qualitativerZustand){
    boolean rueckwert = false;
    if (0 < qualitativerZustand && qualitativerZustand < 7){
      rueckwert = true;
      this.qualitativerZustand = qualitativerZustand; // Speichern in Objekt-Attribut
      if (anzahlAusleihen % 100 == 0 || qualitativerZustand > 4)
        setzeStatus(3); // Zur Wartung vorgesehen
      else
        setzeStatus(1); // Ausleihbar
    }
    return rueckwert;
  }
      
  public void gebeZurWartung(){
    setzeStatus(4);
  }
}

2.2 Struktogramm

© Oliver Mezger 20.11.2008 MezData.de Den Kontakt herstellen...