Systementwicklung mit Strukturierten Methoden



Ähnliche Dokumente
Systementwicklung mit Strukturierten Methoden

Software Engineering

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand:

CASE. in der Anwendung. Erfahrungen bei der Einführung von CASE. Herausgegeben von Peter Hruschka. Carl Hanser Verlag München Wien

Software- Qualitätssicherung

Entwicklung von Data-Warehouse-Systemen

Software Engineering

Übungsklausur vom 7. Dez. 2007

Grundlagen Software Engineering

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

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

Software-Evolution im Staged Lifecycle Model

OOD. Objektorientiertes Design. Peter Coad und Edward Yourdon. Prentice Hall Verlag

Agile Softwareentwicklung

Softwaretechnik (Allgemeine Informatik) Überblick

Allgemeines zu Datenbanken

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Fachlogik umsetzen. Business Rules zwischen Konzept und IT-System. Dirk Ziegemeyer

Grundlagen von Datenbanksystemen

FACHHOCHSCHULE MANNHEIM

Softwaretechnik. Fomuso Ekellem WS 2011/12

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext

VBA-Programmierung: Zusammenfassung

Architekturplanung und IS-Portfolio-

Software-Engineering

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches...

17 Architekturentwurf Vorgehen und Dokumentation

Management von IT-Architekturen

RUP Analyse und Design: Überblick

Abschnitt 16: Objektorientiertes Design

Theoretische und praktische Grundlagen für Fehlerbaumanalysen

Comparison of Software Products using Software Engineering Metrics

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Some Software Engineering Principles

Prozess-Modelle für die Softwareentwicklung

Grundlagen der Programm- und Systementwicklung

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Einführung. Informationssystem als Abbild der realen Welt

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Vorlesung vom Einführung in die geschäftsprozessorientierte Unternehmensführung

Entwurf von Datenbanken

Software-Engineering

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Praxisbeispiel Blended Learning Kurs M153 Datenmodelle entwickeln und umsetzen

Grundlagen der Wirtschaftsinformatik

Softwaretechnik. Fomuso Ekellem WS 2011/12

2.1 Ist-Anwendungslandschaften Programme zur Gestaltung von Anwendungslandschaften

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Projektmanagement Kapitel 3 Tools die Werkzeuge. Projektstrukturplan PSP

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

Übungen zur Softwaretechnik

Unternehmensmodellierung

Datenbankmodelle 1. Das Entity-Relationship-Modell

Requirements Engineering I

Petri-Netzbasierte Modellierung und. Analyse von Risikoaspekten in. Zur Erlangung des akademischen Grades eines. Doktors der Wirtschaftswissenschaften

Software Product Line Engineering

Objektorientierte Programmierung OOP

Geschäftsprozesse: Modellierung und Analyse

Übungsaufgaben zum Software Engineering: Management

Automotive Software Engineering

Grundlagen der Wirtschaftsinformatik

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

Motivation im Betrieb

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Angebotsmanagement für hybride IT-Produkte

Der Rational Unified Process

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

16 Architekturentwurf Einführung und Überblick

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn Inhaltsverzeichnis.

Funktionale GUI-Programmierung in Haskell mit Grapefruit

Modellierung von OLAP- und Data- Warehouse-Systemen

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

4. Übung zu Software Engineering

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom Sebastian Iwanowski FH Wedel

1 Einleitung zum Thema Softwaremigration 1

Instrumente des Supply Chain Controlling

tdwi E U R D P E OPEN SOURCE BUSINESS INTELLIGENCE HANSER MÖGLICHKEITEN, CHANCEN UND RISIKEN QUELLOFFENER BI-LÖSUNGEN

Hochschule Wismar. Fakultät für Wirtschaftswissenschaften. Arbeitskonzept zur Projektarbeit Softwarequalität und Softwarealterung

Kapitel 2: Der Software-Entwicklungsprozess

Entwicklung domänenspezifischer Software

Implementierung eines steuerlichen Risikomanagementsystems

J.6 Programmierung eingebetteter Systeme

Entwicklungsprozesse und -werkzeuge

2 Begriffliche und theoretische Grundlagen... 9

GESCHLOSSENE IMMOBILIENFONDS EIN FUZZY-BEWERTUNGSMODELL UNTER BESONDERER BERÜCKSICHTIGUNG STEUERLICHER ASPEKTE. Dissertation

Mit einem Geleitwort von Prof. Dr. Helmut Krcmar

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Software-Engineering SS03. Zustandsautomat

Inhaltsverzeichnis. 1. Fragestellung

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Einkünfte aus Gewerbebetrieb nach Betriebsveräußerung und Betriebsaufgabe

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Was ist Software-Architektur?

Das V-Modell 97. Oldenbourg Verlag München Wien

Einführung in die Informatik

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten

Transkript:

Jörg Raasch Systementwicklung mit Strukturierten Methoden Ein Leitfaden für Praxis und Studium 3., bearbeitete und erweiterte Auf läge k 43 TECHNISCHE HOCHSCHULE DARMSTADT Fachbereich 1 Gesorn t h i bi iot-hek Bet' jebswirrschaitslehre AbSt'-'Ü-: 7. Saoigebiete:..., Carl Hanser Verlag München Wien

xni Vorwort Vorwort zur dritten Auflage 1. Probleme der Software-Entwicklung 1 1.1 Qualität - Kosten - Zeit 1 1.2 Mängel existierender Systeme 3 1.3 Wirtschaftliche Aspekte 6 1.4 Weshalb scheitern Software-Projekte? 9 1.4.1 Projektmanagement 9 1.4.2 Konzept und Lösung 10 1.4.3 Veränderte Anforderungen 11 1.4.4 Akzeptanzprobleme 12 1.4.5 Methodische Unterstützung des Analytikers 13 1.4.6 Planung, Kontrolle und Steuerung 15 1.5 Vorgeschlagene Maßnahmen 16 1.5.1 Enduser - Produkte 16 1.5.2 Standard-Software einsetzen 16 1.5.3 Prototyping 17 1.5.4 Reverse Engineering 20 2. Anforderungen an das Software-Produkt 21 2.1 Qualitätsmerkmale aus Anwendersicht 23 2.1.1 Funktionserfüllung 23 2.1.2 Effizienz 23 2.1.3 Zuverlässigkeit 24 2.1.4 Benutzbarkeit < 24 2.1.4.1 Software-Ergonomie 25 2.1.4.2 Anforderungen an die Benutzerschnittstelle 28 2.1.5 Sicherheit 29 2.2 Qualitätsmerkmale aus Entwicklersicht 30 2.2.1 Erweiterbarkeit 30 2.2.2 Wartbarkeit 31 2.2.3 Übertragbarkeit, Portabilität 32 2.2.3.1 Software-Architektur 32 2.2.3.2 Portabilität und Software-Architektur 34 2.2.4 Wiederverwendbarkeit 35 2.3 Systeme mit Sicherheitsverantwortung 37 2.3.1 Betriebliche und sicherheitsbezogene Funktionen 38 2.3.2 Risikoanalyse 39 2.3.3 Fehlerarten 41

xiv 2.3.4 Sicherheitsmaßnahmen 42 2.4 Kommerzielle Anwendungen und Systeme 43 2.4.1 Wirtschaftlichkeit 44 2.4.2 Integration 44 2.4.2.1 Definition des Begriffs "Integration" 46 2.4.2.2 Schnittstellen zwischen Teilverfahren des integrierten Systems 47 2.4.2.3 Integration und Wirtschaftlichkeit 48 2.4.3 Rechtsgrundsätze und Internes Kontrollsystem 49 2.5 Definition von Qualitätszielen 50 2.5.1 Skalierung von Zielen 51 2.5.2 Konzeptionelle Einordnung 55 2.5.2.1 Akzeptanzbereiche 55 2.5.2.2 Ergänzung durch Qualitätssicherung 57 2.6 Zusammenfassung - Qualität 57 3. Modelle und Methoden 59 3.1 Modellbau 59 3.1.1 Systeme 59 3.1.1.1 Ereignisse, Auslöser, Reaktionen 60 3.1.1.2 Spontane Hülle und geplanter Kern 62 3.1.1.3 Interaktive Systeme 65 3.1.2 Modell und Realität 65 3.1.3 Modellierung von Systemen 68 3.1.4 Anforderungen an das Methodendokument 71 3.1.5 Syntax, Semantik und Pragmatik 73 3.1.6 Ansätze zur Systemanalyse 75 3.1.6.1 Anforderungen an eine Zerlegungsstrategie 76 3.1.6.2 Funktionsorientierte (funktionale) Zerlegung 76 3.1.6.3 Datenorientierte Zerlegung 76 3.1.6.4 Essentielle Zerlegung 77 3.1.6.5 Objektorientierte Zerlegung 78 3.1.6.6 Trends 78 3.2 Qualitätssicherung 79 3.3 Basistechniken 81 3.4 Methoden 82 4. SA Strukturierte Analyse 85 4.1 SA - Übersicht zur Strukturierten Analyse 85 4.1.1 Die Funktion 85 4.1.2 Rahmengliederung der Analyseschritte 87 4.1.3 Beispiel- Flugkarten-Verkauf 89 4.1.4 Modellierung von Lebenszyklen 96 4.2 SA - Modellierung - Modellnotation 98 4.2.1 Grafische Mittel 98

xv 4.2.1.1 Datenflußdiagramme - DFD 98 4.2.1.2 Verfeinerung 100 4.2.1.3 Syntaktische Regeln 102 4.2.1.4 Semantische Regeln 102 4.2.1.4.1 Namensgebung 102 4.2.1.4.2 Datensichten 104 4.2.1.4.3 Fehlerbearbeitung 104 4.2.2 Textliche Mittel 105 4.2.2.1 Prozeßspezifikationen - PSPEC 105 4.2.2.2 Datenkatalogeinträge 109 4.2.3 Formale Qualität und Balance 111 4.3 SA - Modellbewertung 112 4.3.1 Die Essenz eines Systems 112 4.3.1.1 Perfekte Technologie 112 4.3.1.2 Bestandteile der Essenz 115 4.3.2 Essentielle Zerlegung 117 4.3.2.1 Erkennen von Ereignissen 117 4.3.2.2 Ereignisorientierte Zerlegung des Systems in essentielle Aktivitäten 120 4.3.2.3 Objektorientierte Zerlegung des essentiellen Speichers 123 4.3.2.4 Resultat dieser Zerlegung 125 4.3.2.5 Das essentielle Modell 127 4.3.3 Prinzipien der essentiellen Modellierung 127 4.3.4 Die Anatomie von Systemen 130 4.3.4.1 Beispiel - Angebote erstellen 131 4.3.4.2 Infrastruktur 132 4.3.4.3 Administration 133 4.3.4.4 Die Inkarnation eines Systems 133 4.3.4.5 Systeme und Prozessoren 135 4.3.4.6 Zusammenfassung 137 4.3.4.7 Vorteile der essentiellen Zerlegung 137 4.3.5 Das Kommunikationsproblem 138 4.3.5.1 Fünf Stufen beim Erwerb von Fähigkeiten ' 138 4.3.5.2 Objektive Probleme der Kommunikation 139 4.3.5.3 Subjektive Probleme des Anwenders 140 4.3.5.4 Fehlverhalten des Analytikers 140 4.3.5.5 Abstimmung mit dem Anwender 142 4.4 SA - Methoden 143 4.4.1 Eine neue Essenz finden 144 4.4.1.1 Ziele des neuen Systems festlegen 144 4.4.1.2 Grundlegende Aktivitäten finden 145 4.4.1.3 Speicher des Systems finden 146 4.4.1.4 Verwaltungsaktivitäten finden 147 4.4.1.5 Vorläufiges essentielles Modell erstellen 147 4.4.1.6 Die Vorgehens-Strategie 147 4.4.1.7 Beispiel Auftragsbearbeitung 147 4.4.1.8 Rückfragen beim Anwender 156

