EFFEKTIVE SOFTWARE- ARCHITEKTUREN

Größe: px
Ab Seite anzeigen:

Download "EFFEKTIVE SOFTWARE- ARCHITEKTUREN"

Transkript

1 gernot STARKE EFFEKTIVE SOFTWARE- ARCHITEKTUREN EIN PRAKTISCHER LEITFADEN 3. Auflage

2 Inhalt Vorwort... 1 Vorwort zur zweiten Auflage... 2 Vorwort zur dritten Auflage Einleitung Software-Architekten Effektiv, agil und pragmatisch Wer sollte dieses Buch lesen? Wegweiser durch das Buch Webseite zum Buch Weiterführende Literatur Danksagung Architektur und Architekten Was ist Architektur? Die Aufgaben von Software-Architekten Wie entstehen Architekturen? In welchem Kontext steht Architektur? Weiterführende Literatur Vorgehen bei der Architekturentwicklung Informationen sammeln Systemidee entwickeln Was sind Einflussfaktoren und Randbedingungen? Einflussfaktoren finden Risiken identifizieren Qualität explizt beschreiben Qualitätsmerkmale von Software-Systemen Szenarien konkretisieren Qualität Lösungsstrategien entwickeln Strategien gegen organisatorische Risiken Strategien für hohe Performance V

3 Inhalt Strategien für Anpassbarkeit und hohe Flexibilität Strategien für hohe Verfügbarkeit Weiterführende Literatur Architektursichten zur Kommunikation und Dokumentation Architekten müssen kommunizieren und dokumentieren Sichten Sichten in der Software-Architektur Vier Arten von Sichten Entwurf der Sichten Kontextsicht Elemente der Kontextsicht Notation der Kontextsicht Entwurf der Kontextsicht Bausteinsicht Elemente der Bausteinsicht Notation der Bausteinsicht Entwurf der Bausteinsicht Laufzeitsicht Elemente der Laufzeitsicht Notation der Laufzeitsicht Entwurf der Laufzeitsicht Verteilungssicht Elemente der Verteilungssicht Notation der Verteilungssicht Entwurf der Verteilungssicht Dokumentation von Schnittstellen Datensicht Typische Architekturdokumente Zentrale Architekturbeschreibung Architekturüberblick Dokumentationsübersicht Übersichtspräsentation der Architektur Architekturtapete Effektive Architekturdokumentation Anforderungen an Architekturdokumentation Regeln für gute Architekturdokumentation Weiterführende Literatur UML 2 für Architekten Die Diagrammarten der UML Die Bausteine von Architekturen Schnittstellen Die Bausteinsicht Die Verteilungssicht Die Laufzeitsicht VI

4 Inhalt 5.7 Darum UML Weiterführende Literatur Strukturentwurf, Architektur- und Designmuster Von der Idee zur Struktur Komplexität beherrschen Zerlegen aber wie? Fachmodelle als Basis der Entwürfe Die Fachdomäne strukturieren Architekturmuster Schichten (Layer) Pipes & Filter Weitere Architekturmuster Heuristiken zum Entwurf Das So-einfach-wie-möglich-Prinzip Entwerfen Sie nach Verantwortlichkeiten Konzentrieren Sie sich auf Schnittstellen Berücksichtigen Sie Fehler Optimieren von Abhängigkeiten Streben Sie nach loser Kopplung Hohe Kohäsion Offen für Erweiterungen, geschlossen für Änderungen Abhängigkeit nur von Abstraktionen Abtrennung von Schnittstellen Zyklische Abhängigkeiten vermeiden Liskov-Substitutionsprinzip (LSP) Dependency Injection (DI) Entwurfsmuster Entwurf mit Mustern Adapter Beobachter (Observer) Dekorierer (Decorator) Stellvertreter (Proxy) Fassade Zustand (State) Entwurf, Test, Qualitätssicherung Weiterführende Literatur Typische Architekturaspekte Persistenz Motivation Typische Probleme Architekturmuster Persistenzschicht Weitere Themen zu Persistenz Zusammenhang mit anderen Aspekten Weiterführende Literatur VII

5 Inhalt 7.2 Geschäftsregeln Motivation Funktionsweise von Regelmaschinen Kriterien pro & kontra Regelmaschinen Mögliche Probleme Weiterführende Literatur Integration Motivation Typische Probleme Lösungskonzepte Entwurfsmuster zur Integration Konsequenzen und Risiken Zusammenhang mit anderen Aspekten Weiterführende Literatur Verteilung Motivation Typische Probleme Lösungskonzept Konsequenzen und Risiken Zusammenhang mit anderen Aspekten Weiterführende Literatur Kommunikation Motivation Entscheidungsalternativen Grundbegriffe der Kommunikation Weiterführende Literatur Ablaufsteuerung grafischer Oberflächen Model-View-Controller (MVC) Weiterführende Literatur Ergonomie grafischer Oberflächen Arbeitsmetaphern Interaktionsstile Ergonomische Gestaltung Heuristiken zur GUI-Gestaltung Weiterführende Literatur Internationalisierung Globale Märkte erfordern neue Prozesse Dimensionen der Internationalisierung Lösungskonzepte Weiterführende Literatur Workflow-Management: Ablaufsteuerung im Großen Zweck der Ablaufsteuerung Lösungsansätze Integration von Workflow-Systemen Mächtigkeit von WMS Weiterführende Literatur VIII

6 Inhalt 7.10 Sicherheit Motivation Typische Probleme Sicherheitsziele Lösungskonzepte Zusammenhang mit anderen Aspekten Weiterführende Literatur Protokollierung Typische Probleme Lösungskonzept Zusammenhang mit anderen Aspekten Weiterführende Literatur Ausnahme- und Fehlerbehandlung Motivation Fehlerkategorien schaffen Klarheit Muster zur Fehlerbehandlung Mögliche Probleme Zusammenhang mit anderen Aspekten Weiterführende Literatur Model Driven Architecture (MDA) Architekten entwickeln Generierungsvorlagen Modellierung Modellbasiert entwickeln Weiterführende Literatur Service-Orientierte Architektur (SOA) Was ist SOA? So funktionieren Services Was gehört (noch) zu SOA? SOA und Software-Architektur Weiterführende Literatur Bewertung von Software-Architekturen Was Sie an Architekturen bewerten können Vorgehen bei der Bewertung Weiterführende Literatur Enterprise-IT-Architektur Wozu Architekturebenen? Aufgaben von Enterprise-Architekten Management der Infrastrukturkosten Management des IS-Portfolios Definition von Referenzarchitekturen Weitere Aufgaben Weiterführende Literatur IX

