Lösungen → Engineering

Im Schnittfeld von
Effektivität und Effizienz

Kompetenzen

Sie haben ein Ziel: hervorragende Software-Lösungen. Dahin begleiten wir Sie wirkungsvoll und wirtschaftlich in allen relevanten Phasen.

Sichern Sie sich die entscheidenden Ressourcen
Entwicklungsprojekte werden immer komplexer und anspruchsvoller. Und sie müssen „just in time“ realisiert werden. Dazu braucht es Spezialwissen und ein leistungsstarkes Team. Wir bieten Ihnen beides.

Wir unterstützen Sie bei Ihrer Software-Entwicklung, wenn:

Sie neue Methoden oder Tools einsetzen wollen, mit denen Ihre Mitarbeiter noch keine Erfahrung haben,

Sie schneller Aufträge gewinnen, als Ihre Entwicklungsmannschaft wächst,

Ihre Kunden mehr Änderungen wünschen, als Sie eingeplant haben,

Sie technisches Management an einen kompetenten Partner „outsourcen“ wollen.

Die Stärken unserer Entwickler

Unsere Kunden vertrauen unseren Entwicklern auch komplexe Entwicklungsaufgaben an, weil sie

sehr sorgfältig arbeiten,

nicht nur den Code, sondern alle notwendigen Dokumente erstellen,

bei den Reviews der Vorgabe-Dokumente oder anderer Schnittstellen-Dokumente auch Fehler außerhalb ihres Aufgabenbereichs entdecken,

aufgrund ihrer langjährigen Erfahrung auch andere Entwickler-Teams managen können.

Unsere Entwickler arbeiten eng mit unseren Beratern zusammen und profitieren von deren Know-how, wenn neue Tools effizient genutzt oder neue Methoden entwickelt und implementiert werden sollen. So können unsere Entwickler alle Aufgaben erfolgreich lösen. Weil Kompetenz entscheidet, haben unsere Entwickler nicht nur viel Erfahrung, sondern sind auch zertifiziert als Requirements Engineer, Architekt oder Tester (IREB®ISAQB®ISTQB®).

Partner für alle Phasen

Unter dem Strich zählt das Ergebnis. Deshalb begleiten wir Sie bei allen Entwicklungsschritten: von der Requirement Specification über das System- und Software-Design sowie die Modulentwicklung und -integration bis hin zu Tests auf allen Ebenen. Wir übernehmen für Teilaufgaben das technische Management der Entwicklung.

Kompetenzen

Entdecken Sie unsere Kompetenzen im Engineering

Klicken Sie auf die Kompetenz und scrollen Sie automatisch zum richtigen Bereich.

Requirements
Engineering

System- &
Software-Design

Modul-
entwicklung

Tests auf
mehreren Ebenen

Technisches Management
& Integration

Tools

Kompetenzen

Requirements Engineering

Software-Projekte brauchen eine gute Basis

Ein systematisches Requirements Engineering ist durch nichts zu ersetzen. Denn nur, wer sein Ziel kennt, kann es auch erreichen.

Viel Potenzial

Mit einem guten Requirements Engineering werden die Anforderungen an ein System klar definiert. Dies ist für den Projekterfolg entscheidend. Dennoch wird oft keine vollständige Requirement Specification erstellt, was sich im weiteren Projektverlauf negativ auswirken kann.

Für Klarheit sorgen

Sichern Sie sich die Vorteile eines systematischen Requirements Engineering:

Wenn Sie Ihre Anforderungen mit eigenen Worten definieren, gewinnen Sie ein klares Verständnis der Aufgabe.

Eine durchdachte, systematische Strukturierung hilft Lücken und Widersprüche aufzudecken.

Einzelne Kapitel bis hin zu großen Teilen des Dokumentes können Sie auch in anderen Projekten verwenden.

auf ein Risikomanagement, mit dem auch agiert und nicht nur reagiert werden kann: Safety oder Security Management.

Sie profitieren von einer vollständigen, nachvollziehbaren und wartbaren Grundlage für die Systemtest-Spezifikation.

Unser Angebot