xvi 4.4.2 (Teilweise) Modellierung eines Vorgängersystems 158 4.4.2.1 Das Vorgängersystem 159 4.4.2.2 Ein Modell expandieren 160' 4.4.2.3 Ein expandiertes Modell reduzieren 161 4.4.2.4 Essentielle Fragmente klassifizieren 162 4.4.2.5 Eine essentielle Aktivität ableiten 163 4.4.3 Essentielle Aktivitäten zu einem Modell integrieren 165 4.4.3.1 Eine essentielle Aktivität integrieren 165 4.4.3.2 Das globale essentielle Modell erstellen 165 4.4.4 Die Modellqualität optimieren ' 166 4.4.4.1 Aufteilung der Datenelemente auf Speicher optimieren 166 4.4.4.2 Verfeinerte PSPECs erzeugen 166 4.4.4.3 Die essentielle Ebene vergröbern 167 4.4.4.4 Zugriff auf Daten anderer Kontexte 168 4.4.4.5 Beziehungstypen im SA-Modell 168 4.4.5 Den Analyse-Aufwand reduzieren 169 4.4.5.1 Eine Analyse des Altsystems durchführen 169 4.4.5.2 Blitzen 170 4.4.6 Regeln zur Kontextabgrenzung 172 4.4.6.1 Elementare Regeln 174 4.4.6.2 Kontexte zu Superkontexten zusammenfassen 174 4.4.6.2.1 Beispiel Teil 1 - eine stark vereinfachte FIBU 175 4.4.6.2.2 Beispiel Teil 2 - Zusammenführung mit der vereinfachten Auftragsbearbeitung 176 4.4.6.3 Elementarkontexte und Superkontexte 178 4.4.6.4 Praktische Konsequenzen 180 4.4.6.5 Beispiele 181 4.4.7 Zusammenfassung der Methodenschritte 183 4.4.8 Systemstatistiken erstellen (Mengengerüste) 183 4.5 SA - Zwischen Analyse und Design 185 4.5.1 Ein essentielles Modell konzeptionell weiterentwickeln 188 4.5.1.1 Essentielle Minimodelle entwerfen 189 4.5.1.2 Essentielle Mini-Modelle integrieren 190 4.5.2 Eine Inkarnation der Essenz auswählen 191 4.5.2.1 Globale Sicht 192 4.5.2.2 Aus Sicht einer einzelnen essentiellen Aktivität (Transformationsanalyse) 194 4.5.2.3 Aus Sicht aller essentiellen Aktivitäten eines Anwenders (Transaktionsanalyse) 195 4.5.2.4 Beispiel Autowerkstatt 196 4.5.3 Durchgängigkeit 202 5. RT Strukturierte Real-Time-Analyse 205 5.1 RT - Übersicht zur Methode 205 5.1.1 Grenzen der SA bei technischen Anwendungen 205 5.1.1.1 Kommerzielle und technische Systeme 207

