20070304n Vectorsoft RAD Rapid Application Development Effiziente Softwareentwicklung

 Home | News | Hefte | Mediadaten | Online-Artikel | Kommentare | Trends | Wir-ueber-uns | Tipps | Impressum | CeBIT 2012

 

Home
News
Trends
Hefte
Online-Artikel
Kommentare
Service-Angebote
Feedback
Abonnement
Wir-ueber-uns
Tipps
Impressum
Veranstaltungen


»manage it« als

E-Paper  11-12 2011
E-Paper  9-10 2011
E-Paper  5-6 2011
E-Paper  3-4 2011
E-Paper  1-2 2011
E-Paper  11-12 2010
E-Paper  9-10 2010

E-Paper  7-8 2010
E-Paper  5-6 2010
 



 




 

 


 




 


 


 

 

Effiziente Softwareentwicklung mit Rapid Application Development

Schnelle Reaktion auf neue Anforderungen

Nicht immer ist der Weg das Ziel. Das gilt ganz besonders für Entwicklungssoftware. Schließlich sollte sie den Entwickler möglichst einfach und zügig zum gewünschten Ergebnis führen. Rapid Application Development nennt sich das Verfahren, das eine effiziente Softwareentwicklung verspricht.

 

E

s sind hauptsächlich Großkonzerne, die sich nicht auf Standardsoftware externer Anbieter verlassen, sondern lieber auf Programme der Marke Eigenbau vertrauen. Wenn sich nicht alle Anforderungen im Unternehmen durch reine Standardanwendungen lösen lassen, führt der Weg zunächst zum Customizing. Damit jedoch lässt sich nicht jeder Anwendungsfall abdecken. So ist oftmals eine Software erforderlich, die sich individuell den jeweiligen Bedürfnissen entsprechend entwickeln lässt. Für viele Unternehmen bedeutet eine selbst entwickelte Software ein entscheidender Wettbewerbsvorteil.

Dabei ist es für Unternehmen nicht immer sinnvoll, Entwicklungsprojekte an externe Dienstleister zu vergeben. So können Richtlinien zur Vergabe, Budgetierung sowie Projektplanungs- und Durchführungsvorschriften das Projekt zu einem langwierigen, aufwendigen und teuren Unterfangen machen, das von einer schlanken und effizienten Lösung weit entfernt ist. Hinzu kommt, dass einige Unternehmen nur ungern Know-how und unternehmensinterne Informationen an einen externen Dienstleister weitergeben.

Nichtsdestotrotz hat auch die hauseigene Softwareentwicklung ihre Tücken. So stellen IT-Verantwortliche nicht selten erst nach wochen- oder monatelanger Arbeit fest, dass das Ergebnis nicht den Ansprüchen genügt – entweder, weil im Laufe der Entwicklungsarbeit neue Erfordernisse hinzu gekommen sind oder weil währenddessen keine Möglichkeit bestand, zu überprüfen, ob sich das Projekt in die richtige Richtung entwickelt. Eine effiziente Entwicklungsumgebung und die richtige Strategie können dabei helfen, solche Herausforderungen zu bewältigen.

Voraussetzungen einer zielorientierten Entwicklungsumgebung

Zur Erstellung der Software werden unterschiedliche Programme benötigt wie beispielsweise ein Editor zur Quelltexterstellung, Compiler und Linker zur Übersetzung in ausführbaren Code, Designer zur Gestaltung der Dialoge und ein Debugger zur Fehlersuche bei der Programmausführung. Da diese Komponenten problemlos zusammenarbeiten müssen, werden sie oft in einer integrierten Entwicklungsumgebung (IDE – Integrated Development Environment) zusammengefasst. Diese bietet eine schnellere und komfortablere Bedienung einzelner Programme sowie zusätzliche Funktionen beispielsweise für die Projektverwaltung. Die IDE stellt somit das Kernstück der Entwicklungsumgebung dar. Visuelle Gestaltungstools für Benutzeroberflächen und Druckformulare sind für eine schnelle und einfache Erstellung ebenfalls unverzichtbar. Zudem sollte die Entwicklungsumgebung eine Arbeit im Team ermöglichen, so dass mehrere Programmierer gleichzeitig am selben Projekt arbeiten können.

 

 


 
 

Durch die zyklische Durchführung der Entwicklungsphasen kann auf neue und veränderte Anforderungen an die Software schnell reagiert werden. Daraus resultieren ein stärkerer Praxisbezug und eine höhere Anwenderakzeptanz.

 

