Skip to main content
main-content

Über dieses Buch

Erstmalig werden in einem Buch Automatisierungspotentiale und Werkzeuge der Software-Entwicklung gemeinsam dargestellt. Begonnen wird mit einer Analyse der automatisierbaren Tätigkeiten im Software Life Cycle. Darauf aufbauend erfolgt die Präsentation einer an den Funktionen und Einsatzbereichen der Software Tools orientierten Systematik; sie unterstützt sowohl die theoretische Einordnung als auch die praxisorientierte Auswahl der Programmierwerkzeuge. Parallel dazu werden die wesentlichen Eigenschaften der Werkzeuge auf der Basis einer vereinheitlichten Terminologie erläutert. Dadurch erhält der Leser einen umfassenden Überblick über Funktionen und Einsatzbereiche von Software Tools (incl. Fourth Generation Languages - 4GLs), der auch weniger gebräuchliche Tools mit teilweise ungewöhnlichen Funktionen berücksichtigt.

Inhaltsverzeichnis

Frontmatter

1. Einleitung

Zusammenfassung
Die professionelle Software-Entwicklung ist ohne Werkzeuge nicht mehr zu bewältigen.1) Software Tools haben, insbesondere in den letzten Jahren, eine immer größere Bedeutung erlangt. Trotz dieser Hilfsmittel ist die Software-Krise noch nicht überwunden, der Anwendungsstau vergrößert sich zusehends. Zwar durchdringen wissenschaftlich fundierte Methoden die EDV-Abteilungen und dementsprechend viel wird auch darüber diskutiert? erstaunlicherweise aber ist das Wissen über die einzusetzenden Werkzeuge in den meisten Fällen wenig konkret und erschöpft sich in eher diffusen Vorstellungen. Diese Defizite äußern sich in Schwierigkeiten bei der definitorischen Abgrenzung des Begriffs Software Tool, bei der Zuordnung von Werkzeugen zu Aufgaben (Auswahlproblem) und bei der Erfassung der Automatisierungsgrenzen. Das alles sind Zeichen dafür, daß dieser Bereich des Software Engineerings offensichtlich etwas vernachlässigt ist. Eine Verbesserung der Situation ist verbunden mit der ausführlichen Beantwortung der folgenden Fragen: Für welche automatisierbaren Aktivitäten bei der Software-Entwicklung gibt es Werkzeuge, wo bestehen noch Tool-Defizite?
Knut Hildebrand

2. Was sind Software Tools?

Zusammenfassung
Diese Frage läßt sich nicht in einem Satz beantworten, da bis jetzt eine einheitliche und allgemein anerkannte Definition des Begriffs „Software Tool“fehlt. Etwas salopper formuliert es eine weit verbreitete Fachzeitung in der Rubrik „Software Engineering“:
„Das Durcheinander ist perfekt: In keinem Bereich der Software gibt es eine derart unüberschaubare Produktvielfalt wie bei den Tools und Werkzeugen für die Programm-Entwicklung. Das liegt nicht zuletzt am Definitions-Wirrwarr, der in der Disziplin des Software-Engineering immer noch vorherrscht. Selbst die Hersteller sind oft nicht in der Lage, ihre eigenen Produkte dem Ablauf der ingenieursmäßigen Programmerstellung zuzuordnen.“1)
Knut Hildebrand

3. Automatisierungspotentiale im Software Engineering

Zusammenfassung
Software Tools sind nicht parallel mit den dazugehörenden Rechnern erschienen, sondern wurden erst nach und nach entwickelt. Der Übergang von der Software-„Manufaktur“hin zur Software- „Fabrik“- und damit von der sogenannten Bit-Fummelei2) hin zur organisierten und (teil)automatisierten, werkzeuggestützten Produktion - wurde durch mehrere Faktoren ausgelöst. Dazu gehören in allererster Linie die Probleme der Software-Qualität, deren Ursachen in einer überholten Produktionsweise zu finden sind. Außer dieser wohlbekannten Software-Krise gibt es noch zwei wesentliche Aspekte. Zum einen den Hardware-Preisverfall, der immer mehr Anwendern die Möglichkeiten zur Computernutzung eröffnete, zum anderen die daraus resultierende Nachfrage nach der entsprechenden Software, die mangels ausgebildeter Fachkräfte im Programmierbereich nicht befriedigt werden konnte. 3) „Deshalb ist man auf die Idee gekommen, den Rechner nicht nur anderen zur Nutzung zu empfehlen, sondern auch selbst bei der Software-Entwicklung einzusetzen.“4) Tools sind demnach kein Selbstzweck, sondern „.. a tool is typically developed in response to a perceived problem. Sextants, for example, were developed and improved because navigators and their ships were getting lost, with the attendant loss of people and goods.
Knut Hildebrand

