UML 2 glasklar - Praxiswissen für die UML-Modellierung

Chris Rupp, Stefan Queins, die SOPHISTen

UML 2 glasklar

Praxiswissen für die UML-Modellierung

2012

596 Seiten

Format: PDF, Online Lesen

E-Book: €  27,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446431973

 

Inhalt

6

Vorwort

14

Einleitung

16

Liebe Leserin, lieber Leser,

16

Wer dieses Buch aus welchem Grund lesen sollte

18

Ihre Meinung ist uns sehr wichtig

19

Danksagungen

19

Die Autoren

20

Teil I: Einführung

22

1 UML?2 – Rückblick, Nabelschau und Ausblick

24

1.1? Was ist die UML ...

25

1.2? ... und was will sie nicht sein?

25

1.3? Entwicklungsgeschichtliches zur UML

26

1.4? Diagrammsprachen der UML?2

28

2 Vorgehensempfehlungen

30

2.1? Wissen explizieren

31

2.2? Vorgehenstipps aus der UML-Praxis

31

3 Grundkonzepte und -elemente der UML

34

3.1? Grundkonzepte der UML

35

3.1.1? Repräsentation von UML-Elementen

35

3.1.2? Diagramm, Diagrammtyp & Sicht

36

3.2? Grundelemente der UML

42

3.2.1? Modell

42

3.2.2? Kommentar

43

3.2.3? Ausdruck

44

3.2.4? Randbedingung

45

3.2.5? Classifier

46

3.2.6? Datentyp

47

3.2.7? Primitiver Typ

49

3.2.8? Aufzählungstyp

50

3.2.9? Literal

51

3.2.10? UML-Schlüsselwörter

52

3.3? Strukturierung der Sprache UML?2

53

3.3.1? Einteilung in Language Units

53

3.3.2? Einteilung in Compliance Levels

53

3.4? Freiheitsgrade in der UML

55

3.4.1? Semantic Variation Points

55

3.4.2? Presentation Options

55

3.5? Die 4-Schichten-Architektur

56

3.5.1? M 0 – Die Laufzeitschicht

56

3.5.2? M 1 – Die Modellschicht

56

3.5.3? M 2 – Die Metamodellschicht

58

3.5.4? M 3 – Die Meta-Metamodellschicht

58

4 Analyse mit der UML

60

4.1? Einführung

61

4.1.1? Notwendige Festlegungen

61

4.1.2? Das Beispiel Zugtürsystem

63

4.2? Aufgaben der Analyse

65

4.3? Definieren der Systemgrenzen

66

4.4? Beschreiben der Funktionalitäten

68

4.4.1? Use-Cases identifizieren

68

4.4.2? Use-Cases verfeinern

69

4.5? Zustandsautomaten in der Analyse

75

4.6? Das Begriffsmodell

76

4.7? Verbindung zu natürlich-sprachlichen Anforderungen

77

4.8? Ausgewählte Modellierungsszenarien

79

4.8.1? Aufgaben von Systemschnittstellen

81

4.8.2? Modellierung der Use-Case-Auslöser

84

4.8.3? Modellierung von Interaktionen in Dialogen

86

4.8.4? Modellierung einer SOA

89

4.8.5? Weitere Tipps zur Modellierung von Anforderungen

93

5 Die UML in der Realisierung

98

5.1? Systemarchitektur

99

5.1.1? Aufgaben

99

5.1.2? Zerlegen des Systems

100

5.1.3? Verteilen der Verantwortlichkeiten

102

5.1.4? Beschreiben der Schnittstellen

103

5.1.5? Weitere Aspekte der Systemarchitektur

106

5.2? Softwareanalyse

110

5.2.1? Aufgaben

110

5.2.2? Beschreibung der Funktionalitäten

112

5.2.3? Detaillierte Modellierung des Verhaltens

113

5.2.4? Weitere Aspekte im Vergleich zur Systemanalyse

113

5.3? Softwarearchitektur

114

5.3.1? Aufgaben

114

5.3.2? Die Dekompositionssicht

114

5.3.3? Die Kompositionssicht

118

5.3.4? Weitere Aspekte der Softwarearchitektur

119

5.4? Feindesign

120

5.4.1? Aufgaben

120

5.4.2? Feindesign für eine objektorientierte Implementierung

120

5.4.3? Feindesign für eine nicht objektorientierte Implementierung

123

Teil II: Strukturdiagramme

126

6 Klassendiagramm

128

6.1? Überblick

129

6.1.1? Modellieren von Klassen

129

6.1.2? Grundgedanke der Klassenmodellierung

130

6.1.3? Klassen und Objekte

131

6.1.4? Klassen und Attribute

131

6.1.5? Woher kommen Klassen?

132

6.2? Anwendungsbeispiel

133

6.3? Anwendung im Projekt

134

6.3.1? Konzeptuell-analytische Modellierung

134

6.3.2? Logische, designorientierte Modellierung

135

6.4? Notationselemente

136

6.4.1? Klasse

136

6.4.2? Attribut

139

6.4.3? Operation

144

6.4.4? Schnittstelle

150

