Analyse und Design mit U ML 2.3

Ähnliche Dokumente
Objektorientierte Geschäftsprozessmodellierung mit der UML

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Methodische objektorientierte Softwareentwicklung

UML mit Enterprise Architect

Gliederung des Vortrages

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Software Engineering in der Praxis

Software Engineering in der Praxis

Softwaretechnik Unified Modeling Language (UML)

Analyse und Modellierung von Informationssystemen

Klassendiagramm. (class diagram)

Unified Modeling Language (UML)

Software-Engineering

Softwaretechnik SS 2006

Vorlesung "Software-Engineering"

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

4. Übung zu Software Engineering

Programmieren in Java

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar Grundlagen. Neubearbeitung 2010

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

oose. Dinner for two: Rezept für eine gelungene Anforderungsspezifikation mit BPMN und UML Rezept für eine Anforderungsspezifikation mit BPMN und UML

J.2 Objektorientiertes Modellieren mit UML

Unternehmensmodellierung

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

1 Überblick 1. 4 Literatur 21

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen

Grundbegriffe der Objektorientierung

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

7. Analyse-Phase: Datenmodellierung Software Engineering

Requirements Engineering I

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

PRÜFUNG. Grundlagen der Softwaretechnik

Modellierung von Web Anwendungen mit UML

Softwarepraktikum: Enigma

Workflows: Anforderungserhebung und analyse

Informationsmanagement in Organisationen Überblick

Vorlesung Software-Engineering I

Einführung in die Unified Modeling Language (UML)

Modellierung von Verhalten OOPM, Ralf Lämmel

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Glossar über alle Themengebiete

3. Tutorium zu Softwaretechnik I

Softwaretechnik. Fomuso Ekellem

PRÜFUNG. Grundlagen der Softwaretechnik

Software Engineering Analyse und Analysemuster

Grundlagen der Softwaretechnik

Übersicht der UML Diagramme

Klausurvorbereitung Software Engineering TFH Berlin

Software-Entwicklung: Konzepte der Objektorientierung

Ministerium für Kultus, Jugend und Sport Baden-Württemberg

Inhalte der Veranstaltung

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim

PRÜFUNG. Grundlagen der Softwaretechnik

UML 2: AKTIVITÄTEN UND AKTIONEN

Software Engineering und Projektmanagement

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Das UML Benutzerhandbuch

Geschäftsabläufe und Beziehungen zwischen. (Mitarbeitende / Geschäftsobjekte)

SysML Die Zukunft des Systems Engineering?

Techniken der Projektentwicklung

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation.

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Software Engineering. Prof. Dr. Stefan Enderle NTA Isny

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Software-Architektur-Modellierung mit UML

<thema> Projektdokumentation zum Softwareentwicklungsprojekt. 25. April Entwickler: <autor1>, <autor2>, <autor3> Auftraggeber: <auftraggeber>

UML 2.0 Quelltextgenerierung

2. Tutorium zu Softwaretechnik I

Software Engineering in der Praxis Praktische Übungen

Labor Modellgestütztes Software Engineering. Versuch 1

Softwareentwicklung mit UML

RUP Analyse und Design: Überblick

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

24 Transformation der Anforderungsspezifikation

1.4 Attribute die objektorientierten Datenfelder

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Algorithmen und Datenstrukturen 07

Analyse und Entwurf objektorientierter Systeme

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

Klausurvorbereitung Software Engineering TFH Berlin

UML Notation für objektorientierte Systeme

UML - Tutorial. Hubert Baumgartner.

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

Softwaretechnik für den Entwurf

Objektorientierte Analyse

Protocol Engineering

SWE5 Übungen zu Software-Engineering

Softwaretechnik. Fomuso Ekellem WS 2011/12

Objektorientierte Analyse

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

12. Vorgehensmodelle Softwaretechnik (CNAM)

Klausurvorbereitung Software Engineering TFH Berlin

UML-Glossar 1. UML-Glossar

Softwaretechnik. Fomuso Ekellem WS 2011/12

MODELL - BASIERTE SYSTEM- ENTWICKLUNG MIT

