Softwareentwicklungsprozess

Es exisitieren viele Modelle für den Entwicklungsprozess. Die folgenden Schritte kommen in der Praxis jedoch in allen Modellen vor:

  • Abstimmung der Anforderungen mit dem Auftraggeber und den Benutzern
  • Erfassung von Anforderungen und Erstellung von Pflichtenheften
  • Erstellung von DV Konzepten
  • Implementation als ittterativer Prozess in Abstimmung mit Benutzer
  • Qualitätssicherung und Regressionsstest
  • Wartung und Versionierung der Softwarekompomnenten

Plattformen

Microsoft Windows

Jede Version hat ihre besonderen Merkmale und Möglichkeiten.

Linux

Inzwischen hat sich Linux zu einer ernst zunehmenden Alternative zu Windows entwickelt.

JAVA-Runtime

Für eine Plattformübergreifende Entwicklung ist JAVA die erste Wahl.

Objektorientierte Sprachen

Java

Diese Sprache ist inzwischen der Industriestandard für die Plattformübergreifende Entwicklung. Durch die Vielzahl der Erweiterungen und Bibliotheken ist eine schnelle Implementation spezieller Anforderungen möglich. Gerade im Bereich von Internetlösungen ist JAVA eine gute Wahl. Für die Entwicklung steht mit Eclipse eine vorzügliche Umgebung zur Verfügung

Java-Komponenten können als stand-alone Programme erstellt werden, zunehmend werden jedoch Komponenten innerhalb von Application-Servern wie dem Apache-Geronimo betrieben.

C und C++

Als lang etablierter Standard stehen diese Sprachen auf nahezu allen Plattformen zur Verfügung. Durch die vielen vorhandenen Bibliotheken ist fast für jedes allgemeine Problem eine Lösung zu finden. Die Anfangs versprochen Portabilit&amul;t leidet jedoch unter den verschiedenen API's der Plattformen.

Regelbasierte Systeme

Diese Systeme implementieren die Businesslogik als Regeln. Diese Methode bietet Vorteile bei der Definition der Businessregeln durch Nichtfachleute durch Entscheidungstabellen und ä und ähnliches. Systeme wie jBPM bieten darüber hinaus einen Workflowengine und Event-Processing (CEP)

Objektpascal (Delphi)

Als RAD-Tool liegt eine der Stärken von Delphi in der schnellen Implementation von ansprechenden Benutzeroberflächen und der dazugehörigen Datenanbindungen. Wenn ein Fat-Client benötigt wird, so kann er mit Delphi effektiv implementiert werden.

Abfragesprachen

SQL und SQLX

SQL ist der Standard für die Abfrage von relationalen Datenbanken. SQLX erlaubt das Erzeugen von XML Dokumenten aus relationalen Daten. SQL bekommt für WEB 2.0 Anwendungen in jüngster Zeit zunehmend Konkurenz durch verteilte, speicherbasierte Systeme wie Infinispan und Hazelcast.

XPath

Daten liegen häfig in strukturierter Form als XML-Dokument vor. XPath erlaubt die Suche innerhalb dieser Daten.

Beschreibungssprachen

XML, XSD (XML-Schema), DTD, WSDL

Durch die zumehmende Vernetzung heterogener Systemlandschaften gewinnt der reibungslose Datenaustausch zumehmend an Bedeutung. Um eine Interoperabilität der verschiedenen Systeme zu gewährleisten, ist eine eindeutige Beschreibung von Schnittstellen wichtig.

Datenbanken

Oracle

Der Marktführer im Bereich der Datenbanken hebt sich durch eine große Anzahl von Features heraus.

Hohe Leistungsfähigkeit, Skalierbarkeit und Datensicherheit
Erstellung von Prozeduren und Programmpaketen innerhalb der Datenbank in PL/SQL und Java
Transaktionssichere Messageing und Queueing Mechanismen innerhalb der Datenbank
Eine Vielzahl an Netzwerk-Protokollen stehen direkt aus der Datenbank zur Verfügung
Viele Zusatzprogrammen stehen zur Verfügung wie z.B. für Web-Portale;

Protokolle

Die Netzwerkprotokolle erlauben den Datenaustausch zwischen Softwarekomponenten. Dies hat im Zeitalter der verteilten und modularen Softwarekomponenten eine besondere Bedeutung.

  • HTTP/HTTPS
  • POP3/SMTP
  • FTP
  • UDP/TCP
  • SOAP/XMLRPC

Bibliotheken

Apache Commons - Jakarta

Diese umfangreichen Klassenbibliotheken stellen Komponenten für viele Anwendungen bereit und reduzieren daher den Entwicklungsaufwand beträchtlich. Da diese Komponenten im breiten Einsatz und somit gut getestet sind, reduziert sich das Fehlerrisiko beträchtlich.

JAXB/AXIS (Java)

Diese Bibliotheken erlauben die einfache Implementation von Webservices und die Verarbeitung von XML-Dokumenten.