Ekbert Hering. Software-Engineering

Ähnliche Dokumente
Ekbert Hering. Software-Engineering

Bornemann. Controlling im Einkauf

Martin Scholz, Ute Helmbold (Hrsg.) Bilder lesen lernen

Jurgen Burberg Peter Schneid erlochner. Microsoft Excel 3.0. Einsteigen leichtgemacht

Erziehung - Kunst des Möglichen

Stickel Datenbankdesign

Bernhard Schreyer Manfred Schwarzmeier. Grundkurs Politikwissenschaft: Studium der Politischen Systeme

Christina Berghold. Die Szenario-Technik LEITFADEN. zur strategischen Planung mit Szenarien vor dem Hintergrund einer dynamischen Umwelt

Annette Weinert. Programmieren mit Ada und C

Claus von Eitzen. Datenbankanwendungen mit FileMaker Pro

Einführung in Theorien und Methoden der Erziehungswissenschaft

Führung und Mikropolitik in Projekten

Praxiswissen Online-Marketing

Anpassungsstörung und Akute Belastungsreaktion

Selbstmanagement und Zeitplanung

Erfolgsfaktor Inplacement

Klientenzentrierte Gesprächsführung in der Physiotherapie:

Führungsstile im Vergleich. Kritische Betrachtung der Auswirkungen auf die Mitarbeitermotivation

Strategisches Biodiversitätsmanagement durch den Einsatz einer Biodiversity Balanced Scorecard

Reinhard Ledderbogen Sándor Vajna (Hrsg.) CATIA V5 kurz und bündig

Ulrich Gebhard. Kind und Natur

Gene Zelazny. Wie aus Zahlen Bilder werden

Die Big Five und ihre Auswirkungen auf das Gründungsverhalten

Prüfungsklausuren mit Lösungen Band 2014

TeB Bewertung von Wirtschaftsgiitem

Zukunftsorientierte Unternehmenssteuerung in der Energiewirtschaft

ergo_lyps cardio / fitness / 8080 TRS Service-Mappe

Prüfungstraining für Bankkaufleute

Yoga - die Kunst, Körper, Geist und Seele zu formen

Zahnbehandlungs- phobie

Pfeiffer, Einführung in die Rückversicherung

Anjes Tjarks. Familienbilder gleich Weltbilder

Zweckgesellschaften und strukturierte Unternehmen im Konzernabschluss nach HGB und IFRS

Communities mit Bezug zur Bundeswehr

Inga Jung. Betreten verboten! Territorialverhalten bei Hunden verstehen

Bibliografische Information der Deutschen Nationalbibliothek:

Projekt-Management mit Excel

Otto G. Schwenk Soziale Lagen in der Bundesrepublik Deutschland

Steh auf, gib Horus deine Hand

4.5 Nassi-Schneidermann Diagramm

Unterwasserrugby für den Schulsport

Der Weg in die Unternehmensberatung

Anita Lenz Stefan Meretz. Neuronale Netze und Subiektivität

Allgemeine Pädagogik

Methodisches Handeln in der Sozialen Arbeit

Die Bilanzierung des Geschäfts- oder Firmenwertes nach HGB und IFRS

Abrechnung und Mengenermittlung

Wirtschaft. Christopher Ohst

Berufseinstieg für Ingenieure

Springer essentials sind innovative Bücher, die das Wissen von Springer DE in kompaktester Form anhand kleiner, komprimierter Wissensbausteine zur

Lösungen zum Lehrbuch Angewandtes Rechnungswesen

Bettina Heberer. Grüne Gentechnik. Hintergründe, Chancen und Risiken

Peter tom Suden. Die elektronische Rechnung in Handels- und Steuerrecht

Grundwissen Theologie Offenbarung. Bearbeitet von Klaus von Stosch

Einführung in die Montessori-Pädagogik

Ein Kreisverband des DRK - Gefährdung der Gemeinnützigkeit durch wirtschaftliche Aktivitäten

Die deutsch-französischen Beziehungen von der Wiedervereinigung zum Maastrichter Vertrag

Resilienz im Erwachsenenalter

Felix Huth. Straßenkinder in Duala

Langfristige Unternehmenssicherung in KMU durch optimale Liquiditätsplanung und -steuerung

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

Die Besetzung und Fluktuation in der Clubführung der deutschen Fußball-Bundesliga

ortschritte Dieter der Psychotherapie Riemann Fortschritte der Psychotherapie Fortschritte

Ressourcenorientierte Beratung und Therapie

Masterkurs Client/Server-Programmierung mit Java