Objektorientierte Softwareentwicklung

Erfahrungsbericht: Einsatz objektorientierter Methoden in Flugkörper-Software

Transkript:

Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München

Inhaltsverzeichnis Objektorientierte Softwareentwicklung - Analyse und Design mit der UML _ / ~ Inhaltsverzeichnis 1 Einführung...13 1.1 Objektorientierte Softwareentwicklung 15 1.2 Die Historie 17 1.3 Notationen, Methoden, Vorgehensmodelle und Co 19 1.4 Die Unified Modeling Language 21 1.5 Ganzheitliche Herangehensweise 24 1.6 Weiterführende Literatur 26 2 Grjundkojr^... 31 2.1 Grundidee der Objektorientierung 33 2.2 Klassen, Objekte, Instanzen, Exemplare & Co 34 2.3 Attribute, Operationen, Zusicherungen, Beziehungen 36 2.4 Objektidentität 38 2.5 Verantwortlichkeiten 39 2.6 Demeter Gesetz 41 2.7 Taxonomie und Vererbung 44 2.7.1 Strukturierung von Eigenschaften 46 2.7.2 Vererbung: Restriktionen und Probleme 50 2.8 Abstrakte Klassen 53 2.9 Assoziationen 54 2.10 Aggregationen 55 2.11 Nachrichtenaustausch 58 2.12 Sammlungen (Collections) 62 2.13 Polymorphie 64 2.14 Persistenz 67 2.15 Klassifizierung von Klassen 70 2.15.1 Entitätsklasse «entity» 71 2.15.2 Steuerungsklasse «control» v 72 2.15.3 Schnittstellenklasse «interface» 73 2.15.4 Schnittstellenobjekt «boundary» 73 2.15.5 Typ «type» 74 2.15.6 Primitive Klasse «primitive» 75

