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 Verteilung / Allocation UML 1.x Deployment Diagram :Web Server Connection TCP/IP anoracledb:db Server :Oracle.Dll :Regist. App Database TCP/IP Interface :Windows PC :Regist Applet :Browser Node Component Jeder Node in einem Deployment Diagram steht für einen Computer, einen Sensor oder sonst eine Hardware. Martin Jud NDS-I SWE II / WBK 312 4
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 :Domain.DLL :Regist. App Component :Oracle.Dll Interface zeigt ausführbare Komponenten der Laufzeit-Umgebung einschliesslich Libraries und deren Abhängigkeiten zeigt nicht Hardware und die Kommunikation zwischen Hardwarekomponenten. Martin Jud NDS-I SWE II / WBK 312 6
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 UML 2 Components Subsystem / Execution Bestell Material Alternative Darstellung: Bestell Material Bestelleingang 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. Martin Jud 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 Bestellt Prozess OnlineService BestellEingang Bezahlung Port kann Interfaces (provided + requested) beinhalten! Interface - Eine Deklaration öffentlicher Features - Nicht direkt instanzierbar, wird durch die Instanz eines anderes Classifiers realisiert. Port - 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. 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 WriteLine Logger UML 2 Provided Interface Requested Interface Filesystem WriteLine WriteLine Logger LogLine UML 1.x Martin Jud 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 :Verstärker Lautstärke :Endverstärker 24 V LautsprecherLinks Interaktionspunkte eines Classifiers CD Radio :Vorverstärker 24 V :Endverstärker 24 V LautsprecherRechts Classifier kommuniziert mit Aussenwelt via Ports 24 V :Netzteil 220 V ~ Ports können einen Typ haben 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 Part Martin Jud NDS-I SWE II / WBK 312 12 Aus dem Vortrag UML-2 von Jörg Hofstetter HTA Luzern
Package Diagram Package Diagram Schichten / Structure Package Registration UI Registration Application Stereotype Domain Courses AWT Dependency Persons <<global>> Common Constraint Database Interface {abstract} Oracle SQL Server Martin Jud NDS-I SWE II / WBK 312 13 Package Diagram Schichten / Structure Darstellung der Modul-Abhängigkeiten View Notification Message Queries and Updates Controler User Input Model Edit Model-View-Controller Martin Jud NDS-I SWE II / WBK 312 14
Package Diagram Subsystem / Execution UML 1 Stereotyp «Subsystem» Subsystem ( UML2 Component ) «subsystem» Package Registration UI AWT «subsystem» Registration Application Martin Jud NDS-I SWE II / WBK 312 15 Übung Architektur-Modell 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