Strategieumsetzung an Beispielen aus dem Tourismus

Thomas Geisen. Arbeit in der Moderne

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN

Anja Schüler. Arbeit für alle?! Berufliche Teilhabe von Menschen mit geistiger Behinderung in Deutschland und den USA.

Bürgerschaftliebes Engagement und Zivilgesellschaft

Modul 5 Die Nummer 1 für Männer

Erbschaftssteuer im Kontext

Übungsbuch Mathematik für Fachschule Technik und Berufskolleg

P H I L I P P I K A Altertumswissenschaftliche Abhandlungen Contributions to the Study of Ancient World Cultures

Evangelisch in Ständestaat und Nationalsozialismus

Aufsatztraining Deutsch Band 6: Übungsbuch zur gezielten Vorbereitung auf Prüfungen mit Kopiervorlagen. Erich und Hildegard Bulitta.

Konstruktivismus und Pädagogik

Ideengeschichte der Physik

Übungsbuch Mathematik für Fachschule Technik und Berufskolleg

Soziale Arbeit im Krankenhaus

Supervision, Teamberatung, Balintgruppe

Innovative Preismodelle für hybride Produkte

Das Internet als Instrument der Unternehmenskommunikation unter besonderer Berücksichtigung der Investor Relations

Ratgeber Schlafstörungen

Immobilien als Mittel der privaten Altersvorsorge

Konzeptionelle Systemanalyse auf Basis energiepolitischer Rahmenbedingungen für die Zielgruppe der Wohnungsbaugesellschaften

Inklusive Sprachförderung in der Grundschule

Bürgerschaftliches Engagement von Unternehmen

PEPP Veränderungen und Neuerungen

Aufmerksamkeitsstörungen

Die Marketing-Mix-Instrumente und die Möglichkeiten zur Vermarktung von E-Books im Vergleich zum Print-Pendant

Christina Holtz-Bacha (Hrsg.) Stereotype?

IVA. Integrative Validation nach Richard. Nicole Richard. Wertschätzender Umgang mit demenzerkrankten Menschen

Corporate Volunteering als Instrument der Personalarbeit

Wirtschaftlichkeitsanalyse von Photovoltaikfassaden

Leitfäden und Monographien der Informatik. K. Kiyek/F. Schwarz Mathematik für Informatiker 1

Personalkennzahlen. Überblick, Kritik und Praxisrelevanz

Meyer Hautzinger. Ratgeber Manisch-depressive Erkrankung. Informationen für Menschen mit einer bipolaren Störung und deren Angehörige

Transkript:

Ekbert Hering Software-Engineering

Aus dem Programm Informationstechnik Digitale Datenverarbeitung fiir das technische Studium H. Schumny Signaliibertragung H. Schumny Datenfemiibertragung P. Welzel Datenkommunikation D. Conrads PC Praxis H. Schumny LAN Lokale PC5Netzwerke H. Schumny (Hrsg.) ProzeBrechner5Strukturen W. Motsch Assemblerprogrammierung mit dem M 68 000 K. Kief Rechnerstrukturen und Rechnerarchitekturen B. Bundschuh und P. Sokolowsky Einfuhrung in die Methode des Jackson-Structured Programming K. Kilberth '---- Vieweg ---------------------'

Ekbert Hering Software-Engineering 2., verbesserte und vollig neu bearbeitete Auflage Mit 142 Bildem und 25 Dbungsaufgaben mit Losungen Herausgegeben von Harald Schumy Springer Fachmedien Wiesbaden GmbH

CIP-Titelaufnähme der Deutschen Bibliothek Hering, Ekbert: Software engineering/ekbert Hering. Hrsg. von Harald Schumny. 2., verb. u. völlig neubearb. Aufl. Braunschweig; Wiesbaden: Vieweg, 1989 (Viewegs Fachbücher der Technik) ISBN 978-3-528-24284-8 Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. 1. Auflage 1984 1. Nachdruck 1985 2. Nachdruck 1987 3. Nachdruck 1988 2., verbesserte und völlig neu bearbeitete Auflage Alle Rechte vorbehalten Springer Fachmedien Wiesbaden, 1989 Ursprünglich erschienen bei Friedt Vieweg & Sohn Verlagsgesellschaft mbh, Braunschweig in 1989 Das Werk einschließlich aller seiner Teile ist urheberrechdich geschützt. Jede Verwertung außerhalb der engen Grnezen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Obersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Umschlaggestaltung: Hanswerner Klein, Leverkusen Satz: Vieweg, Braunschweig ISBN 978-3-528-24284-8 DOI 10.1007/978-3-663-12366-8 ISBN 978-3-663-12366-8 (ebook)

