reine Buchbestellungen ab 5 Euro senden wir Ihnen Portofrei zuDiesen Artikel senden wir Ihnen ohne weiteren Aufpreis als PAKET

Software-Entwicklungswerkzeuge: Methodische Grundlagen
XLeitfäden der angewandten Informatik
Tibor Németh

Print on Demand - Dieser Artikel wird für Sie gedruckt!

54,99 €

inkl. MwSt. · Portofrei
Dieses Produkt wird für Sie gedruckt, Lieferzeit 5-6 Werktage
Menge:

Software-Entwicklungswerkzeuge: Methodische Grundlagen

Produktbeschreibung

1 Einleitung.- 1.1 CASE.- 1.2 Vorgehensmodelle ? Methoden ? Tools.- 1.3 Grundlegende Entwicklungsstrategien.- 1.3.1 Abstraktion und Konkretisierung.- 1.3.2 Funktions- und Datenorientierung.- 1.4 Phasen eines Entwicklungsprojekts.- 1.4.1 Vorstudie.- 1.4.2 Anforderungsanalyse.- 1.4.3 System- und Software-Entwurf.- 1.4.4 Implementation und Komponententest.- 1.4.5 Systemtest.- 1.4.6 Betrieb und Wartung.- 1.5 Überblick.- 2 Universell einsetzbare Techniken.- 2.1 Dekompositionsdiagramme.- 2.1.1 Graphische Repräsentation.- 2.1.2 Gebräuchliche Erweiterungen.- 2.1.3 Praktische Anwendung.- 2.2 Entscheidungstabellen und -bäume.- 2.2.1 Grundlagen der Entscheidungstabellen-Technik.- 2.2.2 Erweiterungen.- 2.2.3 Entscheidungsbäume.- 2.3 Endliche Automaten.- 3 Methoden und Sprachen für die Strukturierte Analyse.- 3.1 Structured Analysis.- 3.2 Datenflußdiagramme nach DeMarco.- 3.2.1 Graphische Elemente.- 3.2.2 Ebenenbildung.- 3.2.3 Detailspezifikation von Prozessen und Daten.- 3.3 Datenflußdiagramme nach Gane und Sarson.- 3.3.1 Graphische Elemente.- 3.3.2 Ebenenbildung.- 3.4 Objektflußdiagramme.- 3.4.1 Graphische Elemente.- 3.4.2 Ebenenbildung.- 4 Datenmodellierung.- 4.1 Grundlagen der Datenmodellierung.- 4.1.1 Ebenenarchitektur eines Datenbanksystems.- 4.1.2 Prinzipien der Konzeptuellen Modellierung.- 4.1.3 Datenmodelle.- 4.2 Semantisch-hierarchisches Objektmodell.- 4.2.1 Abstraktionen.- 4.2.2 Vererbung.- 4.2.3 Identifikation von Objekten.- 4.3 Entity-Relationship-Modelle.- 4.3.1 Grundlegende Konzepte.- 4.3.2 Krähenfuß-Notation.- 4.3.3 Zusätzliche Konzepte.- 4.4 Methodische Aspekte.- 4.4.1 Die Datenmodellierung im Life-Cycle-Modell.- 4.4.2 Informationsbedarfsanalyse.- 4.4.3 Strategische Informationsplanung.- 5 Spezifikation des Systemverhaltens.- 5.1 Vorüberlegungen.- 5.2 Structured Analysis/Real-Time.- 5.2.1 Der Ansatz von Hatley und Pirbhai.- 5.2.2 Der Ansatz von Ward und Mellor.- 5.3 Petri-Netze.- 5.3.1 Bedingungs/Ereignis-Netze.- 5.3.2 Stelle/Transitions-Netze.- 5.3.3 Prädikat/Transitions-Netze.- 5.3.4 Spezifikation weiterer Systemaspekte.- 5.3.5 Anmerkungen zum Einsatz von Petri-Netzen.- 5.3.6 Analyse.- 6 Entwurf von Benutzerschnittstellen.- 6.1 Begriffe.- 6.1.1 Dialogklassen.- 6.1.2 Dialogunabhängigkeit.- 6.2 Werkzeugunterstützung.- 6.2.1 User-interface Toolkits.- 6.2.2 User-interface Development Systems.- 6.3 Sprachen.- 6.3.1 Kontextfreie Grammatiken.- 6.3.2 Zustandsdiagramme.- 6.3.3 Ereignisbasierte Darstellungen.- 6.3.4 Spezifikation durch Bildschirmentwürfe.- 6.3.5 Wissensbasierte Repräsentation.- 6.4 Zustandsdiagramme nach Wasserman.- 7 Funktionsorientierter Programmentwurf.- 7.1 Composite/Structured Design.- 7.1.1 Modularisierung.- 7.1.2 Structure Charts.- 7.1.3 Organisation modularer Systeme.- 7.1.4 Entwurf modularer Systeme.- 7.2 Pseudo-Code.- 7.3 Struktogramme.- 8 Datenorientierter Programmentwurf.- 8.1 Jackson-strukturierte Programmierung.- 8.1.1 Entwurfsidee.- 8.1.2 Jackson-Diagramme.- 8.1.3 Entwurfsschritte.- 8.1.4 Strukturkonflikte.- 8.2 Programmentwurf nach Warnier und Orr.- 8.2.1 Entwurfsidee.- 8.2.2 Warnier/Orr-Diagramme.- 8.2.3 Entwurfsschritte.- 8.3 Überlegungen zum datenorientierten Programmentwurf.- 9 Objektorientierter Entwurf.- 9.1 Vorüberlegungen und Begriffe.- 9.1.1 Objekt.- 9.1.2 Vererbung.- 9.2 Programmentwurf mit Eiffel.- 9.2.1 Objektorientierte Systeme.- 9.2.2 Bestimmung der Objektklassen.- 9.2.3 Beschreibung der Objektklassen.- 9.2.4 Klassenbeziehungen: Wiederverwendung und Erweiterung von Eigenschaften.- 9.2.5 Deferred Classes.- 9.2.6 Ausführbarer Programmentwurf.- 9.3 Objektorientierter strukturierter Entwurf.- 9.3.1 Klassendefinition.- 9.3.2 Behandlung von Ausnahmesituationen.- 9.3.3 Instanziierung von Objekten.- 9.3.4 Vererbung.- 9.3.5 Generische Einheiten.- 9.3.6 Weitere Notationen.- 9.3.7 Entwurf objektorientierter Systeme.- 10 Alternative Ansätze zur Software-Entwicklung.- 10.1 Motivation.- 10.2 Software-Wiederverwendung.- 10.2.1 Arten der Wiederverwendung.- 10.2.2 Techniken.- 10.2.3 Wiederverwendung im Software-Life-Cycle.- 10.2.4 Reverse Engineering.- 10.3 Prototyping.- 10.3.1 Einführung.- 10.3.2 Prototyping-Zyklus.- 10.3.3 Prototyping-Ansätze.- 10.3.4 Techniken zur Unterstützung des Prototyping.- 10.4 Operationale Spezifikationssprachen und Transformationssysteme.- 10.4.1 Problematik konventioneller Software-Entwicklung.- 10.4.2 Operationale Spezifikationssprachen.- 10.4.3 Spezifikationsinterpreter.- 10.4.4 Transformationssysteme.- 11 Konzeption und Durchsetzung von CASE-Strategien.- 11.1 Konzeption einer CASE-Strategie.- 11.2 Einführung und Einsatz.- 11.3 Resümee.- Produkte.- Literatur.- Verzeichnis der Abbildungen.- Register.
"Was verstehen Sie unter Software Engineering?" Stellen Sie diese Frage zehn verschiedenen Personen, werden Sie sicher ebensoviele verschiedene Antworten bekommen. Der Grund liegt darin, daB sich in dieser vergleichs weise jungen Disziplin bisher weder eine einheitliche Begriffswelt noch eine allgemein anerkannte Menge von Grundlagenwissen ausgebildet hat. Pro blematisch ist auch die Kluft zwischen Forschung und Praxis, die eine ziigi ge Weiterentwicklung des Software Engineering geradezu blockiert. Dies fiihrt dazu, daB vielerorts in der Software-Entwicklung heute erst mit dem Einsatz von Methoden begonnen wird, die noch aus den 70er Jahren stam men und ffir modeme Software- und Hardware-Umgebungen vollig inad aquat sind. Das vorliegende Buch mochte einen Beitrag zur Uberbriickung dieses Gefal les liefem. Es beschaftigt sich mit den methodischen Grundlagen aktueller Software-Entwicklungswerkzeuge, die heute zumeist mit dem Begriff CASE-Tool bezeichnet werden. Um hier keine unnotigen sprachlichen Bar rieren aufzubauen - auch die Definition von CASE ist nicht eindeutig -, haben wir auf diesen Begriff im Titel des Buches bewuBt verzichtet. Das Buch wendet sich an Fach- und Fiihrungskrafte, die sich im Rahmen eines Innovationsprojekts oder auch in ihrer taglichen Arbeit mit Software Entwicklungsmethoden und -werkzeugen beschaftigen. Es versteht sich aber auch als Grundlage fur die praxisnahe Ausbildung von Studenten der Informatik und Wirtschaftsinformatik.
1 Einleitung.- 1.1 CASE.- 1.2 Vorgehensmodelle - Methoden - Tools.- 1.3 Grundlegende Entwicklungsstrategien.- 1.3.1 Abstraktion und Konkretisierung.- 1.3.2 Funktions- und Datenorientierung.- 1.4 Phasen eines Entwicklungsprojekts.- 1.4.1 Vorstudie.- 1.4.2 Anforderungsanalyse.- 1.4.3 System- und Software-Entwurf.- 1.4.4 Implementation und Komponententest.- 1.4.5 Systemtest.- 1.4.6 Betrieb und Wartung.- 1.5 Überblick.- 2 Universell einsetzbare Techniken.- 2.1 Dekompositionsdiagramme.- 2.1.1 Graphische Repräsentation.- 2.1.2 Gebräuchliche Erweiterungen.- 2.1.3 Praktische Anwendung.- 2.2 Entscheidungstabellen und -bäume.- 2.2.1 Grundlagen der Entscheidungstabellen-Technik.- 2.2.2 Erweiterungen.- 2.2.3 Entscheidungsbäume.- 2.3 Endliche Automaten.- 3 Methoden und Sprachen für die Strukturierte Analyse.- 3.1 Structured Analysis.- 3.2 Datenflußdiagramme nach DeMarco.- 3.2.1 Graphische Elemente.- 3.2.2 Ebenenbildung.- 3.2.3 Detailspezifikation von Prozessen und Daten.- 3.3 Datenflußdiagramme nach Gane und Sarson.- 3.3.1 Graphische Elemente.- 3.3.2 Ebenenbildung.- 3.4 Objektflußdiagramme.- 3.4.1 Graphische Elemente.- 3.4.2 Ebenenbildung.- 4 Datenmodellierung.- 4.1 Grundlagen der Datenmodellierung.- 4.1.1 Ebenenarchitektur eines Datenbanksystems.- 4.1.2 Prinzipien der Konzeptuellen Modellierung.- 4.1.3 Datenmodelle.- 4.2 Semantisch-hierarchisches Objektmodell.- 4.2.1 Abstraktionen.- 4.2.2 Vererbung.- 4.2.3 Identifikation von Objekten.- 4.3 Entity-Relationship-Modelle.- 4.3.1 Grundlegende Konzepte.- 4.3.2 Krähenfuß-Notation.- 4.3.3 Zusätzliche Konzepte.- 4.4 Methodische Aspekte.- 4.4.1 Die Datenmodellierung im Life-Cycle-Modell.- 4.4.2 Informationsbedarfsanalyse.- 4.4.3 Strategische Informationsplanung.- 5 Spezifikation des Systemverhaltens.- 5.1 Vorüberlegungen.- 5.2 Structured Analysis/Real-Time.- 5.2.1 Der Ansatz von Hatley und Pirbhai.- 5.2.2 Der Ansatz von Ward und Mellor.- 5.3 Petri-Netze.- 5.3.1 Bedingungs/Ereignis-Netze.- 5.3.2 Stelle/Transitions-Netze.- 5.3.3 Prädikat/Transitions-Netze.- 5.3.4 Spezifikation weiterer Systemaspekte.- 5.3.5 Anmerkungen zum Einsatz von Petri-Netzen.- 5.3.6 Analyse.- 6 Entwurf von Benutzerschnittstellen.- 6.1 Begriffe.- 6.1.1 Dialogklassen.- 6.1.2 Dialogunabhängigkeit.- 6.2 Werkzeugunterstützung.- 6.2.1 User-interface Toolkits.- 6.2.2 User-interface Development Systems.- 6.3 Sprachen.- 6.3.1 Kontextfreie Grammatiken.- 6.3.2 Zustandsdiagramme.- 6.3.3 Ereignisbasierte Darstellungen.- 6.3.4 Spezifikation durch Bildschirmentwürfe.- 6.3.5 Wissensbasierte Repräsentation.- 6.4 Zustandsdiagramme nach Wasserman.- 7 Funktionsorientierter Programmentwurf.- 7.1 Composite/Structured Design.- 7.1.1 Modularisierung.- 7.1.2 Structure Charts.- 7.1.3 Organisation modularer Systeme.- 7.1.4 Entwurf modularer Systeme.- 7.2 Pseudo-Code.- 7.3 Struktogramme.- 8 Datenorientierter Programmentwurf.- 8.1 Jackson-strukturierte Programmierung.- 8.1.1 Entwurfsidee.- 8.1.2 Jackson-Diagramme.- 8.1.3 Entwurfsschritte.- 8.1.4 Strukturkonflikte.- 8.2 Programmentwurf nach Warnier und Orr.- 8.2.1 Entwurfsidee.- 8.2.2 Warnier/Orr-Diagramme.- 8.2.3 Entwurfsschritte.- 8.3 Überlegungen zum datenorientierten Programmentwurf.- 9 Objektorientierter Entwurf.- 9.1 Vorüberlegungen und Begriffe.- 9.1.1 Objekt.- 9.1.2 Vererbung.- 9.2 Programmentwurf mit Eiffel.- 9.2.1 Objektorientierte Systeme.- 9.2.2 Bestimmung der Objektklassen.- 9.2.3 Beschreibung der Objektklassen.- 9.2.4 Klassenbeziehungen: Wiederverwendung und Erweiterung von Eigenschaften.- 9.2.5 Deferred Classes.- 9.2.6 Ausführbarer Programmentwurf.- 9.3 Objektorientierter strukturierter Entwurf.- 9.3.1 Klassendefinition.- 9.3.2 Behandlung von Ausnahmesituationen.- 9.3.3 Instanziierung von Objekten.- 9.3.4 Vererbung.- 9.3.5 Generische Einheiten.- 9.3.6 Weitere Notationen.- 9.3.7 Entwurf objektorientierter Systeme.- 10 Alternative Ansätze zur Software-Entwicklung.- 10.1 Motivation.- 10.2 Software-Wiederverwendung.- 10.2.1 Arten der Wiederverwendung.- 10.2.2 Techniken.- 10.
Frank Schönthaler ist geschäftsführender Gesellschafter der PROMATIS Unternehmensgruppe. Er verantwortet die Unternehmens- und Produktstrategie und führt das operative Kerngeschäft. Als Executive Consultant berät er internationale Kunden in Strategieentwicklung und Business Reengineering. In der DOAG Deutsche Oracle Anwendergruppe e.V. verantwortet er die Bereiche Business Applications und Hochschul-Community.

