Architektur-Modell Konzept / Architektur – Diagramme Im Übergang Analyse – Design wird das System konzipiert und seine Architektur entworfen: • Subsystem-Modell (execution view) – UML 1.x Package Diagram «subsystem» – UML 2.0 Component Diagram • Schichten-Modell (structure view) – UML 1.x & 2.0 Package Diagram • Verteilungs-Modell (allocation view) – UML 1.x Deployment + Component Diagram – UML 2.0 Deployment Diagram & Deployment Spec. Martin Jud NDS-I SWE II / WBK 312 1 Architektur-Modell Konzept / Architektur – Modelle • Subsystem-Modell (execution view) – UML 1.x Package Diagram «subsystem» – UML 2.0 Component Diagram • Schichten-Modell (structure view) – UML 1.x & 2.0 Package Diagram • Verteilungs-Modell (allocation view) – UML 1.x Deployment + Component Diag. – UML 2.0 Deployment Diagram & – Spec . Martin Jud NDS-I SWE II / WBK 312 2 Verteilung / Allocation Deployment ( Einsatz / Verteilung ) • Deployment Diagram – zeigt die Zuordnung der Software Laufzeit-Elemente zur Hardware. – UML 1.x: Nodes & Components – UML 2: Nodes & Artifacts • UML 1.x Component Diagram – zeigt die Abhängigkeiten unter den Software Artefakten (Source, Binaries, Executables). UML 2: Deployment Specification und «manifest» • Martin Jud NDS-I SWE II / WBK 312 3 © 2001 by SWEED, Martin Kropp Verteilung / Allocation UML 1.x Deployment Diagram Connection :Web Server anOracleDB:DB Server TCP/IP :Oracle.Dll :Regist. App Database TCP/IP Interface Node :Windows PC :Regist Applet Component :Browser Martin Jud NDS-I SWE II / WBK 312 Jeder Node in einem Deployment Diagram steht für einen Computer, einen Sensor oder sonst eine Hardware. 4 © 2001 by SWEED, Martin Kropp Verteilung / Allocation UML 2 Deployment Diagram Node Artifact Node: • Gleich wie UML 1.x Artifact: • ausführbarer Code, Skript…, wird einem Node zugeordnet. Martin Jud NDS-I SWE II / WBK 312 5 Aus den UML 2.0 Unterlagen von Jörg Hofstetter Verteilung / Allocation UML 1.x Component Diagram Static Dependency Database :Oracle.Dll :Domain.DLL zeigt • ausführbare Komponenten der Laufzeit-Umgebung • einschliesslich Libraries und deren Abhängigkeiten Interface :Regist. App Component Martin Jud zeigt nicht • Hardware und die Kommunikation zwischen Hardwarekomponenten. NDS-I SWE II / WBK 312 6 © 2001 by SWEED, Martin Kropp Verteilung / Allocation UML 2 Deployment Specification • zusätzliche Angaben über die Konstruktion einer Einsatzkonfiguration • «manifest» verbindet ein Artefakt mit einer Komponente Beispiel: Die Komponente Order wird durch Order.jar realisiert. Martin Jud NDS-I SWE II / WBK 312 7 aus Unterlagen von Martin Glinz, Uni Zürich und M. Jeckle, FH Furtwangen Subsystem / Execution UML 2 Components Bestell Material Bestelleingang Alternative Darstellung: Bestell Material Martin Jud Bestelleingang Eine UML 2 – Komponente • ist ein ausführbares Element in einem System. • definiert ihr Verhalten über zur Verfügung gestellte und benötigte Interfaces. • kann zur Design- oder Laufzeit durch eine Komponente mit den selben Interfaces ersetzt werden. NDS-I SWE II / WBK 312 8 Aus dem Vortrag UML-2 von Jörg Hofstetter HTA Luzern Subsystem / Execution UML 2.0: Port & Interface OnlineService Port kann Interfaces (provided + requested) beinhalten! BestellEingang Bestellt Prozess Bezahlung Interface Port - Eine Deklaration öffentlicher Features - Interaktionspunkt zwischen Classifier - Instanzieren eines Classifiers erzeugt auch die Instanzen der zugehörigen Ports. - Ist ein Port durch Interfaces typisiert - gibt es einen instanzierbaren Classifier, der diese Interfaces realisiert. - ist das Interaktions-Objekt eine Instanz dieses Classifiers und kann Verhalten haben -> z.B: Datenfilterung. - Nicht direkt instanzierbar, wird durch die Instanz eines anderes Classifiers realisiert. Martin Jud NDS-I SWE II / WBK 312 9 Aus der Vorlesung UML 2.0 von Jörg Hofstetter HTA Luzern Subsystem / Execution Interface Darstellung „Ball“ „Socket“ LogLine Filesystem WriteLine Provided Interface WriteLine Logger UML 2 Requested Interface LogLine UML 1.x Filesystem WriteLine Martin Jud WriteLine Logger NDS-I SWE II / WBK 312 10 Aus der Vorlesung UML 2.0 von Jörg Hofstetter HTA Luzern Subsystem / Execution UML 2.0: Ports Lautstärke :Verstärker • Interaktionspunkte eines Classifiers LautsprecherLinks :Endverstärker 24 V Radio LautsprecherRechts CD :Vorverstärker :Endverstärker 24 V 24 V • Classifier kommuniziert mit Aussenwelt via Ports • Ports können einen Typ haben 24 V :Netzteil 220 V ~ 220 V~ Martin Jud NDS-I SWE II / WBK 312 11 Aus der Vorlesung UML 2.0 von Jörg Hofstetter HTA Luzern Subsystem / Execution UML 2 Component Diagram Port Martin Jud NDS-I SWE II / WBK 312 Part Aus dem Vortrag UML-2 von Jörg Hofstetter HTA Luzern 12 Package Diagram Schichten / Structure Package Diagram Package Registration UI AWT Dependency Domain Registration Application Courses Persons Stereotype Oracle <<global>> Database Interface Common {abstract} SQL Server Constraint Martin Jud NDS-I SWE II / WBK 312 13 © 2001 by SWEED, Martin Kropp Package Diagram Schichten / Structure Darstellung der Modul-Abhängigkeiten Notification Message View User Input Queries and Updates Controler Edit Model Model-View-Controller Martin Jud NDS-I SWE II / WBK 312 14 © 2001 by SWEED, Martin Kropp Package Diagram Subsystem / Execution UML 1 Stereotyp «Subsystem» Subsystem ( UML2 Component ) Package «subsystem» Registration UI AWT «subsystem» Registration Application Martin Jud NDS-I SWE II / WBK 312 15 © 2001 by SWEED, Martin Kropp Architektur-Modell Übung Erarbeiten Sie ein Architekturkonzept für die Bibliothek: 1. Legen Sie die Harwareaufteilung fest 2. Strukturieren Sie das Softwaresystem in Komponenten 3. Haben Sie gelayerte Subsysteme ? Martin Jud NDS-I SWE II / WBK 312 16 Staying Agile Focus on keeping it as simple as possible. – Create diagrams on a whiteboard – Content is more important than representation – It’s also perfectly okay that the diagram isn’t complete – we can always modify as we need to. Martin Jud NDS-I SWE II / WBK 312 17 © 2004 by Scott W. Ambler UML 2 Use Case Diagram Overview