4. Einordnungs- und Auswahlkonzepte für Software Tools

Zusammenfassung
Nachdem im zweiten Kapitel die in dieser Arbeit gültige Definition des Begriffs Software Tool gegeben, und im dritten Abschnitt die Frage „Was kann durch Software Tools im Rahmen des Software Engineering automatisiert werden?“ hauptsächlich anhand des Software Life Cycles untersucht wurde, werden jetzt die in der Literatur vorgefundenen Einordnungs- und Auswahlkonzepte (Klassifikationen) diskutiert. Darauf aufbauend wird im fünften Kapitel ein neuer integrierter Ansatz, der auch die 4GLs explizit berücksichtigt, dargestellt.
Knut Hildebrand

5. Integration von funktionalen und phasenorientierten Aspekten - ein neuer Klassifikationsansatz

Zusammenfassung
Bisher haben wir im dritten Kapitel den Anspruch des Software Engineering und verschiedene Vorgehensweisen bei der Software- Erstellung - insbesondere den Software Life Cycle - kennengelernt. Dabei wurde untersucht, welche Automatisierungspotentiale die einzelnen Aktivitäten bieten, d.h. es ging um die Frage: Was kann man durch Software Tools automatisieren? Die nächste, unmittelbar damit zusammenhängende Frage lautet: Wie können die festgestellten Automatisierungsmöglichkeiten durch Software- Entwicklungswerkzeuge ausgefüllt werden? Eine einzelfallbezogene Lösung dieses Problems ist langfristig gesehen wenig hilfreich. Sinnvoller ist hingegen die Bereitstellung eines theoretischen Rahmens (Klassifikation), der die Zuordnung von Tools zu den Aufgaben/Problemen des Software Engineering unterstützt.
Knut Hildebrand

6. Offene Automatisierungspotentiale und Lösungsansätze

Zusammenfassung
In den vorhergehenden Kapiteln wurden sowohl bestehende Automatisierungsmöglichkeiten im Software Engineering aufgezeigt, als auch Konzepte vorgestellt, die die Zuordnung von Software Tools zu den entsprechenden Aufgaben unterstützen. Die eingehende Analyse bestätigte die Hypothese, daß bisherige Ansätze für die Einordnung und Auswahl von Software Tools bestimmte Schwächen aufweisen. Insbesondere die Berücksichtigung von 4GLs fand nicht in dem ihr gebührenden Umfang statt. Gelöst wurde dieses Problem durch die Präsentation eines neuen, integrierten Ansatzes für die Einordnung und Auswahl von Software-Entwicklungswerkzeugen.
Knut Hildebrand

7. Zusammenfassung und Ausblick

Zusammenfassung
Bei der Erläuterung der Problemstellung im ersten Kapitel wurde darauf hingewiesen, daß der Bereich Software Tools bisher in der Literatur nicht ausreichend thematisiert worden ist. Es bestehen Defizite in Theorie und Praxis, die sowohl die vorhandenen Automatisierungen durch Werkzeuge betreffen, als auch die noch zu schließenden Automatisierungslücken. Daher ist das Ziel dieser Arbeit die Schaffung eines Ansatzes, der einerseits die Einordnung und Auswahl von existierenden Software Tools unterstützt, und andererseits zur Aufdeckung und Beseitigung der Tool-Defizite beiträgt.
Knut Hildebrand

Backmatter

Weitere Informationen