ebook img

Software-Engineering: Methodische Projektabwicklung PDF

451 Pages·1991·17.594 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software-Engineering: Methodische Projektabwicklung

Software Engineering rnst Denert Software-Engineering Methodische Projektabwicklung Unter Mitwirkung von Johannes Siedersleben Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Ernst Denert sd&m GmbH Thomas-Dehler-StraBe 27 8000 MOnchen 83 1. korrigierter Nachdruck 1992 Mit 92 Abbildungen CIP-Tltelaufnahme der Deutschen Blbhothek Denert, Ernst· Software-Engineering/Ernst Denert. - Berhn, Heidelberg; New York; London; Paris, Tokyo; Hong Kong; Barcelona' Springer 1991 ISBN-13: 978-3-642-84344-0 e-ISBN-13: 978-3-642-84343-3 DOl: 10.1007/978-3-642-84343-3 Dleses Werk ist urheberrechtllch geschOtzt. Die dadurch begrOndeten Rechte, Insbesondere die der Obersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mlkroverfllmung oder der Vervielfaltigung auf anderen Wegen und der Speicherung In Datenverarbeitungsanlagen, blelben, auch bel nur auszugswelser Verwertung, vorbehalten. Eine Vervlelfaltlgung dieses Werkes oder von Teilen dleses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzllchen Bestlmmungen des Urheberrechts gesetzes der Bundesrepubhk Deutschland vom 9 September 1965 In der jeweils geltenden Fassung zulassig Sle 1st grundsatzhch verglltungspfhchtig. Zuwiderhandlungen unterhegen den Strafbestimmungen des Urheberrechtsgesetzes. © Springer-Verlag Berlin Heidelberg 1991 Softcover reprint of the hardcover 1st edition 1991 Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzelchnung nicht zu der Annahme, daB solche Namen 1m Sinne der Warenzeichen-und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von Jedermann benutzt werden dOrften Satzerfassung und Umbruch Ch.BuBler, sd&m GmbH, MOnchen, mit TEX und LATEX Satzbelichtung Compugraphlc 8400, P Betzler, Datapat, MOnchen Elnbandgestaltung: E QUltta, StudiO fOr graphische Gestaltung, MOnchen Graphiken' E. Bauknecht, H. Gebhardt, Visuelle Kommunlkatlon, MOnchen 2145/3140 - 5 4321 0 Gedruckt auf saurefrelem Papier Vorwort Dieses Buch ist iiberfallig, seit Jahren schon wollte ich es schreiben. Doch die Pro jektarbeit, auf die es wesentlich griindet, und der Aufbau unserer Firma, sd&m, waren wichtiger. Zudem gab es Liicken in unserem methodischen Gebaude, die - durch Projekterfahrung untermauert - erst noch geschlossen werden sollten. Jetzt ist unsere Softwaretechnik rund und somit der Zeitpunkt da, sie zu publizieren. Ich tue das ohne die Sorge, damit "Produktionsgeheimnisse" preiszugeben. 1m Gegenteil: Es wiirde mich freuen, wenn die Art und Weise, Software zu entwickeln, wie sie in diesem Buch dargelegt ist, eine groBe Verbreitung fande - bei Anwendern ebenso wie in Softwarehausern und bei Rechnerherstellern. In den nachsten Jahren kommen weitere groBe Softwareaufgaben auf uns zu, fiir die wir uns bestmoglich riisten solI ten. Dieses Buch solI ein Beitrag dazu sein. Es wendet sich vor allem an Praktiker aller hierarchischen Ebenen, die Softwa reentwicklung beschaftigt. Dazu gehoren auch meine Kollegen bei sd&m, die nun eine weitgehend vollstandige und systematische Darstellung der Grundlagen unserer Methodik zur Hand haben. Sie den Lehrenden und Lernenden an den Hochschulen nahezubringen, ist ein wei teres wichtiges Anliegen dieses Buches. Den konkreten AnstoB, es zu schreiben, gab die Vorlesung iiber Software-Engi neering, die ich seit dem Wintersemester 1986/87 mehrmals an der TU Miinchen gehalten habe. Sie gab mir AnlaB, die vorhandenen Materialien zu einem Skript aufzubereiten, das den Grundstock fiir das Buch bildete. Beinahe eineinhalb Jahrzehnte praktischer Projektarbeit unter kommerziellen Be dingungen bilden seinen Nahrboden; hinzu kommen einige Jahre wissenschaftlicher Tatigkeit. Viele der Menschen - Kollegen und Kunden -, mit denen ich in dieser Zeit zusammenarbeiten konnte, haben die hier behandelte Softwaretechnik mitge staltet. Ihnen gebiihrt mein Dank, auch wenn er anonym bleiben muB, weil ich die vielen N amen nicht auffiihren kann. Mein besonderer Dank gilt meinem Partner Ulj Maiborn, mit dem mich nun mehr als ein Dutzend Jahre guter Zusammenarbeit verbinden - Jahre, in denen wir so manches Projekt "gestemmt" haben. Von seiner Art des Managements habe ich viel gelernt. Einige Projekte waren fiir die Entwicklung unserer Softwaretechnik besonders wichtig; ohne sie gabe es dieses Buch nicht. Ich habe deshalb unseren Kunden, die uns mit ihren Projekten ein weites Betatigungsfeld eroffneten, fiir ihr Vertrauen ganz besonders zu danken. An erster Stelle - nicht nur zeitlich - sind da Sie mens und START, dort die Herren Dr. Bommer und Dr. Gartner, zu nennen, denn vi Vorwort hier wurden wichtige softwaretechnische Konzepte erstmals angewendet. Von den sd&m-Projekten ist zunii.chst die Entwicklung des Reservierungssystems fiir die air tours bei der TUI anzufUhren, mit der uns Herr Bernecker beauftragte. Wichtige Erfahrungen brachten die Projekte mit der AEG - dabei verbindet mich die Zu sammimarbeit in der Entwicklung eines graphischen Arbeitsplatzes fiir die Post be sonders mit den Herren Lucas, Nattermann und Nintzel- und dem Springer-Verlag, dem wir ein Informationssystem fiir seine Biicher bauten. Darin ist nun auch die ses Buch verzeichnet. Den Herren Prof. Gotze und WeijJbrodt ist hier besonders zu danken. Die Entwicklung der neuen ADAC-Mitgliederverwaltung war nicht zuletzt ihrer GroBe wegen eine Herausforderung; das Vertrauen der Herren Dr. Scholten und Heydenreich in unsere Technik war eine wichtige Vorbedingung des Erfolgs. Einen Meilenstein in der Entwicklung unserer Werkzeuge markierte das Projekt Transport leistungsrechnung der Deutschen Bundesbahn; Herrn Dr. Strothmann, der uns stets ein konstruktiv-kritischer Auftraggeber war, gebiihrt mein besonderer Dank. 1m Rah men des Vorhabens Integrierte Auftragsbearbeitung bei Thyssen kamen unsere Ba sisfunktionen wesentlich voran; das Engagement und die Ausdauer der Herren Pott und Boheim bestimmten diesen Fortschritt unserer Softwaretechnik entscheidend. Der endgiiltige EntschluB, das Buch zu schreiben, fielleichter, nachdem es mir ge lungen war, Dr. Johannes Siedersleben als Coautor zu gewinnen. Nach langj8.hriger Tiitigkeit fUr sd&m war er Professor an der Fachhochschule in Rosenheim und ist nun wieder unser Kollege. Ohne seine Ideen ware das Buch um einiges armer; sein Beitrag verdient deshalb eine besondere Wiirdigung. Er hat unsere Methodik an zen tralen Stellen weiterentwickelt und gestaltet und dadurch den Inhalt dieses Buches maBgeblich beeinfluBt. In erster Linie ist seine Idee zu nennen, die objektorientierte Methodik in Form der "Sachbearbeiter" zur Grundlage der Systemspezifikation zu machen. Unsere Art der Datenmodellierung ist stark durch ihn gepriigt und der Da tenbankentwurf seine ganz spezielle Domiine. Auch unserer Standardarchitektur hat er wichtige Impulse gegeben. Die Kapitel 4-7 im Teil II (Systemspezifikation) sind von ihm stark beeinfluBt und teilweise formuliert, Kapitel 12 (Datenbankentwurf) hat er vollstiindig und Kapitel17 (Systemtest) groBteils geschrieben. Fiir all das bin ich Johannes Siedersleben auBerordentlich dankbar. Mein Dank gilt weiterhin Thomas A. Matzner, der nicht nur wichtige Erfahrungen zur Standardarchitektur beigesteuert hat, sondern aus dessen Feder das Kapitel 2 (Fallbeispiel ThBSy) und der CICS-Teil des Kapitels 11 (ProzeBorganisation) stam men. Vielfii.ltig sind die Einfliisse von Johannes Leber und Dr. Gero Scholz, die vor allem unsere Werkzeuge vorangebracht haben. Ferner habe ich aus Zusammenarbeit und Diskussionen mit einer Reihe weiterer sd&m-Kollegen viel gewonnen; danken mochte ich insbesondere Dr. Johannes Adler, Dr. Martin Bertram, Dr. Uli Zeh und Dr. Hans Zierer. An der Gestaltung dieses Buches wirkten viele mit. Markus Ziesler brachte mir 'lEXund D.TEX nahe und installierte das 'lEX-System von Peter Betzler, Datapat, auf unserer Unix-Maschine. Christoph BujJler setzte das Buch mit viel Akribie und wurde dabei zum 'lEXperten. Barbara Seidl und Heike Lechner schrieben geduldig die vielen Versionen meiner Texte. Egon Quitta entwarf das Erscheinungsbild des Buches; Eva Bauknecht und Helmut Gebhardt besorgten die graphische Gestaltung der Abbildungen. Ihnen allen gilt mein herzlicher Dank fUr die sorgfiiltige Arbeit. Vorwort Vll Dem Springer-Verlag bin ich fUr die gute Zusammenarbeit und die groBe Freizu gigkeit verpflichtet, die er mir in der Gestaltung des Buches gewiihrt hat. Und last, not least danke ich meiner Frau Gerlind fur ihr Verstiindnis und ihre Geduld, ohne die ich das Buch nicht hiitte schreiben konnen. Sie hat ohne Murren auf viele gemeinsame Stunden und manchen Urlaub verzichtet. Munchen, im Herbst 1990 Ernst Denert Inhaltsverzeichnis Teil I Praliminarien 1 Einleitung. . . . . . . . . . . . . . . . . . . . . 3 1.1 Warum ist es so schwierig, Software zu machen? 4 1.2 Projekte, Projekte, Projekte . . . 6 1.3 Was ist Software-Engineering? . 11 1.4 Betriebliche Informationssysteme 15 1.5 Worum es in diesem Buch geht . 16 1.6 Software-Philosophie ja, Dogmatismus und Biirokratie nein 18 1. 7 Paradigmen der Softwareentwicklung . . . . . . . . . . . . 19 2 Fallbeispiel: Touristisches Buchungssystem ThBSy 23 3 Projektmodell. . . . . . . . . 31 3.1 Projektbereiche und -beteiligte 33 3.2 Begriffe.......... 36 3.3 Phasen und Ergebnisse . . . . . 38 3.4 Ergebnisse und Methoden . . . 45 3.5 Meilensteine und QS-MaBnahmen . 49 3.6 Prototyp .......... . 52 3.7 Noch einmal: Phasenmodell 54 3.8 Objektorientierte Methodik 59 Teil II Systemspezifikation 4 Systemspezifikation . . . . . . 67 4.1 Zum Wesen der Spezifikation . . 68 4.2 Die Teile der Systemspezifikation 70 4.3 Die ideale Maschine .. 74 5 Datenmodell ..... 77 5.1 Wozu ein Datenmodell? 78 5.2 Datentypen . . . . . . . 79 5.2.1 Motivation ...... . 79 5.2.2 Variable und Konstante 80 5.2.3 Ada-Typenkonzept . . . 81 5.2.4 Vordefinierte Datentypen 85 5.2.5 Datentypen und Operationen 86 5.2.6 Reprasentationen von Datentypen und Plausibilitatspriifungen 88 x Inhaltsverzeichnis 5.3 Grundlagen relationaler Datenstrukturen . 89 5.3.1 Relationen ......... . 89 5.3.2 Operationen auf Relationen . . . 91 5.3.3 Normalformen .......... . 94 5.4 Objekt/Beziehungs-Datenmodell 96 5.4.1 Objekte ............. . 96 5.4.2 Autonome, erweiterte und Subobjekte 98 5.4.3 Beziehungen......... . . . . . . 99 5.4.4 Konsistenzbedingungen der Beziehungen 103 5.4.5 Attribute und Datentypen . 105 5.4.6 Konsistenzbedingungen. 106 5.4.7 Datensichten .... 107 6 Funktionenmodell . . 109 6.1 Geschiiftsvorfiille . . . . 111 6.2 Datensichten der Sachbearbeiter 113 6.3 Zustandsmodell .. . 116 6.4 Sachbearbeiter ......... . 118 6.5 Terminiiberwachung ...... . 120 6.6 Die Transaktionslogik der idealen Datenbank 121 6.7 Spezifikation von Geschiiftsvorfiillen und Sachbearbeitern 122 6.8 Hinweise zum Vorgehen . . . . . . . . . . . 124 7 Benutzerschnittstelle . . . . . . . . . . . . . . . 125 7.1 Interaktionsdiagramme und virtuelle Tasten . . . . 127 7.2 Dialoge, Dialogtypen und Standard-Interaktionen . 133 7.3 IAD-Zustiinde und Masken 141 7.4 IAD-Aktionen ......... . 144 8 Ideale Maschine . . . . . . . 147 8.1 Konzept der idealen Maschine . 148 8.2 Ideale Dialog-Benutzerschnittstelle 148 8.2.1 Virtuelles Terminal ..... . 149 8.2.2 Dialogsteuerung ....... . 150 8.2.3 IAD-Zustiinde und -Aktionen 159 8.2.4 Meldungsbehandlung... 159 8.3 Idealer Anwendungskern . . . 160 8.4 Ideale Datenbank . . . . . . . 160 9 TuBSy-Systemspezifikation 163 9.1 Systemstruktur . . . . . . 164 9.2 Das ThBSy-Datenmodell . 166 9.2.1 Objekt/Beziehungsbild . 166 9.2.2 Attributlisten . . . . . . . 168 9.2.3 Datentypen . . . . . . . . 172 9.3 Die ThBSy-Benutzerschnittstelle 176 9.3.1 Dialoge .. 176 9.3.2 Datensicht . . . . . . . . . . . . . 176 Inhaltsverzeichnis xi 9.3.3 Virtuelle Tasten . 179 9.3.4 Dialogtypen 181 9.3.5 Masken .... . 186 9.3.6 Aktionen ... . 194 9.4 Die TuBSy-Sachbearbeiter 198 9.4.1 Zustandsmodell der Buchung 206 Teil III Systemkonstruktion 10 Modularisierung .............. . 211 10.1 Allgemeines zur Modularisierung ...... . 212 10.2 Datenabstraktion als Modularisierungsprinzip 215 10.3 Zum Begriff des Moduls . . . . . . . . . . . . 220 10.4 Standardarchitektur von Informationssystemen 221 10.4.1 Dialog ..... . 222 10.4.2 Dialogfiihrung .. 224 10.4.3 Datenverwaltung 230 10.4.4 Batch ..... . 239 11 ProzeBorganisation 241 11.1 Was ist ein ProzeB? . . 242 11.2 Entwurfsziele der ProzeBorganisation . 244 11.3 AbriB der ProzeBkonzepte .... . 245 11.4 Was ist ein TP-Monitor? ....... . 253 11.4.1 Funktionalitat eines TP-Monitors .. . 253 11.4.2 Konversationelle vs. transaktionsorientierte Programmierung 254 11.4.3 Beispiele fiir TP-Monitore .... . 257 11.5 Fallbeispiel: eIeS ......... . 261 11.5.1 eIeS: Architektur und Funktionen 262 11.5.2 ProzeBorganisation mit eICS ... 267 12 Datenbankentwurf........ 273 12.1 Die Tatigkeiten des DB-Entwurfs . 275 12.2 Die Ziele des DB-Entwurfs . 279 12.3 Fallbeispiele........ 281 12.3.1 Produktumsatze ..... 281 12.3.2 Konten und Kontoposten 285 12.3.3 Stiicklisten. . . . 288 12.4 Historienfiihrung ..... 293 13 Systemfehler...... 297 13.1 Was ist ein Systemfehler? Was sind seine Ursachen? 299 13.2 Die Systemfehlerphasen . . . . . . . 300 13.3 Systemfehlerbehandlung ...... . 302 13.3.1 Systemfehler und Modulspezifikation 302 13.3.2 Systemfehlermechanismus 303 13.3.3 Exkurs . 306 13.3.4 Thace. . . . . . . . . . . . 307 xii Inhaltsverzeichnis 13.4 SF-Protokollmodul ..... . 307 13.5 Standard-Programmstruktur 309 Ten IV Modulprogrammierung 14 Modulspezifikation............ 315 14.1 Grundlegendes zu (Modul-) Spezifikationen 316 14.2 Form und Inhalt einer Modulspezifikation 321 14.3 Beispiel: Hotelvakanz ........... . 324 15 Modulkonstruktion............ 335 15.1 Realisierung von (Datenabstraktions-) Moduln 337 15.1.1 Ada . 338 15.1.2 Cobol 339 15.1.3 PL/1 . 339 15.1.4 C ... 339 15.1.5 Spracherweiterungen 348 15.2 Strukturierte Programmierung 350 16 Modultest........... 353 16.1 Was verstehen wir unter Test? 354 16.2 TesWille ......... . 357 16.3 C1-Uberdeckungsmessung 362 16.4 Testsystem ..... . 364 16.5 Beispiel: Hotelvakanz 367 Ten V Systemintegration 17 Systemt est. . . . . 375 17.1 Testdatenverwaltung 376 17.2 Funktionstest 377 17.3 Lasttest ....... 378 17.4 Probebetrieb .... 378 17.5 Test der Dateniibernahme 379 17.6 Abnahmetest ... 379 17.7 Systemtestsystem . 380 17.8 Fehlerverfolgung 381 Ten VI Phaseniibergreifende Aspekte 18 Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . 387 18.1 Anforderungen an eine Software-Entwicklungsumgebung 388 18.2 Entwicklungs- und Zielsystem . . . . . . . . 389 18.3 Die ideale Software-Entwicklungsumgebung 393 18.3.1 Meta-Werkzeuge ......... 393 18.3.2 Methoden-neutrale Werkzeuge . . . . . . . . 396 18.3.3 Methoden-orientierte Werkzeuge ...... 402 18.4 Reale Werkzeuge in der idealen Software-Entwicklungsumgebung 404

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.