Objektorientierte Software-Entwicklung: Schichten-Architektur Name: Klasse: Datum: ITMI Blatt Nr.: 1 / 1 lfd. Nr.: Programmsysteme Eine zentrale Fragestellung der Programmierung ist die Aufteilung einer Software-Applikation in ein geeignetes Programmsystem, das den folgenden Punkten möglichst gut genügt: o Ähnliche Verhaltensweisen sollten zusammengefasst werden, um das Verständnis und die Wartung (z. B. Überarbeitung) zu erleichtern. Jede Komponente sollte über einen inneren Zuammenhalt verfügen. o Komplexe Komponenten bedürfen weiterer Zerlegung. o Ein System soll durch ein Programmierteam erstellt werden können, so dass die Arbeit mit klaren Programmierschnittstellen versehen werden muss. o Spätere Änderungen im Quellcode sollen sich nicht über das komplette System erstrecken; d. h. Änderungen sollten sich auf eine Komponente beschränken und andere nicht in Mitleidenschaft ziehen. o Teile des Systems sollen austauschbar sein, ohne den Rest des Systems zu beeinflussen. Schichtenmodell Schicht n Ein oft verwendete Möglichkeit Applikationen zu strukturieren ist das Schichten-Modell. Schicht n-1 … Schicht 1 Schicht 0 Dabei wird das System in eine Anzahl von Schichten aufgeteilt und die einzelnen Schichten werden so übereinander angeordnet, dass eine höherwertige Schicht nur auf die jeweils niedrigere Schicht zugreift. Anders ausgedrückt: Eine Schicht kennt nur Attribute und Methoden der jeweils darunter liegende Schicht, aber keine Schicht kennt eine obere Schicht. Three-tier-architecture Dabei setzte sich die Drei-Schichten-Architektur (three-tier architecture) durch. Beispiel Benutzerschnittstelle (TUI- oder GUI-Schicht) Fachkonzeptschicht (Verarbeitungsteil) KreditTest KreditGUI Kredit Francioni - 81938395 20.08.2017 Datenhaltungsschicht (Datenspeicherung) o Die Benutzerschittstelle(n) werden meist in Form von fensterbasierten Dialogen (GUI: graphical user interface) oder in Konsolenprogrammen (TUI: textbased user interfaces, z. B. in Fahrzeugen, Waschmaschinen usw.) ausgeführt. o Die Klassen des Fachkonzepts stellen die gewünschten Methoden und Attribute zur Verfügung. o Die Datenhaltung erfolgt häufig in einer Datenbank, auf die mit einer Datenbankabfragesprache, beispielsweise SQL (Structured Query Language), zugegriffen wird. o Es kann aber auch auf Dateien (Textdateien, serialisierte Objekte, XML-Dateien) zugegriffen werden, in denen Daten abgelegt werden.