Software Entwicklung

Das Design und die Entwicklung von kompletten Anwendungen und Systemen (Individualsoftware) stellt eine weitere Kernkompetenz von Samprex e.K. dar. Samprex e.K. erstellt nach spezifischen Kundenwünschen und Anforderungen komplexe Softwareprojekte. Gemeinsam mit dem Kunden werden die jeweiligen Anforderungen und Konzepte erarbeitet, die von Samprex e.K. gemäß dem erarbeiteten Fachkonzept realisiert werden. Weitere Dienstleistungen umfassen die Anpassung von existierenden Applikationen und die Anbindung (oder Migration) existierender Anwendungen an Dritt-Systeme. Unser Team besitzt weitreichende Programmier-Erfahrungen aus nahezu allen Branchen der Marktwirtschaft. Ganz egal ob es sich hierbei um ein Warenwirtschaftsystem, Lagerverwaltungssystem oder einer ganz individuellen Software handelt.

Projektbegleitende Beratung

Wir unterstützen Sie während der gesamten Laufzeit Ihres Projektes. Je nach Wunsch kann diese Unterstützung punktuell beratend sein oder auch aus ständiger aktiver Mitarbeit im Projekt vor Ort bestehen. Wir vermitteln methodische Fähigkeiten, helfen Ihnen, Ihren Entwicklungsprozess effizienter zu gestalten oder lösen in Zusammenarbeit mit Ihrem Projektteam technische oder fachliche Probleme. Ein erfolgreiches Projekt zeichnet sich durch Kompetenz in allen vier Bereichen (Organisation, Methodik, Fachlichkeit, Technik) aus. In der Projektleitung wird in der Regel der Schwerpunkt auf die technischen oder fachlichen Aspekte der Projektarbeit gelegt. Wir unterstützen die Projektleitung bereits vor dem breiten Start des Projektes durch das Vermitteln von "Know-How" zur Methodik und Projektorganisation.

Wir beraten Sie bei der Planung des Projektes bis hin zum Aufstellen der Software-Architektur. Wir unterstützen das Projektteam bei der Durchführung des Projektes vom Bilden der Arbeitsgruppen bis hin zum produktiven Einsatz des Produktes. Begleitend unterstützen wir Maßnahmen zur Qualitätssicherung, Kommunikation und Erfolgskontrolle und steigern so die Qualität des Produktes. In der folgenden Auflistung sind einige mögliche Tätigkeiten aufgeführt.

Design von Benutzeroberflächen

Benutzeroberflächen sind der einzige sichtbare Teil einer Anwendung. Die Wahl der Benutzeroberfläche entscheidet darüber, ob eine Anwendung als "cool" oder "langweilig" empfunden wird. Jeder Anwender und Programmierer hat dabei eigene Vorlieben und Screenshots von Prototypen werden sogar bis in die Vorstandsebene von internationalen Konzernen kontrovers diskutiert. Sie werden auch als Entscheidungsgrundlage für die Bewilligung von Budgets verwendet.

open

Gute Benutzeroberflächen sparen Geld!

Benutzeroberflächen stellen eine große Investition dar: Häufig werden 50% bis 80% der gesamten Analyse- und Entwicklungskosten einer Anwendung für die Benutzeroberfläche aufgewandt. Hinzu kommen die Kosten für Handbücher und Hilfe-Dateien, sowie die Schulung und Unterstützung der Anwender.

Gute Benutzeroberflächen machen Spaß!

Die Akzeptanz einer Anwendung beim Anwender hängt wesentlich damit zusammen, wie intuitiv die Benutzeroberfläche zu bedienen ist. Die ersten Minuten mit einer neuen Anwendung entscheiden über "Lust oder Frust" und einen zweiten "ersten Eindruck" gibt es nicht.

Was macht eine gute Benutzeroberfläche aus?

Eine absolute Antwort auf diese Frage gibt es nicht. Eine gute Benutzeroberfläche richtet sich nach den Funktionen des zugehörenden Programms. Sie soll die Interaktion mit genau diesem Programm vermitteln. Zugleich soll sie möglichst kompatibel zu anderen vergleichbaren Anwendungen sein. Es muss also zu einem Kompromiss zwischen den neuen, für dieses Programm entwickelten Funktionen und dem bekannten Standard kommen. Dabei unterscheidet man zwei Hauptaspekte von Benutzeroberflächen: Bedienbarkeit und Optik.

Bedienbarkeit ("Feel"): Wie vertraut ist der Anwender mit einer ihm völlig fremden neuen Software?

Wenn der Anwender die Elemente einer Anwendung (Menüzeile, Symbolleiste, Anwendungsbereich, Statuszeile etc.) wiedererkennt und wenn viele der bekannten Bedienmetaphern (Rechte Maustaste drücken -> Kontextmenü erscheint) vorhanden sind, dann wird sich der Anwender mit dem Programm zurechtfinden. Scheinbar nebensächliche Kleinigkeiten, wie die Benennung der Menüeinträge ("Datei", "Bearbeiten", "Ansicht", ...) und die Reihenfolge der darin enthaltenen Untereinträge ("Ausschneiden", "Kopieren", "Einfügen"...), sowie die zugehörigen Tastaturkürzel (Strg+x, Strg+c, Strg+v...) haben sich durch lange Benutzung bei den Anwendern eingeprägt. Der Anwender erwartet auch, ganze bekannte Arbeitsabläufe in dem neuen Programm wiederzufinden ("Zuerst mal ein neues Dokument anlegen (Datei, Neu), dann mal sehen was man so hinzufügen kann (Einfügen)...").