7 Inhalt 12 Beispiel einer Architekturdokumentation Einführung Architekturtreiber Architekturziele Geschäftskontext Stakeholder Einflussfaktoren Technische Einflussfaktoren Organisatorische Einflussfaktoren Kontextsicht Bausteinsicht M&M Bausteinsicht Level Migration Controller VSAM Reader Segmentizer Migrationsdatenbank Packager Rule Processor (und Packager) Target System-Adapter Migrierte Kontodaten in Zieldatenbank M&M Bausteinsicht Level VSAM-Reader Whitebox Rule Processor Whitebox Laufzeitsicht Verteilungssicht Entwurfsentscheidungen Szenarien zur Architekturbewertung Architekturaspekte Persistenz Ablaufsteuerung Ausnahme- und Fehlerbehandlung Transaktionsbehandlung Projektaspekte Glossar und Referenzen Nachwort: Architektonien Literatur Register X

8 2 2 Architektur und Architekten Architecture is about People. Norman Foster Fragen, die dieses Kapitel beantwortet: Was ist Software-Architektur? Welche Aufgaben erfüllen Software-Architekten? Warum ist Architektur für Software-Systeme wichtig? In welchem Kontext steht Architektur? Wie entstehen Architekturen? Dieses Kapitel beantwortet die Frage Was ist Software-Architektur?. Es beschreibt Architekturen im Kontext der gesamten Softwareentwicklung. Eine zentrale Stellung kommt der vielseitigen Rolle von Architekten zu. Softwaresysteme werden zunehmend komplexer und umfangreicher. Damit nimmt die Bedeutung von Entwurf und Beschreibung grundlegender Systemstrukturen zu, während die Bedeutung der Auswahl von Programmiersprachen, Algorithmen und Datenstrukturen zurückgeht. 15

9 2 Architektur und Architekten 2.1 Was ist Architektur? Software-Architektur beschäftigt sich mit Abstraktion, mit Zerlegung und Zusammenbau,mit Stil und Ästhetik. [Kruchten95] Das renommierte Software Engineering Institute (SEI) der US-amerikanischen Carnegie-Mellon Universität hat vor einiger Zeit den Versuch gestartet, den Begriff Software-Architektur exakt zu definieren. Die entsprechende Webseite 1 wartet mit mehr als 50 unterschiedlichen Lesarten des Begriffes auf. Die einschlägige Fachliteratur kann hier mithalten mehrere Dutzend unterschiedlicher Definitionen werben um die Gunst des Fachpublikums. Statt zu dieser verwirrenden Vielfalt beizutragen, möchte ich Ihnen den Begriff Software-Architektur in einigen Absätzen erläutern. Architektur ist Struktur Strukturen, Zerlegung, Schnittstellen, Beziehungen Die Architektur eines Softwaresystems besteht nach [Bass03] aus seinen Strukturen 2, der Zerlegung in Komponenten, deren Schnittstellen und Beziehungen untereinander. Architektur muss demnach die Komponenten eines Systems definieren, deren wesentliche (extern sichtbaren) Merkmale beschreiben sowie die Beziehungen zwischen diesen Komponenten charakterisieren. Damit beschreibt Architektur sowohl statische als auch dynamische Aspekte. Sie erfüllt sowohl die Aufgabe eines Bauplans als auch die eines Ablaufplans für Software. Architektur bildet den Übergang von der Analyse zur Realisierung Software-Architektur bildet den schwierigen Übergang von der Analysephase zur konkreten technischen Realisierung. Sie schlägt die Brücke zwischen der Fachdomäne und deren Umsetzung in Software, indem sie die geforderte Funktionalität auf eine Struktur von Softwarekomponenten und deren Beziehungen untereinander abbildet. Dabei gibt es Unterschiede, ob Sie: auf der grünen Wiese entwickeln dann sind Sie relativ frei in der Wahl von Komponenten und der Abbildung der Fachdomäne auf Komponenten; ein Teilsystem innerhalb einer existierenden Systemlandschaft entwickeln dann unterliegen Sie starken Restriktionen (die Sie ermitteln müssen); Sie lesen richtig: Es sind mehrere unterschiedliche. Die weiter unten beschriebenen Sichten beschreiben dasselbe System, aber unterschiedliche Strukturen. Im weiteren Verlauf des Buches benutze ich aus Gründen der Lesbarkeit trotzdem meistens den Singular. 16

10 2.1 Was ist Architektur? nach einer vorgegebenen domänen-spezifischen Software-Architektur eines von vielen ähnlichen Systemen entwickeln. Dann reduziert sich die Architektur darauf, Fachlichkeit in eine bestehende Architektur zu gießen. Architektur besteht aus verschiedenen Sichten Gebäudearchitekten erstellen eine Vielzahl unterschiedlicher Pläne und Sichten für Gebäude. Einige Beispiele dafür sind Grundriss, Statik, Elektro- und Heizungsplan, 3D-Sicht. Jede dieser einzelnen Sichten dokumentiert einzelne Aspekte des Gesamtsystems. Den verschiedenen Projektbeteiligten wird damit eine spezifische und für deren Belange angemessene Sicht vermittelt. Jede Sicht ist für bestimmte Stakeholder nützlich. Für Software-Architekturen gilt das völlig analog: Sie sollten Architekturen in unterschiedlichen Sichten beschreiben. Die wichtigsten Sichten für Software- Architekturen sind die Bausteinsicht, die Laufzeitsicht sowie die Verteilungssicht, die eine Abbildung von Laufzeitbausteinen auf technische Infrastruktur (Hardware) beschreibt. Kapitel 4 beschäftigt sich ausführlich mit den Sichten, ihrer Notation und Entwicklung. In Abbildung 2.1 sehen Sie die Sichten im Überblick. Kontextsicht Vogelperspektive & Nachbarsysteme Unterschiedliche Sichten Laufzeitsicht Wie arbeiten Bausteine zusammen? o o o Bausteinsicht Statische Struktur: Bausteine und Beziehungen Verteilungssicht In welcher Umgebung läuft das System ab? Abbildung 2.1 Vier Sichten auf Architektur Architektur schafft Verständlichkeit Software-Architekturen machen Komplexität von Systemen beherrschbar und verständlich, indem sie (komplexe) Anforderungen in (geordnete) Strukturen übersetzen und diese Strukturen übersichtlich dokumentieren. Architektur schafft Ordnung 17

