Anbieter zum Thema
Das offene System Android hat aus Entwicklersicht Vorteile wie Java-basierte Entwicklung, die Verfügbarkeit externer Schnittstellen oder die Möglichkeit von System- und uneingeschränkten Netzzugriffen. Apple-Lösungen punkten dagegen durch aufwärtskompatible Apps, überschaubares Variantenmanagement und leistungsfähige Software-Hardware-Kombination.
Zu bedenken ist auch: Will man den Code Review durch Apple und die zwingende Distribution über den App Store in Kauf nehmen? Oder verzichtet man mit Android auf die Möglichkeit einer Fernsperre des Geräts? Schon diese wenigen Beispiele zeigen: Es gibt reichlich Möglichkeiten für teure Fehlentscheidungen, wenn Erfahrung fehlt.
Methoden und Werkzeuge richtig auswählen
Neben dem Anforderungsmanagement sind Entwicklungsmethoden und Toolauswahl für den langfristigen Projekterfolg entscheidend. So empfiehlt es sich wegen der kurzen Lebenszyklen bei mobilen Endgeräten aus dem Consumer-Markt, die Software zur Visualisierung zu kapseln. Dadurch lässt sie sich später leichter auf andere Betriebssysteme oder Versionen portieren. Tools und Methoden, die eine parallele Entwicklung von Design und Software ermöglichen sind ebenfalls zu empfehlen – auch weil sich so Entwicklungsprojekte verkürzen lassen.
Hier haben sich ein frühes Prototyping von Oberflächen und das iterative Vorgehen in kurzen Zyklen unter enger Einbindung aller Beteiligten bewährt. Doch die Wahl von Methoden und Werkzeugen muss auch bei den eigentlichen Maschinensteuerungen bewusst getroffen werden. Bisherige Software im Maschinenbau waren oft Insellösungen. Erweiterbarkeit oder Portierbarkeit hatten dabei geringe Priorität, ebenso wie Kommunikationsschnittstellen und Vernetzung. Deutsche Maschinenbauer haben hohe Qualitätsansprüche und müssen Wege finden, wie sie diese effizient auf die Softwareentwicklung übertragen.
Softwarearchitektur nutzen
Wer die Software seiner Maschinen zukunftsfähig machen will, sollte bei der Wahl von Entwicklungspartnern sorgfältig vorgehen. Neben reinen Design- und Anwendungsentwicklungskompetenzen benötigt es im Maschinenbau viel Know-how in Bereichen wie Softwarearchitektur, Systemdesign und Test. Jede Software beruht auf – teilweise unbewussten – Architekturentscheidungen. Softwarearchitektur sollte aber eine dokumentierte Grundlage des Projekts sein, denn hier werden die nicht-funktionalen Anforderungen wie Modifizierbarkeit, Skalierbarkeit, Portierbarkeit, Konnektivität, Performance oder Testeignung reflektiert.
(ID:43055191)