Um in der IT-Landschaft des Unternehmens überhaupt verwendbar zu sein, ist es wichtig, dass die generierte Software eine ausreichende Interoperabilität mit bereits vorhandenen Hard- und Softwaresystemen bietet. Da die Programme meist mit anderen Anwendungen kommunizieren – sei es direkt oder über die Daten – ist es erforderlich, dass eine Entwicklungsumgebung verschiedene Schnittstellen (COM, DLL, OLE, ODBC, Sockets etc.) unterstützt. Eine der wichtigsten Schnittstellen ist die zu Datenbanksystemen. Da Datenbankanbindungen sehr komplex sein können, bieten direkt in die IDE integrierte Tools deutliche Vorteile hinsichtlich Entwicklungsgeschwindigkeit und Fehleranfälligkeit.

Voraussetzung für eine effiziente Softwareentwicklung ist darüber hinaus eine Abwärtskompatibilität zu vorhergehenden IDE-Versionen. Denn ist die Architektur neuer Versionen nicht vollständig abwärtskompatibel zu den Vorgängerversionen, werden zeitintensive und fehlerträchtige Anpassungen notwendig, die bei der heutigen hohen Lebenserwartung der Anwendungen beträchtliche Ressourcen verschlingen können.

Schnelle sichtbare Ergebnisse

Eine in der Praxis häufig eingesetzte Strategie, die den Entwickler schnell und einfach zum gewünschten Resultat bringen soll, ist das Rapid Application Development (RAD). Dabei werden die Prozessphasen nicht klassischerweise sequenziell durchlaufen, sondern es findet ein wiederkehrender zyklischer Ablauf statt. Der Entwickler führt in kurzer Zeit die Prozessschritte der Analyse, Modellierung, Programmierung und Tests durch – oft zunächst nur in Teilbereichen der gesamten Anwendung – um möglichst rasch eine erste Version der Applikation zumindest probeweise in Betrieb zu nehmen. Dadurch lassen sich die Anforderungen der Anwender genauer spezifizieren. Nachdem der Entwickler das Anforderungsprofil geändert und erweitert hat, durchläuft das System wiederum die Prozessschritte. Die neue Version enthält bereits alle Veränderungen (evolutionäres Prototyping). Dieser Zyklus wiederholt sich solange, bis die Anwendung sämtliche Anforderungen hinreichend abdeckt und den User hinsichtlich Funktionen, Bedienbarkeit und Fehlerfreiheit weitgehend zufrieden stellt.

Der Vorteil dieser Strategie liegt darin, dass sich modifizierte und neu hinzukommende Anforderungen während der gesamten Entwicklungsphase einfach berücksichtigen lassen. Die entstandene Software liegt meist sehr nahe an den realen Anforderungen und den Bedürfnissen der Benutzer. Die Akzeptanz der Anwender ist häufig höher als bei Standardsoftware und es entstehen oft geringere Wartungskosten. RAD kann allerdings auch dazu verleiten, Projekte ohne ausreichende Vorbereitungsphasen zu starten, um möglichst rasch ein erstes Ergebnis produzieren zu können – was insbesondere bei umfangreichen Aufgaben eher kontraproduktiv ist. Darüber hinaus resultieren aus den zeitlich kurzen Zyklen oft ein reduzierter Leistungsumfang und – durch die enge Orientierung am Anwendungsfall – eine geringe Skalierbarkeit.

Reduzierter Gesamtaufwand durch vorgefertigte Anwendungsobjekte

RAD liefert zwar schnell sichtbare Resultate, garantiert aber nicht, dass sich der Gesamtaufwand für das Erstellen der Softwarelösung reduziert. Um den Entwicklungsprozess zu vereinfachen und zu beschleunigen, sind deshalb zusätzliche Maßnahmen sinnvoll. Dazu zählt zum Beispiel der Einsatz einer anwendungsnahen Programmiersprache (Fourth generation language – 4GL), die bei RAD oft als vorausgesetzt angenommen wird, aber nicht unbedingt zwingender Bestandteil ist. Solche Sprachen schränken zwar die Variabilität einiger Komponenten ein wie beispielsweise Benutzeroberfläche oder Programmarchitektur. Sie reduzieren jedoch auch den Codeumfang, verbessern die Selbstdokumentation und ermöglichen eine einfachere Pflege der Software.