v Vorwort zur zweiten Auflage Wenn ein Buch iiber Software-Engineering sich trotz des rapiden Wandels der Erkenntnisse in diesem jungen Gebiet, der schnellen Weiterentwicklung der Methoden und einer Vielzahl in zwischen erschienener Biicher zum Thema Software-Engineering fiinf Jahre lang grober Beliebtheit erfreut, dann ist das ein Zeichen dafiir, dab unsere Leser dankbar waren, die Methoden einfach und klar beschrieben zu erhalten, urn sie an ausgewahlten Beispielen nachhvollziehen zu kannen. Dem Leser, der sich in die eine oder andere Methode griindlicher einarbeiten wollte, bot die angegebene Literatur dazu die Maglichkeit. Gerne haben Autor, Herausgeber und Verlag den Wunsch ihrer Leser erfiillt, dieses Werk griindlich zu iiberarbeiten, ohne an Klarheit einzubiiben. Deshalb haben wir das Schema der Beschreibung der Methoden beibehalten und die Literaturhinweise auf den aktuellen Stand gebracht. Bei der Auswahl der Methoden haben wir uns auf diejenigen beschrankt, die auch als rechnergestiitzte Software-Entwicklungswerkzeuge eingesetzt werden. 1m einzelnen handelt es sich urn folgende Methoden: Hierarchische Funktionsgliederung Entscheidungstabelle nach DIN 66241 Programmablaufplan nach DIN 66001 Struktogramm nach DIN 66261 und Pseudocode Datenstrukturen und DatenfluBplan nach DIN 66001 SA und SADT Jackson Strukturierte Programmierung Petri-Netze Neu hinzugekommen sind eine ausfiihrliche Beschreibung der Datenstrukturen (Kapitel 6), die Methode SA/SADT (Kapitel 8) sowie im Kapitel 7 eine ausfiihrliche Darlegung der prinzipieller Vorgehensweise zur Programmerstellung. Dies schien uns erst sinnvoil, nachdem einige wichtige Methoden der Programmerstellung und des Entwerferns von Datenstrukturen behandelt waren. Auf eine Bewertung der einzelnen Methoden haben wir ebenso wenig verzichtet wie auf die Vorstellung von Verfahren zur Aufwandschatzung und Projektmanagement. AIle Kapitel wurden den neuesten Erkenntnissen entsprechend umgestaltet, das Glossar wurde verbessert und erweitert, so dab die zweite Auflage - von wenigen Ausnahmen abgesehen - ein neues Buch darstellt. Zu danken hat der Verfasser allen seinen zahlreichen Teilnehmern der Technischen Akademie Aalen, die im Seminar iiber Software Engineering kritische Zuharer waren, sowie seinem Kollegen Prof. Dr. D. Schaffler, dessen Vorschlage zu wesentlichen Verbesserungen beitrugen. Unterstiitzt wurde der Autor wieder von Mitarbeitern einer Reihe namhafter Software-Hauser, die ihm Vorlagen fur die rechnerunterstiitzte Software Erstellung lieferten. Es sind dies: D. Dyllong und H. Stevens (PSI), W. Mauelshagen (mbp), P. Barski (AiD), L. Fornasiero und U. Zindler (SCS), C. Kapteina (ExperTeam) und K. H. Herrmann (Softlab). Mage dieses Buch in der zweiten Auflage fiir die berufsmabigen Software-Entwickler, fiir die Mitarbeiter in den Fach- und DV-Abteilungen, den Lehrenden und Lernenden sowie dem Heer der Hobbyprogrammierer Ansatze geben, dab sie ihre Aufgaben noch effizienter und qualitatsorientierter zum Wohle der Anwender erfiillen kannen. Heubach, Januar 1989 Ekbert Hering