11 2 Architektur und Architekten Architektur ermöglicht Überblick Architektur stellt Erweiterbarkeit sicher Architektur lässt nicht benötigte Informationen gezielt weg Für alle Projektbeteiligten dokumentieren sie angemessen und problembezogen die Struktur und das Zusammenwirken der einzelnen Komponenten. Architekturen stellen damit das Verständnis von Systemen für alle Projektbeteiligten sicher: Für das Management bilden sie die erste Möglichkeit der Verifikation, ob die Anforderungen erfüllbar sind und erfüllt werden. Für neue Projektmitarbeiter sind Architekturen der erste Schritt, sich mit der Struktur des Systems, seinem Entwurf und seinen Bestandteilen vertraut zu machen. Architekturen ermöglichen Wartungsteams, die betroffenen Bestandteile leichter zu finden und die Folgen von Änderungen abzuschätzen (impact analysis). Für Betreiber von Software-Systemen dokumentieren Software-Architekturen, welche Software-Komponenten auf welchen physischen Systemteilen ablaufen. Sie stellen damit die Basis integrierter System-Architekturen dar, die neben Software auch noch Hardware und Organisationsstrukturen umfassen. Architektur ist der Rahmen für flexible Systeme Software-Architektur ist nach Tom DeMarco ein framework for change. Sie bildet also den Rahmen, der Flexibilität und Erweiterbarkeit von Software sicherstellt. Software-Architekturen berücksichtigen dabei die Auswirkungen externer Einflussfaktoren organisatorischer und technischer Art auf das System. Diese Faktoren sind häufig Auslöser neuer Anforderungen an das System. Sie bestimmen, in welcher Hinsicht das System Flexibilität besitzen muss. Architektur ist Abstraktion Im ersten Moment mag es Ihnen unglaublich vorkommen: Eine essenzielle Aufgabe von Architekten besteht darin, die für eine bestimmte Aufgabe nicht benötigten Informationen gezielt wegzulassen, zu abstrahieren. Diese Abstraktion besitzt eine Analogie in der Gebäudearchitektur: Eine Grundrisszeichnung enthält beispielsweise keine Informationen über Elektro- und Wasserleitungen. Hier wird bewusst Information gefiltert, um eine spezifische Darstellung der Architektur lesbar und verständlich zu halten. Architektur schafft Qualität Die Qualität eines Systems bezeichnet die Summe seiner nichtfunktionalen Eigenschaften. Hierzu zählen Aspekte wie Performance, Verständlichkeit, Flexibilität und eine Reihe weiterer wichtiger Eigenschaften, die samt und sonders unabhängig von der eigentlichen Funktionalität eines Systems sind. 18

12 2.1 Was ist Architektur? Anforderungen an Qualitätseigenschaften, so genannte nichtfunktionale Anforderungen (NF-Anforderungen), stellen häufig die wirklich schwierigen Aufgaben für Software-Architekten dar. Einen bestimmten Algorithmus ohne jegliche NF- Anforderungen zu programmieren, ist erheblich leichter, als dieses Programm gleichzeitig auch noch verständlich, erweiterbar und performant für viele parallele Benutzer zu entwickeln 3. Die Architektur eines Systems bildet die Basis für dessen Qualität. Sie ist auch die Grundlage, um spezifische Qualitätseigenschaften bewerten zu können (Kapitel 10 erklärt Ihnen die Bewertung von Software-Architekturen). In Abschnitt 3.7 (Lösungsstrategien entwickeln) finden Sie Tipps zur Erfüllung typischer Qualitätsanforderungen. Architektur und Design Architektur und Design beschäftigen sich mit dem Entwurf von Systemen. Ich vertrete die Auffassung, dass die Grenze zwischen Software-Architektur und Software-Design fließend ist. Damit rücken die Begriffe Design und Architektur sehr eng zusammen. Design oder Entwurf bezeichnen den Prozess der Erstellung der Architektur. Die Entwurfsphase konstruiert oder erschafft in diesem Sinne die Architektur. Manchmal gehört der Entwurf einer konkreten Klassenstruktur zur Aufgabe von Architekten, in anderen Fällen werden zusätzliche Designer diese Aufgabe lösen. Gehen Sie mit diesen Begriffen pragmatisch um und suchen Sie nicht nach einer formalen Definition. Was NICHT Architektur ist... Betrachten Sie Abbildung 2.2. Diagramme dieser Art tauchen sehr häufig unter dem Titel Architekturdiagramm auf (nach [Bass98]). Client Controller (CC) Transaction Model Mailsystem Reporting Abbildung 2.2 Typische, aber wenig informative Sicht einer Architektur Welche Informationen können Sie dieser Darstellung entnehmen? 3 Das ist auch ein Grund, wieso sich Übungsbeispiele aus Programmierkursen fast nie in die Wirklichkeit übertragen lassen: Die (hohe) Komplexität nichtfunktionaler Anforderungen bleibt in solchen Beispielen in der Regel außen vor genau die jedoch erschwert in der Praxis die Softwareentwicklung! 19

13 Register..NET-Remoting 217 A Abhängigkeiten 157 Ablaufsteuerung 237, 269 Active Data Objects 189 Adapter 170 Agilität 6, 82 Änderbarkeit 61 Anforderungsanalyse 30 Anwendungen in SOA 312 Anwendungslandschaft 336 Management der 338 Applikationsmonolithen 310 Arbeitsmetapher 248 Architecture Business Cycle 27 Architekten Aufgaben von 25 Werkzeuge von 25 Architektur siehe Software-Architektur Architekturbeschreibung, zentrale 105 Architekturbewertung 321 als Teil der Architekturentwicklung 325 Auswirkung von 333 Vorgehen 327 Architekturdokumentation 77, 105 Anforderungen 111 Beispiel 345 Grundannahmen 81 Architekturebenen 335 Architekturmuster 145 Pipes & Filter 149 Schichten 145 Architektursichten 79 Architekturüberblick 105 ATAM siehe Architekturbewertung Ausnahmenbehandlung 292 Authentisierung 281 Autorisierung 281 B Bausteinsicht 89 hierarchische Verfeinerung 90 UML Beam me up, Scotty 236 Beispiel Architekturdokumentation 345 Benutzbarkeit 60 Beschreibung von Schnittstellen 100 Bewertung qualitativ 322 von Architekturen 321 von Artefakten 322 von Prozessen 322 Blackbox 89 BSOD 292 Business-Architektur 335 Business-IT-Alignment 343 C Caching 204 Choreographie 318 Ciphertext

