Description
Software-Engineering befat sich mit der Entwicklung von Softwaresystemen, insbesondere den dafr ntigen und zweckmigen Methoden und Werkzeugen. Dabei geht es nicht nur um die technische Gestaltung von Systemen, also deren Architektur, sondern auch um die geordnete Abwicklung von Projekten, also um Managementfragen. Dieses Buch ist der Extrakt aus eineinhalb Jahrzehnten Arbeit an einer Reihe groer, unter industriellen Bedingungen durchgefhrter Projekte. Es behandelt hauptschlich Methoden – nur in geringem Umfang Werkzeuge – des Software-Engineering, genauer gesagt, das von sd&m praktizierte Methodensystem, das theoretisch fundiert und praktisch erprobt ist. Die objektorientierte Methodik spielt darin eine zentrale Rolle. Der Erfahrungshintergrund des Autors ist stark, wenn auch keineswegs ausschlielich, durch betriebliche Informationssysteme geprgt. Die dargestellten Methoden sind aber so allgemeingltig, das sie auch in anderen Anwendungsbereichen nutzbringend anwendbar sind. I Prliminarien.- 1 Einleitung.- 1.1 Warum ist es so schwierig, Software zu machen?.- 1.2 Projekte, Projekte, Projekte.- 1.3 Was ist Software-Engineering?.- 1.4 Betriebliche Informationssysteme.- 1.5 Worum es in diesem Buch geht.- 1.6 Software-Philosophie ja, Dogmatismus und Brokratie nein.- 1.7 Paradigmen der Softwareentwicklung.- 2 Eallbeispiel: Touristisches Buchungssystem TuBSy.- 3 Projektmodell.- 3.1 Projektbereiche und -beteiligte.- 3.2 Begriffe.- 3.3 Phasen und Ergebnisse.- 3.4 Ergebnisse und Methoden.- 3.5 Meilensteine und QS-Manahmen.- 3.6 Prototyp.- 3.7 Noch einmal: Phasenmodell.- 3.8 Objektorientierte Methodik.- II Systemspezifikation.- 4 Systemspezifikation.- 4.1 Zum Wesen der Spezifikation.- 4.2 Die Teile der Systemspezifikation.- 4.3 Die ideale Maschine.- 5 Datenmodell.- 5.1 Wozu ein Datenmodell?.- 5.2 Datentypen.- 5.2.1 Motivation.- 5.2.2 Variable und Konstante.- 5.2.3 Ada-Typenkonzept.- 5.2.4 Vordefinierte Datentypen.- 5.2.5 Datentypen und Operationen.- 5.2.6 Reprsentationen von Datentypen und Plausibilittsprfungen.- 5.3 Grundlagen relationaler Datenstrukturen.- 5.3.1 Relationen.- 5.3.2 Operationen auf Relationen.- 5.3.3 Normalformen.- 5.4 Objekt/Beziehungs-Datenmodell.- 5.4.1 Objekte.- 5.4.2 Autonome, erweiterte und Subobjekte.- 5.4.3 Beziehungen.- 5.4.4 Konsistenzbedingungen der Beziehungen.- 5.4.5 Attribute und Datentypen.- 5.4.6 Konsistenzbedingungen.- 5.4.7 Datensichten.- 6 Funktionenmodell.- 6.1 Geschftsvorflle.- 6.2 Datensichten der Sachbearbeiter.- 6.3 Zustandsmodell.- 6.4 Sachbearbeiter.- 6.5 Terminberwachung.- 6.6 Die Transaktionslogik der idealen Datenbank.- 6.7 Spezifikation von Geschftsvorfllen und Sachbearbeitern.- 6.8 Hinweise zum Vorgehen.- 7 Benutzerschnittstelle.- 7.1 Interaktionsdiagramme und virtuelle Tasten.- 7.2 Dialoge, Dialogtypen und Standard-Interaktionen.- 7.3 IAD-Zustnde und Masken.- 7.4 IAD-Aktionen.- 8 Ideale Maschine.- 8.1 Konzept der idealen Maschine.- 8.2 Ideale Dialog-Benutzerschnittstelle.- 8.2.1 Virtuelles Terminal.- 8.2.2 Dialogsteuerung.- 8.2.3 IAD-Zustnde und-Aktionen.- 8.2.4 Meldungsbehandlung.- 8.3 Idealer Anwendungskern.- 8.4 Ideale Datenbank.- 9 TuBSy-Systemspezifikation.- 9.1 Systemstruktur.- 9.2 Das TuBSy-Datenmodell.- 9.2.1 Objekt/Beziehungsbild.- 9.2.2 Attributlisten.- 9.2.3 Datentypen.- 9.3 Die TuBSy-Benutzerschnittstelle.- 9.3.1 Dialoge.- 9.3.2 Datensicht.- 9.3.3 Virtuelle Tasten.- 9.3.4 Dialogtypen.- 9.3.5 Masken.- 9.3.6 Aktionen.- 9.4 Die TuBSy-Sachbearbeiter.- 9.4.1 Zustandsmodell der Buchung.- III Systemkonstruktion.- 10 Modularisierung.- 10.1 Allgemeines zur Modularisierung.- 10.2 Datenabstraktion als Modularisierungsprinzip.- 10.3 Zum Begriff des Moduls.- 10.4 Standardarchitektur von Informationssystemen.- 10.4.1 Dialog.- 10.4.2 Dialogfhrung.- 10.4.3 Datenverwaltung.- 10.4.4 Batch.- 11 Prozeorganisation.- 11.1 Was ist ein Proze?.- 11.2 Entwurfsziele der Prozeorganisation.- 11.3 Abri der Prozekonzepte.- 11.4 Was ist ein TP-Monitor?.- 11.4.1 Funktionalitt eines TP-Monitors.- 11.4.2 Konversationelle vs. transaktionsorientierte Programmierung.- 11.4.3 Beispiele fr TP-Monitore.- 11.5 Fallbeispiel: CICS.- 11.5.1 CICS: Architektur und Funktionen.- 11.5.2 Prozeorganisation mit CICS.- 12 Datenbankentwurf.- 12.1 Die Ttigkeiten des DB-Entwurfs.- 12.2 Die Ziele des DB-Entwurfs.- 12.3 Fallbeispiele.- 12.3.1 Produktumstze.- 12.3.2 Konten und Kontoposten.- 12.3.3 Stcklisten.- 12.4 Historienfhrung.- 13 Systemfehler.- 13.1 Was ist ein Systemfehler? Was sind seine Ursachen?.- 13.2 Die Systemfehlerphasen.- 13.3 Systemfehlerbehandlung.- 13.3.1 Systemfehler und Modulspezifikation.- 13.3.2 Systemfehlermechanismus.- 13.3.3 Exkurs.- 13.3.4 Trace.- 13.4 SF-Protokollmodul.- 13.5 Standard-Programmstruktur.- IV Modulprogrammierung.- 14 Modulspezifikation.- 14.1 Grundlegendes zu (Modul-) Spezifikationen.- 14.2 Form und Inhalt einer Modulspezifikation.- 14.3 Beispiel: Hotelvakanz.- 15 Modulkonstruktion.- 15.1 Realisierung von (Datenabstraktions-) Moduln.- 15.1.1 Ada.- 15.1.2 Cobol.- 15.1.3 PL/1.- 15.1.4 C.- 15.1.5 Spracherweiterungen.- 15.2 Strukturierte Programmierung.- 16 Modultest.- 16.1 Was verstehen wir unter Test?.- 16.2 Testflle.- 16.3 Cl-berdeckungsmessung.- 16.4 Testsystem.- 16.5 Beispiel: Hotelvakanz.- V Systemintegration.- 17 Systemtest.- 17.1 Testdatenverwaltung.- 17.2 Funktionstest.- 17.3 Lasttest.- 17.4 Probebetrieb.- 17.5 Test der Datenbernahme.- 17.6 Abnahmetest.- 17.7 Systemtestsystem.- 17.8 Fehlerverfolgung.- VI Phasenbergreifende Aspekte.- 18 Werkzeuge.- 18.1 Anforderungen an eine Software-Entwicklungsumgebung.- 18.2 Entwicklungs- und Zielsystem.- 18.3 Die ideale Software-Entwicklungsumgebung.- 18.3.1 Meta-Werkzeuge.- 18.3.2 Methoden-neutrale Werkzeuge.- 18.3.3 Methoden-orientierte Werkzeuge.- 18.4 Reale Werkzeuge in der idealen Software-Entwicklungsumgebung.- 19 Qualittssicherung.- 19.1 Qualittssicherung durch Begutachtung.- 19.1.1 Review und Inspektion.- 19.1.2 Inspektion der Systemkonstruktion mittels Szenarios.- 19.1.3 QS in der Modulprogrammierung.- 19.1.4 QS in der Systemintegration.- 19.2 Formulare und Prflisten.- 19.2.1 Formulare fr QS-Dokumente.- 19.2.2 Prfliste fr Reviews von Modulspezifikationen.- 20 Projektmanagement.- 20.1 Fhren.- 20.2 Planen, Kontrollieren und Verwalten.- 21 Historie.- Literatur.




