Unsere Technologien

Unsere Entwicklungsmethodik

Wir haben uns auf die schnelle und damit kostengünstige Entwicklung von Individualsoftware spezialisiert und verfügen über große Erfahrungen bei der Entwicklung datenbankgestützter Client-Server-Lösungen unter Verwendung der Datenbank ORACLE1) und diverser, zugehöriger Werkzeuge.

Die zu entwickelnde Datenverarbeitungslösung wird mit unseren Kunden von der

  • Ideenfindung,
  • Zielvorgabe,
  • Prototyperstellung,
  • Feinspezifikation,
  • Entwicklung,
  • Erprobung,
  • Inbetriebnahme bis zur
  • Nutzung durch den Anwender

 

in einer ‘kooperativen Softwareentwicklung’ gemeinsam realisiert. Den Dialog zwischen Entwickler und Anwender unterstützen wir durch `rapid prototyping´, und nutzen dazu RAD- Tools.

Bei der Softwareentwicklung werden Informationen, Arbeitsabläufe und Prozesse in Datenstrukturen und Algorithmen abgebildet. Diese Abbildung muß der Wirklichkeit möglichst nahe kommen, damit das Softwareprodukt effektiv eingesetzt werden kann. Dabei erweist sich die Abbildung als eines der zentralen Probleme der Softwareentwicklung, denn Voraussetzung der Abbildung ist eine gute formale Beschreibung der Wirklichkeit.

Wird die Beschreibung der Wirklichkeit nur aus Sicht des Anwenders in Form eines Pflichtenheftes vorgegeben, besteht die Gefahr, daß für die Softwareentwicklung Wesentliches vergessen wurde oder als selbstverständlich angesehen wird.

Entwickelt nur der Auftragnehmer das Pflichtenheft zu Beginn des Projektes, können schnell durch Missverständnisse Schwerpunkte falsch gesetzt werden.

Erfahrungsgemäß ist die Vorgehensweise, bei einem Projekt mit dem Pflichtenheft zu beginnen, mit einem hohen Risiko behaftet. Eine unpräzise Spezifikation und ein fehlerhafter Entwurf, der an den Vorstellungen des Auftraggebers vorbeigehen, werden bei strengem Vorgehen erst sehr spät erkannt. Es ist realitätsfremd, von einer abgeschlossenen korrekten Produktspezifiktion zu Beginn der Programmierung auszugehen.

Eine lauffähige Version des Programms liegt nach Abschluß der Entwicklung vor und kann nun vom Anwender beurteilt werden. Fehlerhafte oder unpräzise Produktspezifiktionen werden in der Regel erst hier erkannt.

Es entspricht einschlägigen Erfahrungen, daß beim Anwender im Lauf der Entwicklung präzise Vorstellungen zum Produkt heranreifen. Das betrifft sowohl die Funktionalität als auch die Gestaltung der Benutzeroberfläche. Wir wollen deshalb den Anwender möglichst frühzeitig in die Projektabarbeitung mit einbeziehen und ihm einen Eindruck vom zu erstellenden Softwareprodukt zu vermitteln. Ein geeignetes Mittel ist hierbei das Erstellen von Programmprototypen.
Zunächst wird für ein abzugrenzendes Planungsfeld das Ziel der Entwicklung formuliert. Erste Lösungsansätze werden diskutiert. Die Rahmenbedingungen wie Einsatzumgebung, Zielsysteme, einzusetzende Softwareprodukte Dritter, Schnittstellen zu anderen Softwareprodukten werden festgelegt. Es folgt die ersten Spezifikation der Datenstrukturen sowie der Grundfunktionalität.

Mit modernen objektorientierten Technologien gelingt es, bereits auf Basis des Grobkonzeptes funktionsfähige Programmprototypen zu erstellen. Diese werden dem Anwender vorgestellt, so daß im iterativem Prozeß aus den Prototypen das fertige Programm entsteht.

Das Feinkonzept wird parallel mit der Verfeinerung der Programmprototypen entwickelt und liegt in Form von Protokollen vor. Am Feinkonzept kann praktisch während der Realisierung gearbeitet werden. Es ist nur ein geringer Vorlauf erforderlich. Durch den engen zeitlichen Abstand wird gleichzeitig das Feinkonzept für ein Programmmodul am implementierten und vorgestellten Programmmodul validiert.

Es entwickelt sich ein iterativer zyklischer Prozeß:

  • Formulierung des Feinkonzepts,
  • Erstellung von Oberflächen-, Programm- und Datenprototypen,
  • Test, Vorstellung des Arbeitstandes und Validierung und
  • Review und Festlegung der nächste Projektschritte.

Mit dieser Methodik erfolgt schrittweise die Entwicklung der Softwarekomponenten von der Spezifikation, der Programmierung, dem Softwaretest bis zum Produktionseinsatz.

Die IKS- GmbH reduziert dadurch den Entwicklungsaufwand und sichert die Qualität der Software in Verbindung mit objektorientierten Entwicklungstools. Als Entwicklungstools mit denen obige Vorgehens-Strategie erfolgreich umgesetzt wird, werden in der IKS- GmbH folgende Produkte eingesetzt:

  • BORLAND DELPHI2) Client-Server, als Client – Entwicklungsumgebung,
  • OBJECTPAL (PARADOX)2) als objektorientierte Datenbankentwickleroberfläche für PC- und Client-Server-Datenbanklösungen und
  • Application- Express (APEX) für ORACLE1)– Applikationen und datenbankgestützte WEB- Entwicklung.

Mit allen Entwicklungstools ist es möglich, aus einem Datenbankentwurf in kurzer Zeit einen Masken-Prototyp zu entwickeln, mit dem dem Anwender eine visuelle Vorstellung von der zu entwickelnden Software gegeben werden kann. Dies soll den Anwender in die Lage versetzen seine Anforderungen auch ohne spezielle DV-Kenntnisse zu präzisieren.

Der Wartungsaufwand der mit objektorientierten Tools erstellten Software verringert sich ebenfalls. Durch die Kapselung der Funktionen, Prozeduren, Attribute usw. in Objekte bleiben selbst große Projekte überschaubar und ein eventuelles Fehlverhalten der Software wird auf das betreffende Objekt beschränkt.

______________
1)
ORACLE und APEX sind eingetragene Warenzeichen der ORACLE- Corporation
2) DELPHI, OBJECTPAL und PARADOX sind eingetragene Warenzeichen der BORLAND- Corporation