14 Register Conflict-Set 208 CORBA 217, 228 IDL 101 cyclomatic complexity 323 D DAO 193 Data Access Object 193 Dateitransfer 216 Daten, Arten der ~verwaltung 42 Datenbanksystem 186 Datenklassen 189 Datensicht 103 Dekorierer 173 denial-of-service 282 Diagnose von Fehlern 298 DIN/ISO Dokumentation Grundprinzipien 114 Qualitätsanforderungen 113 Dokumente selbstbeschreibend 315 zur Beschreibung von Architekturen 105 DRY-Prinzip 115 E Effektiv 8 Effizienz 8, 61 Einflussfaktoren 45 architekturrelevante 47 finden 49 organisatorische 50 Systemfaktoren 55 technische 53 Enterprise-IT Architektur 335 Enterprise-Service-Bus 319 Entwurfsmuster Adapter 170 Dekorierer 173 Fassade 174 MVC 241 Observer 171 Proxy 173 State (Zustand) 175 zur Integration 220 Entwurfsprinzipien 153 abhängig nur von Abstraktionen 162 Abhängigkeit minimieren 157 Dependency Injection 168 Fachlichkeit und Technik trennen 155 hohe Kohäsion 160 Liskov 166 lose Kopplung 160 Modularität 155 nach Verantwortlichkeiten entwerfen 154 Offen-Geschlossen 160 Schnittstellen abtrennen 163 So-einfach-wie-möglich 153 Substitutionsprinzip 166 ESB 319 Evaluierung von Architekturen siehe Bewertung F Fabrik-Metapher 249 Fassade 174 Fehler 294 Format- 296 Protokoll- 296 syntaktische 296 Fehlerbehandlung 292 Fehlerdiagnose 298 Firewall 279 Flexibilität, unternehmerische 310 Folgefehler 299 Formatfehler 296 Formular-Metapher 250 Fragen an Architekturdokumentation 111 Funktionalität 60 G Gateway 221 Geschäftsfunktionen als Services in SOA

15 Register Geschäftsprozesse 270, 309 Informationsbedarf 336 Geschäftsregeln 205 Geschäftsziele bei Architekturbewertung 328 Gesetz von Hofstadter 308 Governance 320 Grafische Benutzeroberfläche, Ergonomie 248 GRASP 177 Grundprinzipien von Dokumentation 114 H Heuristiken 138 zum Entwurf 153 Hofstadtersches Gesetz 308 I IDL 101 impedance mismatch 188 Informationsarchitektur 336 Infrastruktursichten 98 Integration 212 Entwurfsmuster 220 Integrität 281 Interaktionsstile 250 Internationalisierung 260 Iterationen 27 beim Entwurf 37 IT-Infrastruktur 336 J Java-RMI 217 K Kategorien von Systemen 40 Klartext 282 Klassen, UML Knoten 98 UML Kohäsion 160 Kommunikation 230 (a)synchron 231 Protokolle 234 von Architekturen 78 Kommunikationsaufgabe 78 Komplexität 139 Komponenten, UML Kontextsichten 87 Kopplung 160 lose 313 L Laufzeitsicht 94 UML Layer 145 Logging 289 Lösungsstrategien 67 M Match-Select-Act 208 MDA 301 Mehrsprachigkeit 262 Messaging 215, 218, 215, 218 Messgröße für Software-Architekturen 326 Metadaten 314 Metriken 322 für Quellcode 322 Mindmaps als Hilfsmittel für Qualitätsbäume 330 Model-Driven-Architecture 301 Model-View-Controller 241 Modularität 155 Murphy s Regel 292 N n-tier 148 O OAW 305 Object Request Broker 218 Observer 171 Offen-Geschlossen-Prinzip 160 openarchitectureware 305 OpenSource

16 Register Orchestrierung 318 OSI-7-Schichten 235 P Pakete, UML Peer-to-Peer 152 Persistenz 185 Persistenzschicht 188 Aufbau 191 DAO 194 Entwurf 192 PIM 302 Pipes & Filter 149 POLA-Prinzip 115 Projektplanung 31 Projektrisiken 56 Protokollfehler 296 Proxy 173 PSM 302 Public Key Infrastructure 279 Publish Subscribe 233 Q Qualität 58 Qualitätsbaum 329 Szenarien konkretisieren 330 Qualitätskriterien als Bewertungsziel 326 Qualitätsmerkmale 59, 326, 59 Qualitätssicherung 32, 176, 32, 176 R Randbedingungen 45 Referenzarchitekturen 340 Regelinterpreter 207 Regeln 205 Regelsystem 205 Registry für Services 318 Remote Procedure Call 217, 233, 217, 233 Risiken 56 Risikoanalyse 31 Risikomanagement 31 rule-engine 207 S Schicht 145 Nachteile 146 Vorteile 146 Schnittstellen 42, 100, 156, CORBA IDL 101 UML von Service 314 Sequenzdiagramm 132 Service Funktionsweise 316 in Rolle von "Anwendungen" 312 -Registry 318 -Vertrag 314 Sicherheit 279 Sichten 79 4 Arten 82 Baustein- 89 Datensicht 103 -Kontext 87 -Laufzeit 94 neue Arten 84 -Verteilung 98 Signaturgesetz 280 So einfach wie möglich 153 SOA 309, 310 und Software-Architektur 320 SOAP 217 Software-Architekten 21 Aufgaben von 25 Werkzeuge von 25 Software-Architektur 16 Bewertung 321 Dokumentation und Kommunikation 78 Iterationen 27 Sichten 17, 79, 17, 79, 17, 79 und Qualitat 58 Speicher 185 SPOT-Prinzip 115 SQL 185 Stakeholder bei Architekturbewertung

17 Register maßgebliche 328 Starrheit 158 Steuerung, Arten 44 Strategie 335 Substitutionsprinzip 166 Systemidee 39 Szenarien für Bewertung priorisieren 331 konkretisieren Qualität 61 und Qualitatsmerkmale 63 zur Bewertung 330 T Template 303 Test 176 Testen 179 Tiers 148 Tracing 289 Transaktionen 203 U Übersichtspräsentation 105 Übertragbarkeit 61 UML 119 UML Aktivitäten 127 Diagrammarten 121 Interaktionsübersicht 134 Klassen und Objekte 123 Knoten 129 Kommunikationsdiagramm 133 Laufzeitsicht 130 Schnittstellen 124 statische vs. dynamische Modelle 135 Verteilung 128 Zustände 127 V Verschlüsselung 282 Verfahren 283 Verteilung 226 Verteilungssichten 98 UML Vertraulichkeit 280 Vorgehen zur Architekturbewertung 327 W Walkthrough von Szenarien 332 Website, 12 Wegweiser durch das Buch 10 Werkzeug-Material-Metapher 250 Whitebox 90 WMS 272 Workflow-Management 269 Wrapper 221 Z Zerbrechlichkeit 158 Zerlegung Fachdomäne 144 Tipps zur 140 von Systemen 140 Zertifikate

Effektive Software-Architekturen Ein praktischer Leitfaden