Inhaltsverzeichnis



1 Einleitung.- 1.1 CASE.- 1.2 Vorgehensmodelle - Methoden - Tools.- 1.3 Grundlegende Entwicklungsstrategien.- 1.3.1 Abstraktion und Konkretisierung.- 1.3.2 Funktions- und Datenorientierung.- 1.4 Phasen eines Entwicklungsprojekts.- 1.4.1 Vorstudie.- 1.4.2 Anforderungsanalyse.- 1.4.3 System- und Software-Entwurf.- 1.4.4 Implementation und Komponententest.- 1.4.5 Systemtest.- 1.4.6 Betrieb und Wartung.- 1.5 Überblick.- 2 Universell einsetzbare Techniken.- 2.1 Dekompositionsdiagramme.- 2.1.1 Graphische Repräsentation.- 2.1.2 Gebräuchliche Erweiterungen.- 2.1.3 Praktische Anwendung.- 2.2 Entscheidungstabellen und -bäume.- 2.2.1 Grundlagen der Entscheidungstabellen-Technik.- 2.2.2 Erweiterungen.- 2.2.3 Entscheidungsbäume.- 2.3 Endliche Automaten.- 3 Methoden und Sprachen für die Strukturierte Analyse.- 3.1 Structured Analysis.- 3.2 Datenflußdiagramme nach DeMarco.- 3.2.1 Graphische Elemente.- 3.2.2 Ebenenbildung.- 3.2.3 Detailspezifikation von Prozessen und Daten.- 3.3 Datenflußdiagramme nach Gane und Sarson.- 3.3.1 Graphische Elemente.- 3.3.2 Ebenenbildung.- 3.4 Objektflußdiagramme.- 3.4.1 Graphische Elemente.- 3.4.2 Ebenenbildung.- 4 Datenmodellierung.- 4.1 Grundlagen der Datenmodellierung.- 4.1.1 Ebenenarchitektur eines Datenbanksystems.- 4.1.2 Prinzipien der Konzeptuellen Modellierung.- 4.1.3 Datenmodelle.- 4.2 Semantisch-hierarchisches Objektmodell.- 4.2.1 Abstraktionen.- 4.2.2 Vererbung.- 4.2.3 Identifikation von Objekten.- 4.3 Entity-Relationship-Modelle.- 4.3.1 Grundlegende Konzepte.- 4.3.2 Krähenfuß-Notation.- 4.3.3 Zusätzliche Konzepte.- 4.4 Methodische Aspekte.- 4.4.1 Die Datenmodellierung im Life-Cycle-Modell.- 4.4.2 Informationsbedarfsanalyse.- 4.4.3 Strategische Informationsplanung.- 5 Spezifikation des Systemverhaltens.- 5.1 Vorüberlegungen.- 5.2 Structured Analysis/Real-Time.- 5.2.1 Der Ansatz von Hatley und Pirbhai.- 5.2.2 Der Ansatz von Ward und Mellor.- 5.3 Petri-Netze.- 5.3.1 Bedingungs/Ereignis-Netze.- 5.3.2 Stelle/Transitions-Netze.- 5.3.3 Prädikat/Transitions-Netze.- 5.3.4 Spezifikation weiterer Systemaspekte.- 5.3.5 Anmerkungen zum Einsatz von Petri-Netzen.- 5.3.6 Analyse.- 6 Entwurf von Benutzerschnittstellen.- 6.1 Begriffe.- 6.1.1 Dialogklassen.- 6.1.2 Dialogunabhängigkeit.- 6.2 Werkzeugunterstützung.- 6.2.1 User-interface Toolkits.- 6.2.2 User-interface Development Systems.- 6.3 Sprachen.- 6.3.1 Kontextfreie Grammatiken.- 6.3.2 Zustandsdiagramme.- 6.3.3 Ereignisbasierte Darstellungen.- 6.3.4 Spezifikation durch Bildschirmentwürfe.- 6.3.5 Wissensbasierte Repräsentation.- 6.4 Zustandsdiagramme nach Wasserman.- 7 Funktionsorientierter Programmentwurf.- 7.1 Composite/Structured Design.- 7.1.1 Modularisierung.- 7.1.2 Structure Charts.- 7.1.3 Organisation modularer Systeme.- 7.1.4 Entwurf modularer Systeme.- 7.2 Pseudo-Code.- 7.3 Struktogramme.- 8 Datenorientierter Programmentwurf.- 8.1 Jackson-strukturierte Programmierung.- 8.1.1 Entwurfsidee.- 8.1.2 Jackson-Diagramme.- 8.1.3 Entwurfsschritte.- 8.1.4 Strukturkonflikte.- 8.2 Programmentwurf nach Warnier und Orr.- 8.2.1 Entwurfsidee.- 8.2.2 Warnier/Orr-Diagramme.- 8.2.3 Entwurfsschritte.- 8.3 Überlegungen zum datenorientierten Programmentwurf.- 9 Objektorientierter Entwurf.- 9.1 Vorüberlegungen und Begriffe.- 9.1.1 Objekt.- 9.1.2 Vererbung.- 9.2 Programmentwurf mit Eiffel.- 9.2.1 Objektorientierte Systeme.- 9.2.2 Bestimmung der Objektklassen.- 9.2.3 Beschreibung der Objektklassen.- 9.2.4 Klassenbeziehungen: Wiederverwendung und Erweiterung von Eigenschaften.- 9.2.5 Deferred Classes.- 9.2.6 Ausführbarer Programmentwurf.- 9.3 Objektorientierter strukturierter Entwurf.- 9.3.1 Klassendefinition.- 9.3.2 Behandlung von Ausnahmesituationen.- 9.3.3 Instanziierung von Objekten.- 9.3.4 Vererbung.- 9.3.5 Generische Einheiten.- 9.3.6 Weitere Notationen.- 9.3.7 Entwurf objektorientierter Systeme.- 10 Alternative Ansätze zur Software-Entwicklung.- 10.1 Motivation.- 10.2 Software-Wiederverwendung.- 10.2.1 Arten der Wiederverwendung.- 10.2.2 Techniken.- 10.2.3 Wiederverwendung im Software-Life-Cycle.- 10.2.4 Reverse Engineering.- 10.3 Prototyping.- 10.3.1 Einführung.- 10.3.2 Prototyping-Zyklus.- 10.3.3 Prototyping-Ansätze.- 10.3.4 Techniken zur Unterstützung des Prototyping.- 10.4 Operationale Spezifikationssprachen und Transformationssysteme.- 10.4.1 Problematik konventioneller Software-Entwicklung.- 10.4.2 Operationale Spezifikationssprachen.- 10.4.3 Spezifikationsinterpreter.- 10.4.4 Transformationssysteme.- 11 Konzeption und Durchsetzung von CASE-Strategien.- 11.1 Konzeption einer CASE-Strategie.- 11.2 Einführung und Einsatz.- 11.3 Resümee.- Produkte.- Literatur.- Verzeichnis der Abbildungen.- Register.