6.4.5? Parametrisierte Klasse

153

6.4.6? Generalisierung

156

6.4.7? Generalisierungsmenge

161

6.4.8? Assoziation

163

6.4.9? Assoziationsklasse

178

6.4.10? Abhängigkeitsbeziehung

180

6.4.11? Verwendungsbeziehung

182

6.4.12? Abstraktionsbeziehung

183

6.4.13? Realisierungsbeziehung

185

6.4.14? Substitutionsbeziehung

186

6.4.15? Informationsfluss

187

6.4.16? Informationseinheit

188

7 Paketdiagramm

192

7.1? Überblick

193

7.2? Anwendungsbeispiel

193

7.3? Anwendung im Projekt

194

7.3.1? Funktionale Gliederung

194

7.3.2? Definition von Schichten

195

7.4? Notationselemente

196

7.4.1? Paket

196

7.4.2? Paket-Import / Element-Import

197

7.4.3? Paket-Merge

200

8 Objektdiagramm

204

8.1? Überblick

205

8.1.1? Die Inhalte eines Objektdiagramms

205

8.1.2? Die Modellierung von Objektdiagrammen

206

8.1.3? Vergleich: Klassen- und Objektdiagramm

207

8.2? Anwendungsbeispiel

208

8.3? Anwendung im Projekt

208

8.4? Notationselemente

209

8.4.1? Instanzbeschreibung / Objekt

209

8.4.2? Werteangaben / Slots

211

8.4.3? Link

212

9 Kompositionsstrukturdiagramm

214

9.1? Überblick

215

9.1.1? Motivation und Hinführung

217

9.1.2? Modellieren von Kollaborationen

222

9.1.3? Kapselung durch Ports

223

9.2? Anwendungsbeispiel

224

9.3? Anwendung im Projekt

224

9.3.1? Darstellung einer Architektur

224

9.3.2? Struktur einer Use-Case-Realisierung

225

9.3.3? Kennzeichnung und Visualisierung von Design-Pattern

226

9.4? Notationselemente

229

9.4.1? Part

229

9.4.2? Konnektor

230

9.4.3? Port

232

9.4.4? Kollaboration

233

9.4.5? Kollaborationsanwendung

235

10 Komponentendiagramm

236

10.1? Überblick

237

10.2? Anwendungsbeispiel

238

10.3? Anwendung im Projekt

239

10.4? Notationselemente

241

10.4.1? Komponente

241

10.4.2? Artefakt

244

11 Verteilungsdiagramm

248

11.1? Überblick

249

11.2? Anwendungsbeispiel

250

11.3? Anwendung im Projekt

250

11.3.1? Abgrenzung des Systemkontexts

251

11.3.2? Dokumentation von Hardwarevorgaben

252

11.4? Notationselemente

252

11.4.1? Knoten

252

11.4.2? Kommunikationspfad

254

11.4.3? Verteilungsbeziehung

255

11.4.4? Einsatzspezifikation

257

Teil III: Verhaltensmodellierung

260

12 Use-Case-Diagramm

262

12.1? Überblick

263

12.1.1? Die Use-Case-Analyse

263

12.1.2? Ursprung von Use-Cases

264

12.2? Anwendungsbeispiel

265

12.3? Anwendung im Projekt

266

12.3.1? Typische Anwendungsbereiche

266

12.3.2? Use-Cases und danach?

266

12.4? Notationselemente

267

12.4.1? Use-Case

267

12.4.2? System (Betrachtungsgegenstand)

270

12.4.3? Akteur

272

12.4.4? «include»-Beziehung

277

12.4.5? «extend»-Beziehung

279

13 Aktivitätsdiagramm

284

13.1? Überblick

285

13.1.1? Modellieren von Aktivitäten

285

13.1.2? Das Token-Konzept

286

13.1.3? Ursprung der Aktivitätsmodellierung

290

13.2? Anwendungsbeispiel

290

13.3? Anwendung im Projekt

292

13.3.1? Geschäftsprozessmodellierung

292

13.3.2? Beschreibung von Use-Cases

293

13.3.3? Implementierung einer Operation

294

13.4? Notationselemente

295

13.4.1? Aktion

295

13.4.2? Aktivität

299

13.4.3? Objektknoten

301

13.4.4? Kanten

308

13.4.5? Kontrollelemente

312

13.4.6? Startknoten

313

13.4.7? Endknoten

314

13.4.8? Verzweigungs- und Verbindungsknoten

316

13.4.9? Synchronisations- und Parallelisierungsknoten

320

13.4.10? Parametersatz

323

13.4.11? Unterbrechungsbereich

325

13.4.12? Exception-Handler

327

13.4.13? Aktivitätsbereich

329

13.4.14? Strukturierte Knoten

332

13.4.15? Mengenverarbeitungsbereich

333

13.4.16? Schleifenknoten

338

13.4.17? Entscheidungsknoten

343

14 Zustandsautomat

350

14.1? Überblick

351

14.2? Anwendungsbeispiel

353

14.3? Anwendung im Projekt

354

14.3.1? Use-Cases und Zustandsautomaten