Effektive Software-Architekturen Ein praktischer Leitfaden Gernot Starke Effektive Software-Architekturen Ein praktischer Leitfaden ISBN-10: 3-446-41215-8 ISBN-13: 978-3-446-41215-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41215-6

Mehr

Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0. Weitere Informationen oder Bestellungen unter

Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0. Weitere Informationen oder Bestellungen unter Gernot Starke Effektive Softwarearchitekturen Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42728-0 sowie im Buchhandel.

Mehr

Inhaltsverzeichnis. Effektive Softwarearchitekturen (6. Auflage)

Inhaltsverzeichnis. Effektive Softwarearchitekturen (6. Auflage) Inhaltsverzeichnis zu Effektive Softwarearchitekturen (6. Auflage) von Gernot Starke ISBN (Buch): 978-3-446-43614-5 ISBN (E-Book): 978-3-446-43653-4 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43614-5

Mehr

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 sverzeichnis Gernot Starke Effektive Softwarearchitekturen Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42728-0 sowie im

Mehr

Effektive Software- Architekturen

Effektive Software- Architekturen Gemot Starke Effektive Software- Architekturen Ein praktischer Leitfaden 4., aktualisierte und erweiterte Auflage HANSER Inhalt Vorwort Vorwort zur vierten Auflage XIII XIV 1 Einleitung 1 1.1 Software-Architekten

Mehr

Stichwortverzeichnis. Effektive Softwarearchitekturen (6. Auflage)

Stichwortverzeichnis. Effektive Softwarearchitekturen (6. Auflage) Stichwortverzeichnis zu Effektive Softwarearchitekturen (6. Auflage) von Gernot Starke ISBN (Buch): 978-3-446-43614-5 ISBN (E-Book): 978-3-446-43653-4 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43614-5

Mehr

Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlagen von Softwarearchitekturen 11

Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlagen von Softwarearchitekturen 11 D3kjd3Di38lk323nnm xi 1 Einleitung 1 1.1 Softwarearchitektur als Disziplin im Software Engineering........ 2 1.2 isaqb International Software Architecture Qualification Board.......... 4 1.3 Certified

Mehr

Stichwortverzeichnis. Effektive Softwarearchitekturen downloaded from by on July 11, For personal use only.

Stichwortverzeichnis. Effektive Softwarearchitekturen downloaded from  by on July 11, For personal use only. Stichwortverzeichnis A Abhängigkeiten 59 zyklische 70 Ablaufsteuerung 267 Abschnitte, UML 186 Abstraktionen 18, 68 Modellierung 183 ACID 210 Adapter 131 zur Integration 240 Aggregate 86 Agilität 6, 156

Mehr

vii Inhaltsverzeichnis 1 Einleitung 1

vii Inhaltsverzeichnis 1 Einleitung 1 vii 1 Einleitung 1 1.1 Softwarearchitektur als Disziplin im Software Engineering........ 2 1.2 isaqb International Software Architecture Qualification Board.......... 4 1.3 Certified Professional for Software

Mehr

Architekturdokumentation leicht gemacht

Architekturdokumentation leicht gemacht Architekturdokumentation leicht gemacht Andreas Richter ar@anrichter.net @anrichter www.anrichter.net Architekturdokumentation Warum überhaupt Dokumentieren? Das arc42 Template Wie mach ich das nu? Ausblick

Mehr

2 Softwarearchitektur in der Organisationsstruktur 25

2 Softwarearchitektur in der Organisationsstruktur 25 xiii Teil I Grundlagen und Organisation 1 1 Grundlagen 3 1.1 Warum Softwarearchitektur?.............................. 4 1.2 Was ist Softwarearchitektur?.............................. 6 1.2.1 Definition

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel...

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel... Vorwort..................................................... 13 Kapitel 1 Einleitung......................................... 15 1.1 Reisebeschreibung............................ 18 1.2 Zielpublikum.................................

Mehr

Geleitwort zur 1. Auflage. Überblick: Dokumentationsmittel im Buch

Geleitwort zur 1. Auflage. Überblick: Dokumentationsmittel im Buch Inhalt Geleitwort zur 1. Auflage Überblick: Dokumentationsmittel im Buch XI XIII 1 Warum Softwarearchitekturen dokumentieren? 1 1.1 Montagmorgen 1 1.1.1 Fragen über Fragen 1 1.1.2 Wer fragt, bekommt Antworten

Mehr

Softwarearchitekten. Basiswissen für. dpunkt.verlag. Foundation Level

Softwarearchitekten. Basiswissen für. dpunkt.verlag. Foundation Level Mahbouba Gharbi Arne Koschel Andreas Rausch Gernot Starke Basiswissen für Softwarearchitekten Aus- und Weiterbildung nach isaqb-standard zum Certified Professional for Software Architecture - Foundation

Mehr

Ein standardisiertes Aus- und Weiterbildungsschema für Software-Architekten: der isaqb CPSA-F Lehrplan

Ein standardisiertes Aus- und Weiterbildungsschema für Software-Architekten: der isaqb CPSA-F Lehrplan Ein standardisiertes Aus- und Weiterbildungsschema für Software-Architekten: der isaqb CPSA-F Lehrplan ITech Progress GmbH 2012 Wer bin ich? Mahbouba Gharbi Geschäftsführerin der ITech Progress GmbH Trainerin,

Mehr

C) Review, Heuristiken, Metriken, Prototypen. A) Technische Einflussfaktoren. System Requirements Specification. D) Architektur Dokument

C) Review, Heuristiken, Metriken, Prototypen. A) Technische Einflussfaktoren. System Requirements Specification. D) Architektur Dokument A) Technische Einflussfaktoren C) Review, Heuristiken, Metriken, Prototypen System Requirements Specification Architektur erstellen D) Architektur Dokument Architektur prüfen B) Organisatorische Einflussfaktoren

Mehr

Software Engineering. 5. Architektur

Software Engineering. 5. Architektur Software Engineering 5. Architektur Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement

Mehr

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 09. SW-Architektur - Dokumentation Architektur-Review Wir treten einen Schritt zurück und betrachten nochmal das Ganze. Sind wir noch auf dem richtigen

Mehr

Beschreibung und Kommunikation. von Software-Architekturen

Beschreibung und Kommunikation. von Software-Architekturen Beschreibung und Kommunikation von Software-Architekturen ITech Progress GmbH 2013 Über uns Mahbouba Gharbi Geschäftsführerin der ITech Progress GmbH Trainerin, Beraterin und jahrzehntelange Projekterfahrung

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Kapitel 1 Applikations-Architektur VI

Kapitel 1 Applikations-Architektur VI Kapitel 1 Applikations-Architektur VI Software Architecture, Quality & Testing FS 2016 Prof. Dr. Jana Koehler jana.koehler@hslu.ch Agenda Systemstruktur und Architekturentscheidungen müssen dokumentiert