Darüber hinaus kann der Entwicklungsprozess durch den Einsatz vorgefertigter Anwendungsobjekte unter anderem für die grafische Benutzeroberfläche (GUI – Graphical User Interface) beschleunigt werden. Stellt die Entwicklungsumgebung verschiedene Diagrammobjekte zur Verfügung, mit denen beispielsweise Raumbelegungspläne dargestellt werden können, so muss der Programmierer nur noch das Layout festlegen und das Diagramm mit Daten befüllen.

Insbesondere bei umfangreichen Projekten lässt sich durch die Wiederverwendung von bereits erstellten Teilen der Software der Gesamtaufwand deutlich reduzieren. Indem der Entwickler vorhandene Funktionen oder Komponenten erneut einsetzt – auch in abgewandelter oder erweiterter Form – kann er den Codeumfang und die Fehleranfälligkeit erheblich verringern.

Testmechanismen sorgen für Stabilität

Durch die kurzen Zyklen wird oft der Testumfang reduziert – was sich wiederum negativ auf die Qualität der Software auswirken kann. Entwicklungsumgebungen wie beispielsweise Conzept 16 aus dem Hause Vectorsoft ermöglichen dem Entwickler daher, einzelne Funktionen bereits während der Programmierung unmittelbar zu testen. Darüber hinaus integriert das Entwicklungssystem Testmechanismen, um die Stabilität und Zuverlässigkeit der erstellten Software zu erhalten – insbesondere bei wiederholten Änderungen am Programm. Eine weitere Methode ist die Protokollierung von Zuständen und Ergebnissen während des Programmeinsatzes. Insbesondere bei einer datenbankbasierten Protokollierung können aufgrund der besseren Auswertungsmöglichkeiten auftretende Fehler einfacher erkannt und oft wesentlich schneller lokalisiert und beseitigt werden.

Resümee

Zusammen mit einer effizienten Entwicklungsumgebung bietet Rapid Application Development IT-Abteilungen einen entscheidenden Mehrwert. Durch die Möglichkeit kurzer Update-Intervalle kann auf neue oder veränderte Anforderungen schnell reagiert werden, eine niedrige Fehlerquote und die Einbeziehung der User in den Entwicklungsprozess schaffen eine gute Anwenderakzeptanz. Darüber hinaus lassen sich starre und inflexible Projektabläufe vermeiden und dynamische Anpassungen können leichter vorgenommen werden.

Andrej Mücke

___________________________________________________________

Andrej Mücke, vectorsoft AG

 

 

Die acht wichtigsten Voraussetzungen einer effizienten Entwicklungsumgebung

 

1.  Integriertes System – Eine IDE (Integrated Development Environment) fasst alle zur Erstellung einer Software notwendigen Programme zusammen und sorgt dafür, dass alle Komponenten problemlos zusammenarbeiten.

2.  Interoperabilität – stellt sicher, dass die entwickelte Software mit bereits vorhandenen Hard- und Softwaresystemen kompatibel ist.

3.  Unterstützung von Schnittstellen zur Anbindung an andere Anwendungen wie z.B. Office-Programme.

4.  Visuelle Gestaltungstools für Benutzeroberflächen und Dokumente.

5.  Teamwork – mehrere Entwickler sollten gleichzeitig an einem Projekt arbeiten können.

6.  Testmöglichkeit einzelner Funktionen und Komponenten.

7.  Abwärtskompatibilität der Entwicklungsumgebung.

8.  Werkzeuge zur Vereinfachung der Datenbanknutzung.

 

 

Glossar

 

Compiler = Übersetzungswerkzeug, der den Quelltext einer Programmiersprache in Maschinensprache umwandelt.

Linker = Programm, das einzelne Programmmodule zu einem ausführbaren Programm verbindet.

Designer = Werkzeug zur visuellen Gestaltung von Anwendungsobjekten.

Debugger = Werkzeug zur Fehlersuche in Softwareprogrammen.

Fourth Generation Language (4GL) = Programmiersprachen der vierten Generation. Diese sind darauf ausgerichtet, rasch für einen bestimmten Anwendungsbereich Funktionen oder komplette Anwendungen schreiben zu können und dabei mit möglichst wenigen Code-Zeilen auszukommen.

(Quell-)Code oder Quelltext = den für Menschen lesbaren, in einer Programmiersprache geschriebenen Text eines Computerprogramms.

 

 

 

 

 

 

 


Folgen Sie »manage it« auf Google+




 


 


 

 

 
Copyright © 2003-2012  ap Verlag GmbH