Im Rahmen des Requirements Engineering stehen wir Ihnen mit folgenden Leistungen zur Seite:

Erstellung der System- oder Software Requirement Specification durch IREB® Certified Professional for Requirements Engineering,

Unterstützung bei der Einführung moderner Requirement-Werkzeuge wie bspw. DOORS, PTC Integrity oder Polarion mit Konzepten, Vorlagen oder Skripten,

Sicherstellen der Traceability über alle Dokumente,

Durchführung von Konsistenzprüfungen,

Reviews der Requirement Specification zusammen mit Ihren Fachleuten,

Schulung Ihrer Mitarbeiter in der Methodik des Requirements Engineering (siehe auch Qualitätssicherung),

Integration der technischen Sicherheitskonzepte in die System- und Software-Architektur für sicherheitsrelevante Systeme nach ISO 26262 oder ISO/SAE 21434.

Kompetenzen

System- & Software-Design

Präzise Vorstellungen

Erfolgreiche Entwicklung verläuft entlang klarer Linien. Dafür sorgen wir mit einem übersichtlichen System- und Software-Design.

Gutes Design sichert den Überblick

Wartbarkeit, Testbarkeit und Wiederverwendbarkeit von Systemen und Software werden durch das Design bestimmt. Wie ein Architekt die Wünsche seiner Kunden in Pläne übersetzt, um sie für die Handwerker eindeutig nachvollziehbar zu machen, so müssen Designer die Requirements in eine System- und Software-Architektur und ein Feindesign überführen.

Oft wird die Dokumentation jedoch vernachlässigt: „Man weiß ja, was man will.“ Dann stellt sich meist zu spät heraus, dass die Übersicht fehlt und im Detail jeder etwas anderes verstanden hat.

Ein gut dokumentiertes Design kann zudem wiederverwendet werden. Dies spart Zeit und Geld und entscheidet über den Erfolg des nächsten Projektes.

Pragmatisch und wirtschaftlich

Ein gutes, dokumentiertes System-Design bietet Ihnen viele Vorteile:

Sie können Architektur und Module wiederverwenden.

Die Komplexität wird auf ein praktikables Maß reduziert.

Sie können die erforderlichen Ressourcen genau einschätzen.

Die Entwickler erhalten klare Vorgaben.

Eine problemlose Integration wird gesichert.

Der Testaufwand wird reduziert.

Neue Mitarbeiter werden leichter mit dem System vertraut.

Unser Angebot

Damit Sie sich alle Vorteile sichern können, bieten wir Ihnen folgende Leistungen:

Erstellung von System-Architektur, Software-Architektur und Software-Design durch iSAQB® Certified Professional for Software Architecture,

Traceability der Requirements über das Design bis zum Test,

inhaltliche Design-Reviews mit Ihren Fachleuten,

Integration der technischen Sicherheitskonzepte in die System- und Software-Architektur für sicherheitsrelevante Systeme nach ISO 26262 und ISO/SAE 21434.

Kontakt

Lernen Sie uns
persönlich kennen.

Lernen Sie die Köpfe hinter F+S kennen, nehmen Sie direkt Kontakt zu uns auf, vereinbaren Sie einen direkten Termin mit uns oder folgen Sie uns auf LinkedIn.

Kompetenzen

Modulentwicklung

Perfektion im Detail

Das Ganze ist nur so gut wie jedes seiner Teile. Deshalb legen wir Wert auf zuverlässige Software-Module. Wartbarkeit und Wiederverwendbarkeit sind selbstverständlich.

Die Wahrheit steckt im Code

Nach Requirement Specification und Design sind die Aufgaben klar definiert. Die entsprechenden Module müssen nun sorgfältig und möglichst fehlerfrei erstellt und getestet werden. Dazu spezifizieren und realisieren wir alle Moduldokumente bis hin zu den Modultests, die möglichst automatisiert durchgeführt werden.

Unser Angebot

Eigenverantwortlich erstellen und betreuen wir Ihre Software-Module mit folgenden Leistungen:

Mitarbeit bei der Festlegung der Anforderungen auf Ebene des Gesamtsystems,

Beschreibung der Anforderungen an das Modul,