Mehr

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen I " t3ildungsmedien Informatik Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen Hansruedi Tremp und Markus Ruggiero Application

Mehr

Experts in agile software engineering. Software Architektur andrena objects ag

Experts in agile software engineering. Software Architektur andrena objects ag Experts in agile software engineering Software Architektur jan.baumann@andrena.de Experts in agile software engineering 2 Experts in agile software engineering 2 Architektur in der Software Entwicklung

Mehr

Arc42 Strukturierungshilfe für Architekturdokumentation

Arc42 Strukturierungshilfe für Architekturdokumentation Arc42 Strukturierungshilfe für Architekturdokumentation Arc42 als Strukturierungshilfe für die Architekturdokumentation Dr. Jürgen Meister OpenKONSEQUENZ Architecture&Quality Committees Workshop 20. 21.4.2016

Mehr

Integration im Enterprise Umfeld

Integration im Enterprise Umfeld Integration im Enterprise Umfeld Sven Tissot pdv Technische Automation + Systeme GmbH Hamburg DOAG 2007 pdv Technische Automation + Systeme GmbH, 2007 1 Eckdaten Individual-Software Client/Server- und

Mehr

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse. dpunkt.verlag

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse. dpunkt.verlag Nicolai Josuttis SOA in der Praxis System-Design für verteilte Geschäftsprozesse dpunkt.verlag Vorwort ix 1 Motivation 1 1.1 Kennzeichen großer Systeme 3 1.2 Das Märchen vom»magischen Bus«5 1.3 Was man

Mehr

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

systems landscape engineering - übung -

systems landscape engineering - übung - systems landscape engineering - übung - Wintersemester 2010 /2011 Arbeitsgruppe Wirtschaftsinformatik - Managementinformationssysteme - Dipl. Wirt.-Inform. Sven Gerber Arbeitsgruppe Wirtschaftsinformatik

Mehr

Ziele und Tätigkeiten von Architekten

Ziele und Tätigkeiten von Architekten Ziele und Tätigkeiten von Architekten Definition Software Architektur o A software architecture provides a model of a whole software system that is composed of internal behavioral units (i.e. components)

Mehr

Inhaltsverzeichnis.

Inhaltsverzeichnis. Wegweiser durch das Buch 1 1 Problembereich und Lösungsbereich 10 1.1.Unterschiede zwischen Problembereich und Lösungsbereich 10 1.2 Paradigmen der Softwareentwicklung 12 1.3 Methoden für die verschiedenen

Mehr

Lehrplan: Architektur und Design. paluno

Lehrplan: Architektur und Design. paluno Lehrplan: Architektur und Design Gliederung 1 Grundlagen der industriellen So9ware Entwicklung 2 Ebenen von Architektur und Design 3 KernakAvitäten von So9ware- Architekten 4 Architekturtypologien von

Mehr

ARCHITEKTUR KATA als Trainingsform für agile Teams

ARCHITEKTUR KATA als Trainingsform für agile Teams 02.12.2014 ARCHITEKTUR KATA als Trainingsform für agile Teams Roland Mast Sybit GmbH Software Architekt Scrum Master roland.mast@sybit.de 1 02.12.2014 Ich Du Wir Ihr Architektur Kata Architektur Vision

Mehr

22. Januar Gruppe 2: TOPCASED

22. Januar Gruppe 2: TOPCASED 22. Januar 2008 Aufgabenstellung Modellgetriebene Softwareentwicklung auf Basis von am Beispiel eines Seminarverwaltungssystems Ziel Entwicklungsprozess Anforderungen & Codegenerierung Modellierung & Templates

Mehr

Systema rch itektu ren für Verteilte Anwendungen

Systema rch itektu ren für Verteilte Anwendungen Jürgen Dunkel Andreas Eberhart Stefan Fischer Carsten Kleiner Arne Koschel Systema rch itektu ren für Verteilte Anwendungen Client-Serwer Multi-Tier SÖÄ Ewent-Driwen Architectures P2P HANSER Inhaltsverzeichnis

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Agile Architektur. Version: 1.1. Orientation in Objects GmbH. Weinheimer Str Mannheim.

Agile Architektur. Version: 1.1. Orientation in Objects GmbH. Weinheimer Str Mannheim. Agile Architektur Version: 1.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihre Sprecher Thorsten Maier, Falk Sippach Trainer, Berater, Entwickler @ThorstenMaier

Mehr

Analyse und Entwurf von Softwaresystemen mit der UML

Analyse und Entwurf von Softwaresystemen mit der UML Analyse und Entwurf von Softwaresystemen mit der UML Bearbeitet von Horst A. Neumann 2. Auflage 2002. Buch. XVI, 480 S. Hardcover ISBN 978 3 446 22038 6 Format (B x L): 17,7 x 24,5 cm Gewicht: 1049 g Zu

Mehr

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

Kommunikation in verteilten Anwendungen

Kommunikation in verteilten Anwendungen Kommunikation in verteilten Anwendungen Einführung in Sockets, Java RMI,CORBA und Jini von Prof. Dr. Oliver Haase 2., überarbeitete und erweiterte Auflage Oldenbourg Verlag München 1 Einführung in das

Mehr

Entwurfsprinzip. Entwurfsprinzip

Entwurfsprinzip. Entwurfsprinzip Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit

Mehr

Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar

Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Zweck des Entwurfs Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Überspitztes Beispiel: Wenn eine Klas mit einer Methode, die 10.000 Zeilen lang ist, die geforderte

Mehr

Inhaltsverzeichnis. Business Analysis und Requirements Engineering

Inhaltsverzeichnis. Business Analysis und Requirements Engineering sverzeichnis zu Business Analysis und Requirements Engineering von Peter Hruschka ISBN (Buch): 978-3-446-43807-1 ISBN (E-Book): 978-3-446-43862-0 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43807-1

Mehr

Matthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing

Matthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing Matthias Geirhos Entwurfsmuster Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 17 1 Einführung 19 1.1 Einleitung und allgemeine Hinweise 19 1.1.1 Für wen ist dieses Buch gedacht? 19 1.1.2 Muster

Mehr

Software Engineering

Software Engineering Software Engineering Gustav Pomberger, Wolfgang Pree Architektur-Design und Prozessorientierung ISBN 3-446-22429-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22429-7 sowie

Mehr

PHP OOP, Design Patterns und UML. Marco Skulschus

PHP OOP, Design Patterns und UML. Marco Skulschus PHP OOP, Design Patterns und UML Marco Skulschus Page ta Controller Transfer bject Two-Step-View Row Transaction Script Data Mapper Data Gateway Application Controller Table Module Transform View Front

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

