Beruflich Dokumente
Kultur Dokumente
https://i.pinimg.com/originals/05/85/b7/0585b769b487dc1b01bec7b2add3f027.jpg
https://raw.githubusercontent.com/jenkins-infra/plugins-wiki-docs/master/memegen/docs/
images/16116996.jpg
Beispiel
Ziel: Simulation einer einfachen Bank
Lastenheft:
• Agierende Personen: Kunden, Angestellte der Bank
• Es gibt Girokonten und Sparkonten
• Kunde kann beliebig viele Konten eröffnen, jedes Konto hat genau
einen Besitzer
• Kunde weist sich durch Namen und PIN aus und hat Zugriff auf
seine Konten (Einzahlen, Abheben, Kontostand erfragen,
Kontoauszüge erstellen)
• Bankangestellte weisen sich durch Name und PIN aus und
können Kunden anlegen, löschen, Konten für Kunden anlegen,
Konten löschen, Angestellte neu anlegen und löschen
• Veränderungen sollen protokolliert werden
Beispiel
Pflichtenheft
• Objektorientierte Sprache, hier: Java
• Benutzerschnittstelle: Grafische Oberfläche (hier: Java-FX)
• Datenspeicherung: MySQL
• Verwaltung der Konten-, Kunden- und Angestelltendaten über
einfach verkettete Listen, die um spezielle Methoden für die
benötigten Funktionen (z.B. Rückgabe aller Kundennamen,
Suche aller Konten eines Kunden) erweitert werden
• Das Protokoll aller Änderungen wir in einer Datei gespeichert
Beispiel
Systementwurf
Beispiel
Datenbankanbindung
Wiederholung: SQL Abfragen
Tabelle Buch
Allgemein:
SELECT <Spaltennamen>
FROM <Tabellennamen>
WHERE <Bedingung an Zeilen>
Wiederholung: SQL Abfragen
Tabelle Buch
SELECT *
FROM Buch
Wiederholung: SQL Abfragen
Tabelle Buch
Ergebnis:
Wiederholung: SQL Abfragen
Tabelle Buch
Tabelle Autor
Ergebnis:
Tabelle Autor
Ergebnis:
Wichtige Klassen:
- Connection
- Statement/PreparedStatement
- ResultSet
-
Aber genug jetzt! Mehr dazu findet
das DB-Team in Mebis…
Nutzung der Muster
MVC:
Adapter:
Damit für andere Gruppen klar ist, was jeweils zu Verfügung
gestellt wird, wird jeweils ZUERST ein Interface erstellt, das
dann implementiert wird. -> Verwendende Klasse nutzt
Interface als Datentyp
Dokumentieren
/**
* Diese Klasse stellt einen Taschenrechner dar.
* @author Peter Pan
*/ Kommentare für javadoc
public class Rechner{ (Dokumentation in der API)
/**
* Berechnet die Differenz zweier Zahlen.
* @return Differenz der Zahlen
* @param Minuend
* @param Subtrahend Definition der Rückgabe
*/ und Parameter möglich
public double diff(double a, double b){
return a-b; //Rueckgabe
}
} Inline-Kommentar zur Erklärung fürs Team
KONTROLLEUR
<<interface>> <<interface>>
OBERFLAECHENINTERFACE KONTROLLEURINTER
FACE
OBERFLAECHE
KONTROLLEUR
<<interface>> <<interface>>
OBERFLAECHENINTERFACE KONTROLLEURINTER
FACE
OBERFLAECHE
Protokollieren der Veränderungen: BEOBACHTER
Protokollieren der Veränderungen: BEOBACHTER
Protokollieren der Veränderungen: BEOBACHTER