Requirements Engineering, Spezifikation der Softwarearchitektur und Software Design sind ein wichtiger Bestandteil von formalen Softwareentwicklungsprozessen.
Die gewünschte Funktionalität muss in einer Programmiersprache implementiert werden. Dabei muss die Qualität mittels Software-Tests überprüft und das System dokumentiert werden.
Nach der Abnahme des finalen Systems durch den Kunden muss es gewartet werden, d.h. es müssen neu entdeckte Defekte gelöst und zusätzliche Funktionalität hinzugefügt werden.
Einige formale Softwareentwicklungsprozesse sehen vor, dass die Anforderungen an ein Softwaresystem formal definiert, dokumentiert und verwaltet werden.
Die Softwarearchitektur bestimmt die prinzipielle Struktur des Softwaresystems, welche über den gesamten Lebeneszyklus des Systems unverändert bleibt. Daher muss diese besonders sorgfältig entworfen werden.
Die Implementierung ist die Umsetzung der festgelegten Strukturen und Funktionalität in Form von Quellcode in einer oder mehreren Programmiersprachen. Wir verfügen über eine mehrjährige Erfahrung in der Verwendung von C, C++, C#, Java und Python bei der Implementierung von komplexen Softwaresystemen, welche produktiv eingesetzt werden.
Das Testen von Software ist die Ausführung von Teilen eines Softwaresystems oder des kompletten Softwaresystems mit dem Ziel, die Einhaltung von gewissen Qualitäts- und Performance-Eigenschaften zu überprüfen. Wir verfügen über Erfahrung in der Testautomatisierung von komplexen Telekommunikationssystemen.
Die Integration von Software ist der Prozess der Verknüpfung von einzelnen Softwarekomponenten zu einem Gesamtsystem. Der moderne Ansatz besteht in der frühen und kontinuierlichen Integration der Komponenten (Continuous Integration) mit dem Ziel, die komplexen Integrationsprobleme zu umgehen, welche im Falle einer Integration nach dem Big-Bang-Prinzip spät im Projektverlauf entstehen. Wir verfügen über Erfahrung in der Konfiguration und Verwendung von solchen Continuous Integration Standard-Tools wie Jenkins und Hudson.
Die Wartung beginnt mit der Übergabe des Softwaresystemen an den Kunden. Ein Softwaresystem kann über Jahre oder sogar Jahrzehnte benutzt werden, in dieser Zeit werden zusätzliche Defekte entdeckt - und müssen gelöst werden. Zusätzlich werden neue Anforderungen entdeckt, was zusätzliche Änderungen und Erweiterungen an dem System erforderlich macht. Wir verfügen über Erfahrung in der Wartung von unterschiedlichen Arten komplexer Softwaresysteme.
Vitali ist seit 2007 Freelancer. In dieser zeit hat er viel Erfahrung bei der Durchführung von Projekten in der Telekommunikationsbranche und den Digitalen Medien gesammelt.
Elena ist ein erfahrener Web Developer und Web Designer. Ihre Kernkompetenz liegt in der Frontend-Entwicklung mittels solcher JavaScript Frameworks wie Vue.js, Ember.js, React.js, Angular.js und JQuery.