xvii 5.1.1.2 Beispiel - Arztpraxis 208 5.1.2 Das zusammengesetzte Modell aller Anforderungen 213 5.1.3 Endliche Automaten 214 5.1.3.1 Kombinatorische Maschinen 215 5.1.3.2 Sequentielle Maschinen 215 5.1.3.2.1 Zustandsdiagramme 216 5.1.3.2.2 Der Zustandsbegriff 216 5.1.3.3 Die Kontrollebene als endlicher Automat 216 5.1.4 Grundmuster der RT-Anwendung 217 5.2 RT - Modellierung 220 5.2.1 Daten- und Kontrollflüsse 221 5.2.2 Modellnotation 223 5.2.2.1 Balken, CSPECs und Kontrollflüsse 223 5.2.2.2 Terminatoren, Prozesse und Speicher 225 5.2.3 Beispiel - Wischer 225 5.2.4 Aufbau der Kontrollschicht 230 5.2.4.1 Kontroll-Kontextdiagramm 230 5.2.4.2 Kontrollflußdiagramm 231 5.2.4.3 Quellen und Senken der Kontrollflüsse 231 5.2.4.4 Kontrollflußverarbeitung 232 5.2.4.4.1 DT - Decision Tables - Entscheidungstabellen 233 5.2.4.4.2 STD - State Transition Diagram - Zustandsdiagramm 233 5.2.4.4.3 SEM - State Event Matrix - Zustands-Ereignis-Matrix 234 5.2.4.4.4 PAT - Process Activation Table - Prozeßaktivierungstabelle 235 5.2.5 Schnittstellen zur Prozeßschicht 236 5.2.6 Konsistenzprüfungen 236 5.3 RT - Modellbewertung 237 5.3.1 Wann RT nutzen? 237 5.3.2 Beispiel - Drehzahl überwachen 239 5.3.3 Essentielle Zerlegung 241 5.3.3.1 Implementationsfreiheit ; 241 5.3.3.2 Ergänzung der Prozeßebene 242 5.3.3.3 Intern erkannte Ereignisse 243 5.3.4 Beispiel - Kamera steuern 243 5.3.5 Behandlung der Zeit 248 5.4 RT - Methoden 249 5.4.1 Eine neue Essenz finden 249 5.4.1.1 Erweiterung der Ereignistabelle 250 5.4.1.2 Die Essenz modellieren 251 5.4.1.3 Die Kontroll-Schicht entwickeln 251 5.4.2 Das Anforderungsmodell erweitern 252 5.4.2.1 Die Architektur-Schablone 252 5.4.2.2 Das Inkarnationsmodell 253 5.4.2.3 Inkarnationsmodell Kamera steuern 254 5.4.3 Architekturmodelle 256 5.4.3.1 Notation von Architekturmodellen 256

xviii 5.4.3.2 5.4.3.3 5.4.4 5.4.4.1 5.4.4.2 5.4.4.3 5.4.4.4 5.4.5 5.4.6 5.4.7 5.4.8 AFD und AID Architekturmodell Kamera steuern Das Architekturmodell erstellen Der Architekturkontext Architekturmoduln identifizieren Architekturverbindungen entwickeln Architekturverbindungsmodell Kamera steuern Die HW- und SW-Architektur modellieren Die SW-Architektur entwickeln Moduldesign Kamera steuern Struktur und Entwicklung eines Kontrollsystems 258 258 259 260 260 262 262 264 265 265 266 6. 6.1 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.1.1 6.3.1.2 6.3.1.2.1 6.3.1.2.2 6.3.1.2.3 6.3.1.3 6.3.1.4 6.3.2 6.3.2.1 6.3.2.2 6.3.2.3 6.3.2.4 6.3.2.4.1 6.3.2.4.2 6.3.3 6.3.3.1 6.3.3.2 6.3.3.3 6.4 6.4.1 6.4.2 6.4.2.1 6.4.2.2 6.4.2.3 SM Semantische Modellierung der Datenstruktur SM - Vorbemerkungen SM - Modellierung Begriffsbestimmungen Beispiel Vorlesungsbesuch Modellnotation Erweiterte Modellnotation Alternative Notationen SM - Modellbewertung Das Relationenmodell Relationen Integrität Entity-Integrität Referentielle Integrität Fremdschlüssel-Regeln Charakterisierung des relationalen Modells Datenmodellierung Normalisierung Beispiel Lehrgangsreferat Funktionale Abhängigkeit Die Normalformen Beispiel zur Normalisierung - Student und Vorlesung Version 1 - Herleitung aufgrund der Normalisierungsregeln Version 2 - Vorgehensweise des Praktikers Konstruktion von Primärschlüsseln Das Problem Identnummern Primärschlüssel-Epilog SM - Methoden Beispiel Anschriften - die Probleme Entity-Analyse (Top-Down) Entitytypen erkennen Beziehungstypen erkennen Attribute erkennen 269 269 270 270 271 273 274 276 279 279 280 283 283 284 285 287 288 294 295 297 298 301 302 303 304 304 308 311 311 311 315 315 316 316