Design und Codierung des Moduls,

Erstellung von Testdokumenten auf Modulebene und von Skripten für die automatische Testdurchführung,

Statische Codeanalyse,

Durchführung der Tests,

Unterstützung bei der Fehlersuche im Gesamtsystem.

Unterstützung der Integration,

Kompetenzen

Tests auf mehreren Ebenen

Fehler erkannt, Fehler gebannt

Verhält sich die Software in den entscheidenden Szenarien, wie gewünscht? Diese Frage beantworten wir mit Tests auf mehreren Ebenen.

Drum prüfe, wer die Software bindet, ob sich noch ein Fehler findet

Es liegt einfach in der Natur der Sache: Egal wie gut man spezifiziert, designt und codiert hat, das integrierte System enthält in der Regel immer noch Fehler. Fehler kann sich jedoch bei Großserien im Automobilbau niemand leisten.

Deshalb decken wir durch systematische Tests Fehler in integrierten Systemen auf und tragen so zu einer rechtzeitigen Korrektur bei. Unsere Testspezifikationen sind bekannt für ihre Genauigkeit und die vollständige Abdeckung des Testobjektes.

Auf Basis unseres Test-Know-hows unterstützen wir unsere Kunden in der Rolle des Testmanagers. Dieser führt eine effiziente Testplanung durch und überwacht die Umsetzung der Planung.

Unser Angebot

Als erfahrene Tester stehen wir Ihnen mit folgenden Leistungen zur Seite:

Erstellung von Testspezifikationen für Modultests, Kurztests, Integrationstests oder Abnahmetests unter Anwendung bewährter Testmethoden durch ISTQB® Certified Tester,

Durchführung von Tests nach Ihrer Spezifikation,

Durchführung flächendeckender Modultests mit Modultestwerkzeugen,

Unterstützung bei der Einführung von Tools zur Testautomatisierung,

Einführung von Testmethoden mit Schulung und Unterstützung,

Durchführung von Reviews Ihrer Testspezifikationen,

Übernahme der Rolle des Testmanagers mit Testplanung und -überwachung.

Kontakt

Lernen Sie uns
persönlich kennen.

Lernen Sie die Köpfe hinter F+S kennen, nehmen Sie direkt Kontakt zu uns auf, vereinbaren Sie einen direkten Termin mit uns oder folgen Sie uns auf LinkedIn.

Kompetenzen

Technisches Management & Integration

Inkrementelle Entwicklung managen

Systeme werden heutzutage über mehrere Musterstufen inkrementell oder agil weiterentwickelt. Wir übernehmen dabei die technische Verantwortung für ausgewählte Teilsysteme.

Nahtlos passende Teilsysteme

Selbst Teilsysteme heutiger Steuergerät-Systeme sind so komplex, dass sie von vielen Entwicklern an unterschiedlichen Standorten entwickelt werden. Stehen Änderungen oder Funktionserweiterungen an, müssen diese gemanagt werden.

Unser Angebot

Im Rahmen des technischen Managements stehen wir Ihnen mit folgenden Leistungen zur Seite:

Festlegung des Funktionsumfangs:

Mit Methoden des Requirement Engineering beschreiben wir eindeutig den Umfang des Funktionshubs bzw. der Änderung in allen Aspekten.

Anpassung des Designs:

Wir analysieren sorgfältig, wie sich neue Eigenschaften auf die Architektur auswirken, erstellen Alternativen zur Implementierung und reviewen das angepasste Design mit den System-Architekten.

Vorbereitung der Änderungsentscheidung:

Auf Basis der Analyse funktioneller oder Designänderungen erstellen wir ein Änderungsdokument, mit dessen Hilfe das Projektmanagement über die Durchführung der Änderungen entscheiden kann.

Überwachung der Implementierung:

Wir weisen die Entwicklerteams an, die Änderungen entsprechend der Vorgaben durchzuführen; die Umsetzung überwachen wir zeitlich und fachlich/inhaltlich.

Durchführung der Integration:

Wir integrieren die gelieferten Codemodule. Wir prüfen, ob alle durchgeführten Änderungen im Change-Management erfasst sind. Eventuelle Probleme klären wir direkt mit dem verantwortlichen Entwickler.

Durchführung von Tests:

Wir führen spezifizierte (Smoke-)Tests durch, dazu gehören spezielle Tests neu implementierter Features oder Bug Fixes. Wir erzeugen ein neues Software-Release mit den vereinbarten Änderungen und übergeben es mit entsprechenden Release Notes an die Testabteilung.

Kompetenzen

Tools

Erfolg braucht das richtige Werkzeug

Entwicklungsprojekte sind arbeitsintensiv. Leichter geht’s mit den richtigen Tools. Wir stellen Ihnen eine passende „Tool-Box“ zusammen.

Warum das Rad gleich neu erfinden?

Tools entlasten Ihre Mitarbeiter von Routine-Arbeiten und manuellen administrativen Aufgaben – sie machen Ihre Engineering-Projekte effizient. Doch die Entwicklung von Tools ist aufwändig und deshalb teuer. Zuerst sollte man immer versuchen, marktgängige Tools einzusetzen.

Bei der System- und Software-Entwicklung geht es im Prinzip immer um die gleiche Sache. Dennoch unterscheiden sich die Entwicklungsprojekte in der Praxis deutlich voneinander – je nach Herausforderung und Vorgehen. Die Tool-Umgebung muss zu Ihrem Umfeld passen. Üblich sind etwa:

Ihre Tool-Umgebung muss passen

Entwicklungsteams von 3 bis 300 Entwicklern,

Projektlaufzeiten von 3 Monaten bis zu mehreren Jahren,

zeitkritische ereignisgetriebene Anwendungen, dialoggetriebene Anwendungen, Datenbank-Anwendungen, komplexe Algorithmen,

unterschiedliche Programmiersprachen von Assembler über C, C++ und Java bis hin zu Code-Generatoren,

Programmausführung auf kleinsten Micro-Controllern bis hin zu Ausführungen auf Großrechnern,

Erweiterungen uralter Anwendungen bis hin zu kompletten Neuentwicklungen „auf der grünen Wiese“.

Für jeden Schritt die richtigen Tools

Sie benötigen unterschiedliche Tools für die erfolgreiche Arbeit in allen Entwicklungsprozessen – also zum Beispiel für

Analyse (Requirements),

Design,

statische Codeanalyse,

Testdurchführung,

Testmanagement,

Konfigurationsmanagement,

Fehlermanagement,

Änderungsmanagement,

Projektplanung.

Wir unterstützen diese Prozesse mit Tools für die Datenanalyse, für den Datenaustausch zwischen sonst inkompatiblen Tools und zur Testunterstützung.

Wer die Wahl hat…

Die Auswahl an verfügbaren Tools ist groß. Doch welche sind für Sie die besten? Und passen diese auch voll und ganz zu Ihren Anforderungen? Damit Sie sich mit den richtigen Tools ans Werk machen können, helfen wir Ihnen gerne weiter:

Wir wählen Tools aus, die am besten zu Ihren Aufgaben passen.

Wir konfigurieren die Tools auf Ihre Bedürfnisse und Ihre Projektsituation an.

Unterschiedliche Tools integrieren wir technisch.

Und bei Bedarf erstellen wir für Sie auch maßgeschneiderte Tools.

Unser Angebot

Damit Ihre Tools passen, übernehmen wir für Sie folgende Aufgaben:

Analyse Ihrer Bedürfnisse,

bei Bedarf eine umfassende Marktanalyse,

Unterstützung bei der Einführung von Werkzeugen,

Administration der Tools in der Anfangszeit,

Konfiguration und Ergänzung der gekauften Tools,

Entwicklung neuer Tools zum Schließen von Lücken in Ihrer „Toolbox“.

„Entwicklungsprojekte werden immer komplexer und anspruchsvoller. Und sie müssen „just in time“ realisiert werden. Dazu braucht es Spezialwissen und ein leistungsstarkes Team. Wir bieten Ihnen beides.“

Daniel Luscher

Team Lead Software Engineering

Persönlichen Termin vereinbaren