Klappentext



"Was verstehen Sie unter Software Engineering?" Stellen Sie diese Frage zehn verschiedenen Personen, werden Sie sicher ebensoviele verschiedene Antworten bekommen. Der Grund liegt darin, daB sich in dieser vergleichs­ weise jungen Disziplin bisher weder eine einheitliche Begriffswelt noch eine allgemein anerkannte Menge von Grundlagenwissen ausgebildet hat. Pro­ blematisch ist auch die Kluft zwischen Forschung und Praxis, die eine ziigi­ ge Weiterentwicklung des Software Engineering geradezu blockiert. Dies fiihrt dazu, daB vielerorts in der Software-Entwicklung heute erst mit dem Einsatz von Methoden begonnen wird, die noch aus den 70er Jahren stam­ men und ffir modeme Software- und Hardware-Umgebungen vollig inad­ aquat sind. Das vorliegende Buch mochte einen Beitrag zur Uberbriickung dieses Gefal­ les liefem. Es beschaftigt sich mit den methodischen Grundlagen aktueller Software-Entwicklungswerkzeuge, die heute zumeist mit dem Begriff CASE-Tool bezeichnet werden. Um hier keine unnotigen sprachlichen Bar­ rieren aufzubauen - auch die Definition von CASE ist nicht eindeutig -, haben wir auf diesen Begriff im Titel des Buches bewuBt verzichtet. Das Buch wendet sich an Fach- und Fiihrungskrafte, die sich im Rahmen eines Innovationsprojekts oder auch in ihrer taglichen Arbeit mit Software­ Entwicklungsmethoden und -werkzeugen beschaftigen. Es versteht sich aber auch als Grundlage fur die praxisnahe Ausbildung von Studenten der Informatik und Wirtschaftsinformatik.