Sie sind auf Seite 1von 24

Projektvorbereitungen und Wiederholung

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:

Gesucht: Titel der Bücher zusammen mit den Autorennamen


Wiederholung: SQL Abfragen
Tabelle Buch

Tabelle Autor

Ergebnis:

SELECT Titel, Autor


FROM Buch, Autor
WHERE Buch.Autor = Autor.Autor_ID
Teste dich selbst!
Tabelle Buch Gesucht:
1. Alle Bücher teurer
als 10€
2. Alle Titel und
Namen von
Toten
Tabelle Autor 3. Anzahl der noch
lebenden
Ergebnis: Autoren
Teste dich selbst!
1. Alle Bücher teurer als 10€

SELECT * FROM Buch WHERE Preis > 10

2. Alle Titel und Namen von Toten

SELECT Titel, Name FROM Buch, Autor


WHERE Buch.Autor = Autor.Autor_ID
AND Gestorben = true

3. Anzahl der noch lebenden Autoren

SELECT COUNT(Name) AS Anzahl FROM Autor


WHERE Gestorben = false
Einbetten von SQL in Java
Um auf eine SQL Datenbank
zugreifen zu können, brauchen wir
zwei Klassen:
SQL als Import
Import: java.sql.*;

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

Das könnte Ihnen auch gefallen