Donnerstag, 17. Juli 2008

Jterms, der Unterschied

Um den Unterschied zu den heute breit angewendeten Komponenten und Methoden darzustellen, werde ich zunächst zeigen, wie die heutige Software-Entwicklung im wesentlichen durchgeführt wird.

Im Bereich der heutigen Software-Entwicklung existiert eine ganze Fülle von unterschiedlichsten Vorgehensmodellen, Werkzeugen und Komponenten, die zum Zwecke einer effizienten und flexiblen Entwicklung von Software-Produkten dienen. Unabhängig von den eingesetzten Programmiersprachen, Komponenten und der Datenhaltung lässt sich jeder heute angewendete Software-Entwicklungsprozess in fünf folgende grundsätzliche Phasen einteilen:

  1. Anforderungsanalyse

  2. Fachkonzeption (Überführung von Anforderungen in fachliche Konzepte)

  3. Technische Konzeption (Überführung von fachlichen Konzepten auf die technische Ebene, in Abhängigkeit von der eingesetzten Programmiersprache, Datenhaltung und Ausführungsplattform)

  4. Umsetzung der technischen Konzeption

  5. Qualitätssicherung (Testen der Umsetzung anhand der gestellten Anforderungen und der Fachkonzepte)

Jede der genannten Phasen ist in jedem Entwicklungsprozess zu finden, unabhängig davon, wie stark sie ausgeprägt sind. Für jede der genannten Phasen existieren bereits zahlreiche Werkzeuge, die den Entwicklungsprozess innerhalb dieser Phasen unterstützen. Dennoch werden in der heutigen Software-Entwicklung prozessbedingt immer wieder gleiche Arbeitsschritte mit unterschiedlichen Ergebnissen durchgeführt. Alle diese Arbeitsschritte sind in den Phasen „technische Konzeption“, „Umsetzung der technischen Konzeption“ und „Qualitätssicherung“ anzusiedeln. Beispiele für diese Tätigkeiten wären: Datenbankdesign, Programmierung der Businesslogik oder der graphischen Nutzungsschnittstellen, Überführung der Fachkonzepte in Tests. Die Ergebnisse dieser Arbeitsschritte sind ganz und allein auf das konkret zu entwickelnde Software-Produkt zugeschnitten und können im Großen und Ganzen nicht wieder verwendet werden, obwohl die Ergebnisse der durchgeführten Arbeitsschritte auch auf andere Anwendungsgebiete übertragbar wären. Die Folge ist: Herstellung von Software ist heute mit einer Manufaktur zu vergleichen, wo unter Einbeziehung von ingenieurmäßigen Vorgehensweisen und vorhandenen Komponenten für z.B. Datenbankzugriff oder GUI-Darstellung ähnliche – in ihrer Beschaffenheit und Struktur – Produkte für unterschiedlichste Zwecke größtenteils manuell hergestellt werden.

Mit jterms ist es jedoch möglich, die Phasen „technische Konzeption“, „Umsetzung der technischen Konzeption“ und die meisten Arbeitsschritte bei der Qualitätssicherung auslassen. Warum? Weil die Software-Entwicklung auf der jterms-Basis auf ein höheres Abstraktionsniveau gelegt wird, als dies Heute der Fall ist. Über Datenbankdesign, Businesslogik und GUI-Darstellung braucht man im Standardfall keine Gedanken zu verschwenden, da diese bereits zur Verfügung stehen.

In einem späteren Artikel werde ich mit den Beispielen diese Aussage veranschaulichen. Zunächst möchte ich jedoch der Frage nachgehen, warum ich schneller und günstiger bin als die anderen.

Keine Kommentare: