Softwareentwicklung

Oftmals erfüllt eine standardisierte Branchensoftware nicht die individuellen Anforderungen. Dann lohnt es sich, eine Eigenentwicklung in Betracht zu ziehen: Betriebsabläufe werden besser abgebildet und die Effizienz wird gesteigert.

Outsourcing

Verfügen Sie über eine eigene Entwicklungsabteilung und entwickeln selbst, so unterstützen wir Ihr Team gerne mit unserem Know-How.

Weiterentwicklung

Sollten Sie bereits über eine eigene Softwarelösung verfügen und möchten diese weiterentwickelt haben, so prüfen wie gerne die Grundlagen Ihrer Lösung und erarbeiten gemeinsam ein Konzept für die Erweiterung.

Anwendungstypen

Meist werden in einem Unternehmen mehrere Typen von Anwendungen mit unterschiedlichen Zielsetzungen gleichzeitig genutzt:

  • Auf den Arbeitsplatzrechnern läuft eine Desktop Anwendung, die vollständigen Zugriff auf alle Daten erlaubt,
  • der Außendienstmitarbeiter greift mit schlechtem Handyempfang nutzt die App um dennoch auf Kundendaten zuzugreifen
  • und auf einer Messe kommt eine touchfähige Webanwendung für die Produktpräsentation zum Einsatz.

Alle Anwendungen greifen hierbei über wohldefinierte Schnittstellen auf eine Datenbank zu, die es ebenfalls zu entwickeln gilt. >> Datenbankentwicklung.

Desktop Programme

Als Desktop Programme bezeichnen wie Software, die für Microsoft Windows, Apple MacOS oder Linux entwickelt werden. Häufig kann eine Anwendung ohne größeren Aufwand für mehrere Zielplattformen angeboten werden. Meist werden solche Programme mit einer Client-/Serverarchitektur entwickelt um den parallelen Zugriff auf Daten zu ermöglichen.

Webanwendungen

Web-/Internet- oder auch Intranet-Anwendungen werden über Webserver bereitgestellt und werden über einen Browser aufgerufen. Die Anwendung wird meist in einem responsive Design erstellt, so dass sie auch optimal auf einem Smartphone dargestellt werden können.

Apps

Programm die auf Smartphones oder Tablets ausgeführt werden, heißen Apps. Die Entwicklung einer native App bietet sich immer dann, wenn man die Grenzen einer webbasierten Lösung erreicht. Sie können sich besser in das System integrieren und funktionieren meist auch dann noch, wenn keine oder eine sehr schlechte Internetverbindung besteht.

Dienste & Automatisierung

Manchmal braucht es einfach nur ein kleines Programm, welches regelmäßig im Hintergrund läuft um großes zu bewirken. Sei es automatische Datenimporte/-exporte, versenden von Emails oder die Überwachung von Ressourcen. Dienste ermöglichen erst die Automatisierung rund um die Uhr und laufen daher sehr häufig auf (Backend-)Servern.

Entwicklungsmethoden

Software kann auf unterschiedliche Art und Weise entwickelt werden. Hierbei gilt es die richtige Mischung aus Vorgaben, Flexibilität, Zeit und Kosten zu finden.

Agile Softwareentwicklung

Heutzutage entwickelt man gerne „agil“ ein neues Programm, d.h. es werden nicht sämtliche Einzelheiten der neuen Software geplant, sondern die Software entsteht in vielen kurzen Entwicklungszyklen nach und nach. Der Vorteil ist, dass die Software schon in einer frühen Phase zum Einsatz gebracht und vom späteren Annwender getestet werden kann. Darüber hinaus kann man frühzeitig auf neue Bedürfnisse reagieren und die Entwicklung entsprechend anpassen.

Pflichtenheft

Eine immer noch weit verbreitete Methode der Softwareentwicklung ist es nach einem Pflichtenheft zu programmieren. Hierbei wird genau das umgesetzt, was in dem Dokument beschrieben steht. Der Vorteil ist ganz klar, dass man den Umfang und die Kosten gut abschätzen kann. Je nach Ausführlichkeit kann es aber passieren, dass Missverständnisse auftreten und Ungereimtheiten erst zu einem sehr späten Zeitpunkt auffallen. Auch kann man nur sehr schwierig auf Änderungen der Anforderungen reagieren.

Anforderungsheft

In einem Anforderungsheft stehen die Voraussetzungen und die gewünschte Funktionalität. Meist ist es eine grobe Zusammenfassung und dienst dazu einen Endruck der späteren Software zu erhalten. Einzelne branchenspezifische Aspekte und Funktionen können dennoch detailliert erfasst sein. Der Vorteil der Methode ist, dass man nicht an der starren Struktur eines Pflichtenhefts gebunden ist und damit den Freiraum hat auf Änderungen bis zu einem gewissen Grad zu reagieren, aber dennoch der Funktionsumfang festgeschrieben steht und einzelne Teile der Software zeitnahe testen kann.