10 Objektorientierte Softwareentwicklung - Analyse und Design mit der UML 2.15.7 Datentyp, Datenstruktur «datatype» 75 2.15.8 Aufzählung «enumeration»,< : 76 2.15.9 Konfigurationswert «configvalues» (. 77 2.16 Entwurfsmuster 78 2.17 Komponenten 81 2.18 Serviceorientierte Architekturen 84 2.19 Weiterführende Literatur 86 3.1 Analyse 89 3.1.1 Systemidee und Zielsetzung entwickeln 91 3.1.2 Interessenhalter identifizieren,,_ 96 3.1.3 Interessen der Interessenhalter identifizieren 102 3.1.4 Systemkontext aufnehmen 104 3.1.5 Geschäftsanwendungsfälle identifizieren 106 3.1.6 Anwendungsfälle essenziell beschreiben 112 3.1.7 Materialsammlung und -Studie 120 3.1.8 Systemanwendungsfälle identifizieren 122 3.1.9 Fachklassen, Aufzählungen und Konfigurationswerte identifizieren 130 3.1.10 Fachliches Glossar anlegen 134 3.1.11 Systemablaufmodelle entwickeln 142 3.1.12 Systemanwendungsfallmodell erstellen 153 3.1.13 Übrige fachliche Anforderungen und Regeln beschreiben 158 3.1.14 Systemschnittstelle beschreiben 163 3.1.15 Exploratives Schnittstellen-Prototyping 167 3.2 Design 171 3.2.1 Von der Analyse zum Design 173 3.2.2 Schichtenmodell definieren 175 3.2.3 Verteilungsmodell definieren 180 3.2.4 Fachliches Subsystemmodell definieren 181 3.2.5 Ablaufverantwortlichkeiten festlegen 185 3.2.6 Komponentenspezifische Klassenmodelle entwickeln 187 3.2.7 Komponentenschnittstellen entwerfen 190 3.2.8 Zustandsmodelle (weiter-) entwickeln 193 3.2.9 Objektfluss modellieren 195 3.2.10 Interaktionsmodelle entwickeln 198 3.2.11 Attribute definieren 201, 3.2.12 Dialoge spezifizieren 205 3.2.13 Design-Diskurs 208 3.2.14 Testgetriebene Entwicklung ". 219 3.2.15 Ablauforientierte Komponententests entwickeln 228 3.2.16 Klassentests entwickeln 232 3.2.17 Testmethoden '. 235.87

Inhaltsverzeichnis Objektorientierte Softwareentwicklurjg - Analyse und Design mit der UML 11 4 UML-Grun^gejv^.^ ^L.^,^^ 4.1 Einleitung 241 4.1.1 Diagramme im Überblick 243 4.2 Anwendungsfälle und Anforderungen 244 4.2.1 Anwendungsfalldiagramm 245 4.2.2 Systemkontextdiagramm 247 4.2.3 Realisierung von Anwendungsfällen 248 4.2.4 Spezialisierung von Anwendungsfällen 248 4.2.5 Enthältbeziehung, Erweiterungsbeziehung 250 4.2.6 Assoziation in Anwendungsfalldiagrammen 251 4.2.7 Anwendungsfall 252 4.2.8 Geschäftsanwendungsfall 258 4.2.9 Systemanwendungsfall 260 4.2.10 Sekundärer Anwendungsfall 261 4.2.11 Abstrakter Anwendungsfall 262 4.2.12 Anforderung, Feature & Co 264 4.2.13 Akteur 269 4.2.14 Anwendungsfallszenario 271 4.3 Klassendiagramm, Strukturelemente 273 4.3.1 Klasse 274 4.3.2 Parametrisierbare Klasse 276 4.3.3 Abstrakte Klasse 278 4.3.4 Aktive Klasse 279 4.3.5 Objekt 280 4.3.6 Attribut 281 4.3.7 Operation 285 4.3.8 Verantwortlichkeit 287 4.3.9 Enumeration ; 288 4.3.10 Schnittstellen 289 4.3.11 Eigenschaftswert 293 4.3.12 Stereotyp 294 4.3.13 Notiz 297 4.4 Beziehungselemente 298 4.4.1 Generalisierung, Spezialisierung 299 4.4.2 Assoziation 303 4.4.3 Gerichtete Assoziation 306 4.4.4 Attributierte Assoziation 308 4.4.5 Qualifizierte Assoziation 311 / 4.4.6 Mehrgliedrige Assoziation 313 4.4.7 Aggregation 314 4.4/3 Komposition -. 316 4.4.9 Abhängigkeitsbeziehung 318 4.5 Weitere Strukturdiagramme 322 4.5.1 Objektdiagramm 322

12 Objektorientierte Softwareentwicklung - Analyse und Design mit der^uml 4.5.2 Komponentendiagramm 323 4.5.3 Subsystemdiagramm 325 4.5.4 Paketdiagramm 326 4.5.5 Kompositionstrukturdiagramm : 330 4.5.6 Einsatz- und Verteilungsdiagramm 332 4.5.7 Profildiagramm 333 4.6 Aktivitätsdiagramm 335 4.6.1 Kontrollknoten 340 4.6.2 Objektknoten, Objektfluss und Parameter 342 4.6.3 Partitionen (Verantwortlichkeitsbereiche) 345 4.6.4 Signale und unterbrechbare Bereiche 347 4.6.5 Mengenverarbeitungsbereiche : 348 4.7 Zustandsdiagramm 350 4.7.1 Zustand 351 4.7.2 Ereignis und Zustandsübergang 353 4.7.3 Unterzustand 355 4.7.4 Protokollautomat 356 4.8 Interaktionsdiagramme 357 4.8.1 Kommunikationsdiagramm...357 4.8.2 Sequenzdiagramm 361 4.8.3 Interaktionsübersicht 365 4.8.4 Zeitdiagramm 367 4.9 Zusicherungen 369 4.9.1 Object Constraint Language (OCL) 370 4.9.2 Beispiele 371 4.9.3 Vordefinierte OCL-Basistypen und -Operationen 376 5 Anhang.'..'...,..,...~..^..~..._...381 5.1 Glossar 382 5.2 Übersetzungen 396 5.3 Literatur 399 5.4 Index 405