Bsp CRM: Der Nutzer muss am System alle Kunden erkennen können, die besonderes wahrscheinlich ein Produkt kaufen werden.

Bsp CRM: Der Nutzer muss am System alle Kunden erkennen können, die besonderes wahrscheinlich ein Produkt kaufen werden. Stakeholder Anforderungen Nutzungsanforderungen Bsp CRM: Der Nutzer muss am System alle Kunden erkennen können, die besonderes wahrscheinlich ein Produkt kaufen werden. Das System muss alle Kunden, die...,

Mehr

EJB City GmbH ist Ihr Partner dafür!

EJB City GmbH ist Ihr Partner dafür! Der zukünftige Erfolg vieler Unternehmen hängt im Wesentlichen von der Innovationsfähigkeit sowie von der Differenzierung ab. Zusätzlich, viele Unternehmen fordern heute einen IT- Partner, mit dem sie

Mehr

Agile Architektur. Abstract. Version: 1.0. Orientation in Objects GmbH. Weinheimer Str Mannheim.

Agile Architektur. Abstract. Version: 1.0. Orientation in Objects GmbH. Weinheimer Str Mannheim. Agile Architektur Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Abstract Eine gut geplante Softwarearchitektur stellt das Grundgerüst jeder wartbaren

Mehr

Curriculum für. CPSA Certified Professional for Software Architecture. - Foundation Level -