354

14.3.2? Klassen und Zustandsautomaten

355

14.3.3? Protokollzustandsautomaten

356

14.4? Notationselemente

358

14.4.1? Einfacher Zustand

358

14.4.2? Transition

361

14.4.3? Startzustand

367

14.4.4? Endzustand

369

14.4.5? Pseudozustände

370

14.4.6? Kreuzung

372

14.4.7? Entscheidung

374

14.4.8? Terminator

377

14.4.9? Zusammengesetzter Zustand

378

14.4.10? Gabelung und Vereinigung

384

14.4.11? Region

386

14.4.12? Ein- und Austrittspunkt

390

14.4.13? Unterzustandsautomatenzustände

392

14.4.14? Historie

395

14.4.15? Spezialisierung

399

14.4.16? Protokollzustandsautomat

402

14.5? Codeabbildung

405

14.5.1? Einleitung

405

14.5.2? Überblick

405

14.5.3? Einfache Zustandsautomaten

408

14.5.4? Erweiterungen der Zustandsautomaten

415

14.5.5? Zusammengesetzte Zustände

419

15 Sequenzdiagramm

422

15.1? Überblick

423

15.1.1? Modellierung von Interaktionen

424

15.1.2? Interaktionen im Sequenzdiagramm

429

15.1.3? Ursprung der Sequenzdiagramme

432

15.2? Anwendungsbeispiel

434

15.3? Anwendung im Projekt

435

15.3.1? Abgrenzung des Systemkontexts

436

15.3.2? Realisierung von Use-Cases

437

15.3.3? Spezifikation von Schnittstellen

438

15.3.4? Detailmodellierung im Feindesign

438

15.3.5? Test und Simulation

439

15.4? Notationselemente

440

15.4.1? Interaktion / Interaktionsrahmen

440

15.4.2? Lebenslinie

443

15.4.3? Nachricht

449

15.4.4? Zustandsinvariante

460

15.4.5? Kombiniertes Fragment

463

15.4.6? Ordnungsbeziehung

482

15.4.7? Interaktionsreferenz

483

15.4.8? Verknüpfungspunkt

486

15.4.9? Zerlegung von Lebenslinien

489

16 Kommunikations­diagramm

494

16.1? Überblick

495

16.1.1? Interaktionen in Kommunikationsdiagrammen

495

16.1.2? Auswahlkriterien für das Kommunikationsdiagramm

496

16.2? Anwendungsbeispiel

496

16.3? Anwendung im Projekt

497

16.3.1? (Geschäftsprozess-)Analyse

497

16.3.2? Zusammenwirken von Classifiern

498

16.4? Notationselemente

498

16.4.1? Interaktion / Interaktionsrahmen

499

16.4.2? Lebenslinie

499

16.4.3? Nachricht

501

17 Timing-Diagramm

506

17.1? Überblick

507

17.1.1? Interaktionen in Timing-Diagrammen

507

17.1.2? Auswahlkriterien für das Timing-Diagramm

508

17.2? Anwendungsbeispiel

509

17.3? Anwendung im Projekt

510

17.4? Notationselemente

510

17.4.1? Interaktion / Interaktionsrahmen

511

17.4.2? Lebenslinie

512

17.4.3? Zeitverlaufslinie

514

17.4.4? Nachricht

517

17.4.5? Sprungmarke

517

17.4.6? Wertverlaufslinie

518

17.4.7? Ordnungsbeziehung

519

18 Interaktionsübersichtsdiagramm

522

18.1? Überblick

523

18.2? Anwendungsbeispiel

525

18.3? Anwendung im Projekt

526

18.4? Notationselemente

526

18.4.1? Interaktion/Interaktionsreferenz

526

18.4.2? Kontrollelemente

528

Teil IV: Weiterführendes

532

19 Tailoring – UML?2 Profile

534

19.1? Motivation

535

19.2? Einführung in Profile

537

19.3? Anwendungsbeispiel

538

19.4? Notationselemente

539

19.4.1? Stereotyp

539

19.4.2? Erweiterungsbeziehung

543

19.4.3? Profil

545

19.4.4? Profilanwendung

546

19.5? Varianten und Beispiele

550

19.6? Profile: Für & Wider

550

19.7? Erstellen von Profilen

551

19.8? Tools

551

20 SysML

554

20.1? Was ist SysML?

555

20.1.1? Die SysML in diesem Buch

555

20.2? SysML – UML

556

20.3? Diagramme der SysML

556

20.3.1? Rahmen für Diagramme

557

20.4? Strukturmodellierung

557

20.4.1? Block

558

20.4.2? Blockdefinitionsdiagramm

558

20.4.3? Internes Blockdiagramm

559

20.5? Verhaltensmodellierung

562

20.5.1? Aktivitätsdiagramm der SysML

562

20.6? Anforderungen und Traceability mit der SysML

564

20.6.1? Anforderungsdiagramm

564

20.6.2? Nachvollziehbarkeit

566

Literaturverzeichnis

568

Register

572

Die wichtigsten Notationselemente der UML

582

 

© 2009-2024 ciando GmbH