VI Inhaltsverzeichnis 1 Einfiihrung... 1 1.1 Das Wesen von Software... 1 1.2 Anforderungen an Software... 1 1.2.1 Benutzerakzeptanz... 1 1.2.2 Ausbaufiihigkeit... 3 1.3 Notwendigkeit einer systematischen Entwicklung von Software durch Software-Engineering... 3 1.3.1 Wirtschaftliche Bedeutung von Software im Vergleich zur Hardware........ "................... 3 1. 3.2 Das Dilemma der Software-Herstellung... 4 1.3.3 Aufgaben des Software-Engineering.................... 7 1.4 Prinzipien, Methoden und Instrumente des Software-Engineering... 7 1.4.1 Prinzipien des Software-Engineering... 7 1.4.2 Methoden und Instrumente des Software-Engineering........ 8 2 Hierarchische Funktionsgliederung... 11 2.1 Beschreibung der Methode............................... 11 2.2 Verwendete Symbole... 11 2.3 Vorgehensweise... 11 2.4 Beispiel... 12 2.5 Vor- und Nachteile.................................... 13 2.5.1 Vorteile... 13 2.5.2 Nachteile... 13 2.6 Obungsaufgaben... 13 3 Entscheidungstabelle nach DIN 66241... 14 3.1 Beschreibung der Methode............................... 14 3.2 Verwendete Symbole... 16 3.3 Vorgehensweise... 17 3.4 Beispiele... 17 3.4.1 Beispiel aus dem tiiglichen Leben: Verkehrsverhalten an einer Kreuzung mit Ampelregelung... 17 3.4.2 Verarbeitung von MeBwerten... 18 3.4.3 Steuerung einer Waschmaschine... 19 3.5 Vor- und Nachteile.................................... 20 3.5.1 Vorteile... 20 3.5.2 Nachteile... 21 3.6 Obungsaufgaben... 21 4 Programmablaufplan nach DIN 66001... 22 4.1 Beschreibung der Methode............................... 22 4.2 Verwendete Symbole (DIN 66001)...... 22 4.3 Vorgehensweise... 22

Inhaltsverzeichnis VII 4.4 Beispiele... 27 4.4.1 Verarbeiten von MeBwerten nach Beispiel 3.4.2... 27 4.4.2 Sortieren von beliebig vielen Zahlen... 27 4.4.3 Priifen von Dreiecken auf Rechtwinkligkeit nach Aufgabe 3.6.2... 28 4.5 Vor- und Nachteile.................................... 29 4.5.1 Vorteile... 29 4.5.2 Nachteile... 29 4.6 'Obungsaufgaben... 29 5 Struktogramme nach NassiiShneiderman (DIN 66261) und Pseudocode........................................ 30 5.1 Beschreibung der Methode............................... 30 5.1.1 Strukturierte Programmierung... 30 5.1.2 Beschrankung der Strukturblocke... 30 5.1.3 Prinzip der Zweipoligkeit... 31 5.2 Verwendete Symbole und elementare Strukturblocke im Struktogramm und im Pseudocode... 34 5.3 Vorgehensweise... 34 5.4 Beispiele... 36 5.4.1 Verarbeiten von MeBwerten nach Beispiel 3.4.2... 36 5.4.2 Sortieren beliebig vieler Zahlen nach Beispiel 4.4.2.......... 37 5.4.3 Priifen von Dreiecken auf Rechtwinkligkeit nach Beispiel 4.4.3... 38 5.5 Vor- und Nachteile.................................... 39 5.5.1 Vorteile... 39 5.5.2 Nachteile... 40 5.6 'Obungsaufgaben... 40 6 Datenstrukturen und DatenfluBplan nach DIN 66001... 41 6.1 Datenstrukturen... 41 6.2 Entwerfen stabiler Datenstrukturen......................... 43 6.3 Datenfelder und ihre Beziehungen.......................... 43 6.3.1 Assoziationen zwischen den Datenfeldern................ 43 6.3.2 Datengruppen... 44 6.3.3 Schlfissel... 45 6.3.4 Kanonische Datenstrukturen... 46 6.3.5 Organisation von Datenstrukturen..................... 48 6.4 DatenfluBplan nach DIN 66001... 50 6.4.1 Beschreibung der Methode.......................... 50 6.4.2 Verwendete Symbole (DIN 66001)... 50 6.4.3 Vorgehensweise................................. 52 6.4.4 Beispiele... 52 6.4.4.1 Erstellen eines Auftragsbandes... 52 6.4.4.2 Rechnungsschreibung nach Beispiel 2.2... 52 6.4.4.3 Abwickeln des Zahlungsverkehrs fiber ein Girokonto... 52 6.4.5 Vor- und Nachteile............................... 55 6.4.5.1 Vorteile... 55 6.4.5.2 Nachteile... 55 6.5 'Obungsaufgaben... 55