Wenn man Anwender beim Ausprobieren von neuer Software beobachtet, kann man erleben, wie diese Software nach und nach mit Bedienschemata von einer Reihe von anderen Anwendungen konfrontiert wird. Eine gute Benutzeroberfläche überrascht den Anwender dabei nicht und verhält sich gutmütig. Unterstützt wird diese intuitive Vertrautheit, wenn Konzepte durchgängig verfolgt werden: Wenn man sich zum Beispiel dazu entscheidet, in Menüs die Tastaturkürzel von Befehlen als visuelle Merkhilfe mit aufzunehmen, sollte das auch durchgängig für alle Menüeinträge passieren.

Optik ("Look"): Wie "bunt" darf eine Benutzeroberfläche sein?

Das hängt vom Zielpublikum ab. Eine Anwendung für die Sachbearbeiter in einer Bank sollte edel und seriös aussehen und in gedeckten Farben daherkommen, genau wie die Banker selber: Grau in grau mit einigen wenigen Farbtupfern. Eine Software für MP3-Player kann nicht bunt und individuell genug sein. Der Look einer Anwendung ist einer Mode unterworfen und deshalb wesentlich kurzlebiger als das Feel. Häufig fällt ein Wechsel der Mode mit einem Upgrade des Betriebssystems zusammen. Bei Windows-Anwendungen kann man durch einen Blick auf die geöffnete Anwendung feststellen, für welche Version des Betriebssystems die Anwendung geschrieben worden ist. Aber auch hier gilt: Bei unterschiedlichen Windows-Versionen mögen die Symbole in der Symbolleiste unterschiedlich bunt sein, mit oder ohne 3D-Effekte, mit oder ohne Bubble-Help aber das Symbol für die Funktion "Ausschneiden" ist immer als Schere zu erkennen.

Design von Benutzeroberflächen in der Praxis

Im Vorfeld der Software-Entwicklung sollte eine Richtlinie entwickelt werden, in der Regeln zum Design der Benutzeroberfläche zusammengefasst werden. Hierzu zählen zum Beispiel Abstände zwischen Schaltflächen in Dialogen, Anordnung und Benennung von Menüs, Hinweise zur Verwendung von Controls etc. Sun bietet mit den "Java Look and Feel Design Guidelines" und dem dazu gehörenden Erweiterungsband ("Java Look and Feel Design Guidelines: Advanced Topics") zwei ausgezeichnete Vorlagen an, die beide auch kostenlos online erhältlich sind. Beachtenswert dazu ist, dass die in diesen Büchern enthaltenen Vorschläge, Regeln und Tipps nicht nur für Java-Anwendungen zu verwenden sind.

Während der Entwicklung sollte ein Team von Entwicklern die Einhaltung der aufgestellten Regeln überwachen. Dazu gehört auch, die Konsistenz innerhalb der Anwendung sicherzustellen. Der Entwurf der Fachlichkeit der Anwendung und deren Benutzeroberfläche geht dabei Hand in Hand und richtet sich nach der Regel "Form follows function". Zuerst wird festgelegt, was die Anwendung machen soll, dann wird die dazu gehörende Benutzeroberfläche gestaltet. Beides sind Anforderungen, die erhoben werden, bevor die eigentliche Umsetzung als Programm ("Coding") erfolgt. Bereits in den frühen Phasen der Fertigstellung einer Anwendung (alpha-Software) sollte die Benutzbarkeit der Anwendung von repräsentativen Anwendern überprüft werden ("usability lab").

Auch nicht-funktionale Anforderungen haben Einfluss auf die technischen Aspekte der Gestaltung der Benutzeroberfläche. Dazu zählen Anforderungen wie: "Die Anwendung muss behindertengerecht sein ("accessability")" oder "Die Anwendung muss in verschiedenen Sprachvarianten für unterschiedliche Länder ausgeliefert werden ("Internationalization" oder auch kurz: "I18n")."

Fehler im Design der Benutzeroberfläche sollten genau wie Fehler in der Funktionalität behandelt werden und nicht als "kosmetisch" herabgestuft werden. Wenn eine Programmfunktion von den Anwendern nicht eingesetzt wird, weil der dazu gehörende Menüeintrag unklar benannt ist, ist das ein schwerer Fehler und muss korrigiert werden.

Entwicklung von Prototypen

Was ist ein Prototyp?

Ein Prototyp ist ein dem Hauptprojekt vor- oder nebengelagertes Teilprojekt, in dem isolierte Aspekte der angestrebten Projektziele näher untersucht werden. Das Teilprojekt dient dazu, das Hauptprojekt vorzubereiten oder Risiken bei der Umsetzung des Hauptprojektes zu minimieren.

Die Artefakte (Code, Dokumentation, etc.) von evolutionären Prototypen gehen ins Hauptprojekt ein und werden weiterverwendet. Sie werden deshalb nach den Qualitätsvorgaben und Richtlinien des Hauptprojektes produziert.

Auftragsprogrammierung

Wir setzen Ideen in Software um.

Wir erledigen Auftragsprogrammierung flexibel, schnell und zuverlässig nach den neuesten Erkenntnissen der objektorientierten Programmierung. In Zusammenarbeit mit Ihrer Entwicklungsabteilung erstellen wir individuelle Lösungen nach Ihren Vorgaben. Dabei erstellen wir das komplette Produkt, vom Designentwurf über die Programmierung und die Qualitätssicherung bis hin zum Installationsprogramm und zur Anwenderdokumentation.

Wir sind spezialisiert auf [Java]-Programme auf Basis der J2EE- und J2SE-Plattformen, haben aber auch langjährige Erfahrungen mit C++ und Delphi.

Folgen Sie uns auf  Facebook
LinkedIn