Kapitel 1 Applikations-Architektur VIIII Software Architecture, Quality & Testing FS 2016 Prof. Dr. Jana Koehler jana.koehler@hslu.ch
Fallstudie Fillialbestellsystem (FBS) aus Modul Applikationsentwicklung 2
Aufgabe 1: Kontextsicht des FBS Was ist gut? Was könnten wir verbessern? 3
Kontextsicht 4
Aufgabe 2: FBS Use Case Diagramm 1. Welchen Stakeholder adressiert dieses Diagramm? 2. Wie würden Sie in einer alternativen Sicht die wesentlichen Use Cases aufbereiten, um einer nicht-technischen Person den Funktionsumfang und die Wichtigkeit dieses Projektes zu vermitteln? 5
Systemidee 6
Verfeinerte Systemidee 7
Aufgabe 3: Architekturstil FBS Welche Information zum verwendeten Architekturstil gewinnen Sie aus dieser Verteilungssicht? 8
Verteilungssicht 9
Aufgabe 4: FBS Bausteinsicht 1) Erstellen Sie eine Bausteinsicht für das fbsdata Teilprojekt a) für den Projektleiter, um zu kommunizieren, wie das Projekt terminlich und von den Ressourcen da steht b) für den neuen Entwickler, der noch ausstehende Datenbankfunktionalität zu den Rechnungen implementieren soll c) für den Testmanager, um die aktuelle Testabdeckung zu diskutieren 10
Reverse Engineer Class Diagramms in RSA http://www.ibm.com/developerworks/rational/library/08/0610_xu-wood/ New Class Diagramm in einem Projekt anlegen Dann Klassen oder Pakete auf das Diagram ziehen Layout manuell anpassen um Beziehungen klarer darzustellen 11
Bausteinsicht Ebene 1 12
Rational Software Architekt installieren Die VM ist 8.6 GB gross (ENAPPToolingHS14VM.zip.00?) und kann hier heruntergeladen werden: Protokoll: FTP, Verschlüsselung: Explizites FTP über TLS erfordern (z.b. FileZilla: Datei > ServerManager > Neuer Server > Allgemein > Protokoll & Verschlüsselung) Host: ftp.enterpriselab.ch Verzeichnis: /VM-Tooling User: enapp-stud Pass: py5qqsh=wj7d User/Passwort für die VM: root / enapp1 enapp / enapp1 Immer wenn nach irgendeinem Passwort gefragt wird, ist s enapp1. J 13
Klassen in Packages im Diagram sichtbar machen Maus rechts auf visualisiertes Package, Visualize > Add Contents to Current Diagram oder weitere Sichten in separaten Diagrammen erstellen 14
15
Bausteinsicht für fbsservice Ebene 2 16
Struktur des GUI Clients 17
Bausteinsicht GUI 18
Aufgabe 5: FBS Service API 1. Erzeugen Sie für den Projektauftraggeber eine Sicht, um die Services ihres Service APIs zu kommunizieren 19
Aufgabe 6: Services nach Use Case Stufe Welche Ihrer Services entsprechen einem Use Case auf Stufe Blau, Weiss, Indigo? 20
Aufgabe 7: Integrationsmuster im FBS Welche(s) Integrationsmuster treten in den internen und externen Schnittstellen Ihrer Software auf? 21
Aufgabe 8: Entscheidungen, Szenarien und ATAM 1. Welches waren aus Ihrer Sicht die 3 wichtigsten Architekturentscheidungen? 1. Welche Alternativen hatten Sie bei jeder Entscheidung? 2. Hatte eine Entscheidung zur Folge, dass sie bestimmte Alternativen ausschliessen mussten? 2. Welche Szenarien würden Sie bei einem Architekturreview mit ATAM in den Mittelpunkt stellen? 22
Beispiel Architekturentscheidung 23
Beispiel Qualitätsbaum 24
Danke für's Mitmachen! 25