Wie wir entwickeln

Die Software Engineering Services von IBV decken den kompletten Entwicklungszyklus eines Software-Produkts ab – von der Produktidee bis zur Einführung in den Markt. Als Kunde können Sie den gesamten Entwicklungsprozess an IBV auslagern. Alternativ arbeiten wir als „verlängerte Werkbank“ zu Ihrem Entwicklungsteam und bringen unser Know-how in einzelnen Entwicklungsphasen ein.

1. TECHNOLOGIE-BERATUNG

… und beraten Sie, mit welchen Hardware-, Software- und Kommunikationstechnologien die Aufgabe bestmöglich umsetzbar ist. Dabei arbeiten wir mögliche technische Risiken heraus, die es in einer frühen Phase zu eliminieren gilt. Gerne kommen unsere Experten dazu in Ihr Team und führen die Beratung in Form von Workshops durch.

2. ANALYSEN + PROOF OF CONCEPTS

… frühzeitig zu prüfen, ob mit der ausgewählten Technologie (Hardware, Betriebssystem, Software-Architektur) eine innovative Produktidee umgesetzt werden kann. Wir erstellen Ihnen dazu einen geeigneten Prototypen, mit dem beispielweise gezeigt werden kann, dass gewünschte Zykluszeiten, Interrupt-Latenzen, I/O-Performance mit den zur Verfügung stehenden Ressourcen erreicht werden können.

3. REQUIREMENTS ENGINEERING

… der Software definiert werden. Auch in dieser Phase können wir Sie z. B. durch Workshops oder durch die Analyse einer bestehenden Software unterstützen. Auf Wunsch erstellen wir in dieser Phase eine Software-Spezifikation oder ein Pflichtenheft für die weitere Softwareentwicklung.

4. SOFTWARE-ARCHITEKTUR-DESIGN + SOFTWARE-DETAILED-DESIGN

Neben der optimierten Performance, Robustheit und Wartbarkeit wird die Implementierungsdauer und die Integrationsphase verkürzt. Hier achten wir speziell auf Modularisierung und Portabilität, so dass Sie die Software bei Bedarf in verschiedenen Produktvarianten und auf verschiedenen Plattformen einsetzen können.

5. SOFTWARE-IMPLEMENTIERUNG

… Alternativ arbeiten wir entsprechend mit eigenen Standards. Passend zur Aufgabe beherrschen wir die folgenden Programmiersprachen und Beschreibungssprachen:

  • C
  • C++
  • C#
  • Assembler
  • VHDL
  • HTML, CSS
  • JavaScript
  • SQL
  • diverse Skriptsprachen

6. SOFTWARE-TESTS

… Software-Integrationstests mit Ihnen ab. Je nach Anforderung entwickeln wir automatisierte Tests, um Regressionstests einfach durchführen zu können. Auf Wunsch können wir ebenso durchführen:

  • Statische Codeanalysen
  • Code-Coverage-Tests

7. SOFTWARE-INTEGRATION

… mit Komponenten aus Ihrer Software, mit Open-Source-Software oder mit anderen kommerziellen Produkten. Ebenso integrieren wir die Software auf Hardware-Komponenten und externen Systemen. Final wird die resultierende Applikation ausgiebig getestet. Bei Bedarf führen wir die Integrationstätigkeiten an Ihrer Anlage durch.

8. SOFTWARE-DOKUMENTATION

… des Quellcodes eine Beschreibung der Architektur sowie Hinweise zur Verwendung der Software. Damit können Sie die Software direkt übernehmen und bei Bedarf weiterpflegen.

9. MAINTENANCE

… erweitert werden. Auch in dieser Phase begleiten wir unsere Kunden, um die Software entsprechend zu pflegen und weiterzuentwickeln, um somit neuen Anforderungen gerecht zu werden.

Entwicklungstools

Wenn gewünscht, klinken wir uns für die Softwareentwicklung in Ihre „Tool-Landschaft“ ein, so dass Sie unsere Entwicklungsergebnisse leicht adaptieren können. Wir haben Erfahrung u. a. mit folgenden Entwicklungstools:

Requirements Engineering
und Softwaredesign
IDEs und Toolchains
(Standard)