xix 6.4.2.4 Das ER-Modell darstellen 317 6.4.2.5 Weitere Empfehlungen 317 6.4.3 Entity-Synthese (Bottom-Up 319 6.4.4 Das normalisierte Entity-Modell 320 6.4.5 Strukturierte Darstellung 326 6.4.6 Lebenszyklen von Entitytypen 328 6.4.7 Das essentielle Modell 329 6.4.8 Logisches Datendesign 329 6.4.8.1 Das relevante Entity-Modell 329 6.4.8.2 Zugriffspfadanalyse 330 6.4.8.2.1 Beschreibung der Zugriffspfadanalyse 330 6.4.8.2.2 Notation 330 6.4.8.2.3 Einfache Beispiele 330 6.4.8.3 Das quantifizierte Entity-Modell 331 6.4.8.4 Beispiel Anschriften - Zugriffspfadanalyse 331 6.4.9 Physisches Datendesign 334 6.4.9.1 Performance 335 6.4.9.2 Das Entity-Modell partiell denormalisieren 335 6.4.9.3 Das Datenmodell an die Implementierung anpassen 343 6.4.9.3.1 Abbildung von Entitytypen 343 6.4.9.3.2 Abbildung von Attributen 343 6.4.9.3.3 Abbildung von Beziehungstypen 343 6.4.9.3.4 Definition von Sekundärschlüsseln 344 6.4.9.4 Beispiel Anschriften - Relationenmodell zur Implementierung 344 7. SD Strukturiertes Design 345 7.1 SD-Vorbemerkungen 346 7.1.1 Abstraktion 347 7.1.1.1 Funktionale Abstraktion 348 7.1.1.2 Datenabstraktion 349 7.1.2 Was ist ein Modul 350 7.1.3 Weshalb Modularisieren? 352 7.1.4 Kriterien für Modularität 352 7.2 SD-Modellierung 354 7.2.1 Hierarchiediagramm - Programmorganisationsplan 354 7.2.2 Modellnotation - Structure-Chart 354 7.2.2.1 Beispiel für einen Structure-Chart 357 7.2.2.2 Eigenschaften des Structure-Charts 358 7.2.3 Modul-Spezifikation 358 7.2.3.1 Modulkopf 358 7.2.3.2 Spezifikation mit Preconditions 359 7.2.3.3 Spezifikation auf SA-Basis 360 7.2.3.4 Spezifikation mit Pseudocode 361 7.2.3.5 Formale Spezifikation 362 7.3 SD-Modellbewertung 363 7.3.1 Kopplung 364

XX 7.3.1.1 7.3.1.2 7.3.1.3 7.3.1.4 7.3.1.5 7.3.1.6 7.3.2 7.3.2.1 7.3.2.2 7.3.2.3 7.3.2.4 7.3.2.5 7.3.2.6 7.3.2.7 7.3.2.8 7.3.3 7.3.3.1 7.3.3.2 7.3.3.3 7.3.3.4 7.3.3.5 7.3.3.6 7.3.3.7 7.3.3.8 7.3.3.9 7.3.3.10 7.3.3.11 7.3.3.12 7.3.3.13 7.3.3.14 7.4 7.4.1 7.4.1.1 7.4.1.2 7.4.1.3 7.4.1.4 7.4.1.5 7.4.1.6 7.4.2 7.4.3 7.4.4 7.4.5 Datenkopplung Datenstrukturkopplung Kontrollkopplung Globale Kopplung Inhaltskopplung Zusammenfassung Zusammenhalt Funktionaler Zusammenhalt Sequentieller Zusammenhalt Kommunizierender Zusammenhalt Problembezogener (prozeduraler) Zusammenhalt Zeitlicher Zusammenhalt Programmstruktureller Zusammenhalt Zufälliger Zusammenhalt Zusammenfassung Weitere Kriterien Faktorisieren Decision-Split vermeiden Balancierte Systeme Fehlerverarbeitung Prüfen Moduln mit Gedächtnis Programmstruktur der Datenstruktur anpassen Information-Cluster Initialisierung und Terminierung Restriktiv vs. allgemein Fan-Out Fan-In Die Form des Systems Semantische Konsistenz SD-Methoden Konstruktion des neuen Systems Subsysteme nach Betriebsart abgrenzen Implementationsgrenzen festlegen Weitere Unterteilung Essentielle Prozesse fragmentieren Implementationsabhängige Prozesse hinzufügen Auswahl von Hardware und Software Transaktionsanalyse Transformationsanalyse Die Systemstruktur Physisches Moduldesign 364 365 366 371 371 372 372 373 373 374 374 374 374 375 375 376 376 378 379 381 384 384 385 385 386 387 389 389 389 390 390 391 391 392 393 394 394 395 395 397 401 402 8. 8.1 8.1.1 Der Weg zur Objektorientierung Kritik der Strukturierten Methoden Probleme der Strukturierten Methoden 405 407 407

8.1.1.1 globale Definitionen 407 8.1.1.2 fehlende Typen 408 8.1.1.3 fehlende Wiederverwendbarkeit 408 8.1.1.4 kein Subsystemkonzept 408 8.1.1.5 mangelhafte Durchgängigkeit 409 8.1.1.6 Mangelnde Lokalität der Entwurfsentscheidungen. 409 8.1.1.7 schlechte Objektivierbarkeit von Modellen 410 8.1.1.8 Unklare und schwache Semantik 410 8.1.1.9 RT und SM sind Zusätze statt integraler Ansätze 410 8.1.1.10 Trennung von Funktionen und Daten 410 8.1.2 Bewertung der Probleme 411 8.2 Maßnahmen zur Milderung der Probleme 412 8.2.1 Datenkapseln 412 8.2.2 Typisierung und Sichtbarkeit 414 8.2.3 Integration von Teilsystemen 416 8.2.3.1 Glossarkonzept für Homonyme / Synonyme 416 8.2.3.2 Datenkapseln und das Integrationsmodell 417 8.2.3.3 Wiederbenutzbarkeit von SA-Knoten 417 8.2.4 Äquivalenz von Modellen 418 8.3 Ein Beispiel zur Objektzerlegung 419 8.3.1 Objekterkennung und Lebenszyklen 419 8.3.2 das essentielle SA-Modell 421 8.3.3 Kapselung als ADT 422 8.3.4 Ein objektorientiertes Modell der Bibliothek 425 8.3.5 Das Resultat 426 8.3.6 Modellierungstrategien 427 8.4 Objektorientierte Systementwicklung 427 8.4.1 Chancen der Objektorientierung 428 8.4.1.1 Adäquate Modellierung der Realität 428 8.4.1.2 Wiederbenutzbarkeit 429 8.4.1.3 Geheimnisprinzip und Lokalität ; 429 8.4.1.4 Durchgängige Methodik 430 8.4.2 Noch vorhandene Probleme - 432 8.5 Zusammenfassung 432 9. Projektmanagement 435 9.1 Vorgehensmodelle 436 9.1.1 Das Wasserfallmodell 436 9.1.2 Das Prototypingmodell 437 9.1.3 Das Spiralmodell 438 9.1.4 Evolutionäre Auslieferung 439 9.1.5 Weitere Ansätze 441 9.2 Strukturiertes Projektmanagement 441 9.2.1 Definition des Strukturierten Projektmanagements 443 9.2.2 Beispiel - DBMS-Entwicklung 444

xxli 9.2.3 Eigenschaften des Strukturierten Projektmanagements 446 Anhang: Anforderungen an Benutzerschnittstellen 449 Literaturverzeichnis 459 Index 473