VIII Inhaltsverzeichnis 7 Prinzipielles Vorgehen zur Software-Erstellung... 56 7.1 Problemanalyse und Anforderungs-Definition... 56 7.1.1 Hierarchische Gliederung der Funktionselemente... 57 7.1.2 Beschreibung der Funktionselemente................... 57 7.1.3 Festlegen der Testfalle... 58 7.2 Entwurf... 58 7.2.1 Arten von Moduln... 59 7.2.2 Beziehung zwischen Programm-Moduln und Dateien (cross-reference)........................... 61 7.3 Implementierung... 61 7.4 Test... 61 7.5 Installation... 64 8 SA (Structured Analysis) und SADT (Structured Analysis and Design Technique)... 65 8.1 Beschreibung der Methode............................... 65 8.2 Verwendete Symbole... 66 8.3 Vorgehensweise... 67 8.3.1 Aufstellen des Aktivitatenmodells..................... 67 8.3.2 Aufstellen des Datenmodells... 67 8.3.3 Vergleich der beiden Modelle... 67 8.3.4 Zusammenstellung zusatzlicher Informationen... 67 8.4 Beispiel... 68 8.5 Vor- und Nachteile.................................... 68 8.5.1 Vorteile... 68 8.5.2 Nachteile... 81 8.6 Obungsaufgaben... 71 9 Jackson Strukturierte Programmierung OSP).................. 72 9.1 Beschreibung der Methode............................... 72 9.2 Verwendete Symbole... 74 9.3 Vorgehensweise... 74 9.4 Beispiele... 76 9.4.1 Lieferscheinbeschreibung mit Vollstandigkeitskontrolle... 77 9.4,2 Rechnungserstellung nach Beispiel 2.4... 78 9.5 Vor- und Nachteile.................................... 83 9.5.1 Vorteile... 84 9.5.2 Nachteile... 84 9.6 Obungsaufgaben... 84 10 Petri-Netze............................................. 85 10.1 Beschreibung der Methode............................... 85 10.2 Arten von Petri-Netzen... 86 10.2.1 Kanal-Instanzen-Netz... 86 10.2.2 Bedingungs-Ereignis-Netz... 87 10.2.3 Stellen-Transitions-Netz... 89 10.2.4 Pradikat-Transitions-Netz... 89 10.3 Vorgehensweise..................................... 91

Inhaltsverzeichnis IX 10.4 Beispiele... 96 10.4.1 Bearbeiten einer Bestellung... 92 10.4.2 Darstellung einer Blockierung am Beispiel des Hauptmann-von Kopenick-Problems... 94 10.4.3 Echtzeitproblem eines Megverfahrens... 95 10.4.4 Entwurf von Kontroll-Datenflug-Netzen... 95 10.5 Vor- und Nachteile.................................... 97 10.5.1 Vorteile... 98 10.5.2 Nachteile... 98 10.6 Ubungsaufgaben... 98 11 Bewertung der Methoden zur Software-Erstellung.............. 99 11.1 Bewertung nach allgemeinen Gesichtspunkten............... 100 11.2 Problemstrukturen... 100 11.3 Unterstiitzung in den Phasen des Software-Lebenszyklus 101 12 Rechnerunterstiitzte Software-Herstellung (Software-Tools)........................ 103 12.1 Hierarchische Funktions-Gliederung mit BOlE (PSI).............. 103 12.2 Entscheidungstabellen mit LlBELLE (mbp)... 103 12.3 Pseudocode und Struktogramm mit X-Tools (AiD)............... 109 12.4 DatenfluBplan mit Excelerator (AiD)........................ 110 12.5 SADT mit PRADOS (SCS)... 111 12.6 Jackson Strukturierte Programmierung mit Jackson Tools (ExperTeam)... 116 12.7 Petri-Netze mit PES (Siemens) und NET (PSI).................. 118 12.8 Verdeutlichen von Hierarchien und Netzen durch Diagonaldarstellungen (AURUM von SIEMENS)... 122 12.9 Projekt-Management mit MAESTRO (softlab).................. 123 13 Aufwandschitzung und Projektfiihrung...................... 126 13.1 Aufwandschatzung.................................... 126 13.1.1 Analogie- und Phasenprozentsatz-Verfahren... 128 13.1.2 Codierzeilen-Verfahren... 128 13.1.3 Sonstige Verfahren............................... 130 13.2 Planung, Steuerung und Uberwachung des Software- Erstellungsprozesses mit Hilfe der Netzplantechnik... 131 13.2.1 Beschreibung der Methode der Netzplantechnik (DIN 69900)................................... 131 13.2.2 Beispiel eines Software-Entwicklungsprojektes mit Hilfe des rechnergestiitzten Netzplanmodells SINET... 132 14 Glossar 139 Literaturverzeichnis... 142 Losungen zu den Obungsaufgaben 143 Sachwortverzeichnis........................................ 166