Curriculum für. CPSA Certified Professional for Software Architecture. - Foundation Level - Curriculum für CPSA Certified Professional for Software Architecture - Foundation Level - Version 4. 2 ( Juli 2017) (Copyright), International Software Architecture Qualification Board e. V. (isaqb e.

Mehr

Certified Professional for Software Architecture

Certified Professional for Software Architecture Curriculum: Certified Professional for Software Architecture (CPSA) Foundation Level Version 4. 2 ( Juli 2017) (Copyright), International Software Architecture Qualification Board e. V. (isaqb e. V.) 2009

Mehr

Certified Professional for Software Architecture

Certified Professional for Software Architecture Curriculum: Certified Professional for Software Architecture (CPSA) Foundation Level Version 4. 1.1 ( Januar 2017) (Copyright), International Software Architecture Qualification Board e. V. (isaqb e. V.)

Mehr

Geschäftsprozessmodellierung mittels Software- Services auf Basis der EPK

Geschäftsprozessmodellierung mittels Software- Services auf Basis der EPK Geschäftsprozessmodellierung mittels Software- Services auf Basis der EPK Stefan Huth und Thomas Wieland Hochschule Coburg 12. Oktober 2007 Agenda Notationen zur Geschäftsprozessmodellierung Services in

Mehr

Modularitätsbetrachtung von Webanwendungen im Rahmen des Plat_Forms Wettbewerbs

Modularitätsbetrachtung von Webanwendungen im Rahmen des Plat_Forms Wettbewerbs Andreas Franz Arbeitsgruppe Software Engineering, Institut für Informatik der Freien Universität Berlin Modularitätsbetrachtung von Webanwendungen im Rahmen des Plat_Forms Wettbewerbs Abschlussvortrag

Mehr

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP 3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg ARIS meets RUP Der ARIS Unified Information System Development Process Martin Plümicke Berufsakademie

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Analyse und Design mituml2

Analyse und Design mituml2 Analyse und Design mituml2 Objektorientierte Softwareentwicklung von Bernd Oestereich 7, aktualisierte Auflage Oldenbourg Verlag München Wien Ш1!Н1Н1КД nhjektorientierte Softwareentwicklung - Analyse und

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

Mehr

Das Berufsbild "Softwarearchitekt" und das Zertifizierungsprogramm des isaqb. Klaus Moser 30. März 2016

Das Berufsbild Softwarearchitekt und das Zertifizierungsprogramm des isaqb. Klaus Moser 30. März 2016 Das Berufsbild "Softwarearchitekt" und das Zertifizierungsprogramm des isaqb Klaus Moser 30. März 2016 Agenda 1 2 3 Intro & Zertifizierung Pause Der Softwarearchitekt Offener Abschluss 1. Vorstellung ca.

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft

Mehr

EFFEKTIVE SOFTWARE- ARCHITEKTUREN

EFFEKTIVE SOFTWARE- ARCHITEKTUREN gernot STARKE EFFEKTIVE SOFTWARE- ARCHITEKTUREN 5. Auflage EIN PRAKTISCHER LEITFADEN EXTRA: Mit kostenlosem E-Book Im Internet: Hintergrundinformationen, Ergänzungen, Beispiele, Checklisten Ideal für die

Mehr

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen 1 / 30 Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen Zwischenvortrag zur Diplomarbeit Steffen Conrad (235183) Research Group Software Construction RWTH Aachen

Mehr

Stefan Zörner, oose Innovative Informatik GmbH

Stefan Zörner, oose Innovative Informatik GmbH Historisch gewachsen? Architekturdokumentation: Warum sie wichtig ist. Und wie man sie macht. Stefan Zörner, oose GmbH Stefan.Zoerner@de Nordic Coding Kiel, den 7. Dezember 2012 Stefan Zörner :: sz@de

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario

Mehr

Übung Einführung in die Softwaretechnik

Übung Einführung in die Softwaretechnik Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar

Mehr

Tutorium Softwaretechnik I

Tutorium Softwaretechnik I Tutorium Softwaretechnik I Moritz Klammler 27. Juni 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 27. Juni 2017 Moritz Klammler - Tutorium Softwaretechnik

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs... Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung

Mehr

Methoden und Architekturen der Softwaretechnik

Methoden und Architekturen der Softwaretechnik Joachim Goll Methoden und Architekturen der Softwaretechnik STUDIUM VIEWEG+ TEUBNER Inhaltsverzeichnis Vorwort 7 Wegweiser durch das Buch 11 Inhaltsverzeichnis 17 Begriffsverzeichnis 23 Abkürzungsverzeichnis

Mehr

10 Bewertung von Software- Architekturen

10 Bewertung von Software- Architekturen 10 10 Bewertung von Software- Architekturen To measure is to know. James Clerk Maxwell 1 Fragen, die dieses Kapitel beantwortet: Was können Sie in der IT überhaupt bewerten? Warum sollten Sie Architekturen

Mehr

Die Foundation-Phase Kombination von RE-Techniken zum Projektstart. Martin Kleckers, Agile Coach Berlin, 26. SEPTEMBER 2018

Die Foundation-Phase Kombination von RE-Techniken zum Projektstart. Martin Kleckers, Agile Coach Berlin, 26. SEPTEMBER 2018 Die Foundation-Phase Kombination von RE-Techniken zum Projektstart Martin Kleckers, Agile Coach Berlin, 26. SEPTEMBER 2018 440 m Umsatz in 2017 + 2.500 Glückliche Kunden 1992 Gegründetes Familienunternehmen

Mehr

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff Design Patterns II Der Design Muster Katalog Prof. Dr. Nikolaus Wulff Wiederverwendung Wiederverwendung ist das Schlagwort von OOP zur Erhöhung der Produktivität. Es gibt im Prinzip drei Methoden hierzu:

Mehr

Das Entwicklungsteam im agilen Prozess. Aufgaben der Software Architektur. Best Practices & Scrum Integration. Zusammenfassung & Ausblick

Das Entwicklungsteam im agilen Prozess. Aufgaben der Software Architektur. Best Practices & Scrum Integration. Zusammenfassung & Ausblick Das Entwicklungsteam im agilen Prozess Aufgaben der Software Architektur Best Practices & Scrum Integration Zusammenfassung & Ausblick Das Entwicklungsteam im agilen Prozess Die besten Architekturen, Anforderungen

Mehr

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis Einfach generieren Susanne Klar, Michael Klar Generative Programmierung verständlich und praxisnah ISBN 3-446-40448-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40448-1

Mehr

Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen

Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software

Mehr

Software-Engineering

Software-Engineering SWE2 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien SWE2 Slide 2 Grundbegriffe der Software-Entwicklung: Systeme System Ausschnitt aus der realen oder

Mehr

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

Model Driven Architecture

Model Driven Architecture Roland Petrasch Oliver Meimberg Model Driven Architecture Eine praxisorientierte Einführung in die MDA Mit Gastbeiträgen von Florian Fieber und Karsten Thoms dpunkt.verlag Inhaltsverzeichnis Vorwort 1

Mehr

Von UML 1.x nach UML 2.0

Von UML 1.x nach UML 2.0 Zürich Soft Summer 2005 Fortgeschrittene Aspekte der Software Technologie Von UML 1.x nach UML 2.0 Prof. Dr. Martin Glinz www.ifi.unizh.ch/req Ergänzendes Material zur Vorlesung Spezifikation und Entwurf

Mehr

Logo in neuer Logosystematik einfügen: Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von

Logo in neuer Logosystematik einfügen: Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von Software Engineering Grundsätzen und Identifikation von Maßnahmen zur Verbesserung Axel Sommer Inhalt Motivation und Ziele Software

Mehr

Fertigstellungsgrad der Architekturdokumentation Analyse des Dokumentationsbedarfs und Priorisierung der Arbeiten

Fertigstellungsgrad der Architekturdokumentation Analyse des Dokumentationsbedarfs und Priorisierung der Arbeiten Fertigstellungsgrad der Architekturdokumentation Analyse des Dokumentationsbedarfs und Priorisierung der Arbeiten Fertigstellungsgrad der Architekturdokumentation ok Dr. Jürgen Meister OpenKONSEQUENZ Architecture&Quality

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr

Moderne Softwarearchitektur

Moderne Softwarearchitektur Johannes Siedersieben Moderne Softwarearchitektur Umsichtig planen, robust bauen mit Quasar dpunkt.verlag 1 Softwarearchitektur als Herausforderung 1 1.1 Was ist Softwarearchitektur? 3 1.2 Quasar: Qualitätssoftwarearchitektur

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

Effektive Architekturdokumentation mit arc42

Effektive Architekturdokumentation mit arc42 01 Whitepaper: Technologie > Architekturdokumentation Cofinpro die Experten für Kredit und Wertpapier Effektive Architekturdokumentation mit arc42 Inhalt 1 Software-Architektur mit arc42 2 2 arc42 2 3

Mehr

2.1 Ist-Anwendungslandschaften... 65 2.2 Programme zur Gestaltung von Anwendungslandschaften

2.1 Ist-Anwendungslandschaften... 65 2.2 Programme zur Gestaltung von Anwendungslandschaften xiii Teil I Ein typisches Projekt 1 1 Mit Christoph Kolumbus reisen 3 1.1 Prolog........................................... 3 1.2 Episode 1 Zuhören............................... 4 1.3 Episode 2 Orientierung

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

MDSD Einführung und Überblick

MDSD Einführung und Überblick Model Driven Software Development MDSD Einführung und Überblick Referent: Carsten Schädel Seite 2 / 33 Ziele Grundgedanke Glossar der wichtigsten Begriffe Seite 3 / 33 Glossar Seite 4 / 33 mögliche Definitionen:

Mehr

Pendenzen Management

Pendenzen Management , Stoeckackerstrasse 30, CH-4142 Muenchenstein Ph:++41 (0) 61 413 15 00, Fax:++41 (0) 61 413 15 01 http://www.e-serve.ch, email:crm@e-serve.ch e-serve PendenzenManagement Version 7.1: e-serve UPSM Pendenzen

Mehr

Stefan Zörner. Softwarearchitekturen dokumentieren und kommunizieren

Stefan Zörner. Softwarearchitekturen dokumentieren und kommunizieren Stefan Zörner Softwarearchitekturen dokumentieren und kommunizieren Entwürfe, Entscheidungen und Lösungen nachvollziehbar und wirkungsvoll festhalten Geleitwort von Gernot Starke ISBN: 978-3-446-42924-6

Mehr

Technische Schulden in Architekturen erkennen und beseitigen

Technische Schulden in Architekturen erkennen und beseitigen Technische Schulden in Architekturen erkennen und beseitigen Dr. Carola Lilienthal Carola.Lilienthal@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Business-Software, die

Mehr

Kapitel 1 Applikations-Architektur VIIII

Kapitel 1 Applikations-Architektur VIIII 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

Mehr

EFFEKTIVE SOFTWARE ARCHITEKTUREN

EFFEKTIVE SOFTWARE ARCHITEKTUREN gernot STARKE EFFEKTIVE SOFTWARE ARCHITEKTUREN EIN PRAKTISCHER LEITFADEN 4. Auflage Starke Effektive Software-Architekturen vbleiben Sie einfach auf dem Laufenden: www.hanser.de/newsletter Sofort anmelden

Mehr

Umsichtig planen, robust bauen

Umsichtig planen, robust bauen Umsichtig planen, robust bauen iks Thementag Mehr Softwarequalität Best practices für alle Entwicklungsphasen 19.06.2012 Autor: Christoph Schmidt-Casdorff Agenda Softwarearchitektur Architekturkonformität

Mehr

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis Philipp Tendyra Web Service in kurzen Worten dient der Kommunikation zwischen verschiedenen Systemen

Mehr