SW-Entwicklung Linux, Windows
Abgesehen von embedded Software-Entwicklung, gehört zum Dienstleistungsportfolio der Glück-Engineering GmbH auch die Entwicklung von Windows oder Linux basierter Software für PCs, Notebooks, SBCs oder Workstations.
In den meisten Fällen gibt es auch hier einen Zusammenhang zu einer embedded Hardware. Viele Applikationen sind GUIs und HMIs und dienen der Konfiguration und Kommunikation mit der embedded Hardware. Aber auch Prozesskontrolle, Statistik, Regelung, Automation, Simulation und vor allem White-Box-Tests sind typische Applikationen bei der Glück-Engineering GmbH.
Methoden und Werkzeuge beim SW-Design
Programmiersprachen:
- C, C++, C#, Java, Delphi, Visual Basic
- Assembler
- Skriptsprachen: bash, LUA, PowerShell
- UML
- VHDL
- Sonstige: CAPL
Werkzeuge (Tools)
- LabWindows/CVI™ (National Instruments)
- .NET framework
- Visual Studio™
- GCC, GTK+, Glade, GtkBuilder
- Doxygen (Software Dokumentationswerkzeug)
- Git (Softwareverwaltungsprogramm)
- Papyrus (UML-Tool)
Mindestanforderungen
Unsere Informatiker und Ingenieure entwickeln Software in methodisch strukturierter Form. Um unseren Kunden ein Höchstmaß an Qualität zu bieten muss jede von der der Glück-Engineering GmbH erstellte Software die folgenden Mindestanforderungen erfüllen:
- Strukturiertes Softwaredesign (Planen der Architektur und Modellierung von Konzepten z.B. mit UML)
- Funktionalität (alle technischen und funktionalen Anforderungen müssen erfüllt sein)
- Prüfbarkeit, Testbarkeit (Eignung für automatisiertes Testen, Einhalten von Programmier- Regeln und -Standards z.B. MISRA-C; damit Prüftools wie Splint, zur Codeanalyse angewendet werden)
- Zuverlässigkeit (Reifegrad (Anzahl Fehler pro Zeitintervall), Fehlertoleranz (Fehler, , Wiederherstellbarkeit (ob und wie schnell läuft das Programm nach einem Fehler bzw. crash wieder)
- Unempfindlichkeit (Unempfindlich gegen fehlerhafte Benutzung)
- Bedienung (Einfach, übersichtlich)
- Wiederverwendbar (Modular, gekapselte Funktionen und Module, die ohne Änderung in anderer Software wieder verwendbar sind)
- Wartbarkeit (Strukturiert, modular, gut dokumentiert z.B. mit doxygen, damit nachträgliche Änderungen durchführbar sind)
- Erweiterbarkeit (nachträgliche Erweiterungen sollen durchführbar sein)
- Versionsverwaltung ( git )
Softwarequalifizierung
Zu Beginn der Entwicklung wird ein für Ihre Stückzahl, Ihre Anforderungen und Ihr Unternehmen individuell zugeschnittenes Konzept, inkl. dem dazu passenden Entwicklungsprozess gewählt.
Wir die Firma Glück-Engineering, bieten maßgeschneiderte Lösungen und Produktentwicklungen ab der Stückzahl 1 bis zur Großserie an. Dabei gilt es natürlich die damit verbundenen unterschiedlichen Anforderungen an Zuverlässigkeit und Reifegrad, auch unter wirtschaftlichen Gesichtspunkten, zu erfüllen. Wir legen daher gemeinsam mit unseren Kunden, während der Angebotsphase, als vereinbarte Vertragsgrundlage, möglichst exakt fest welche Anforderungen erfüllet und welcher Reifegrad für das Produkt erreicht werden soll. Dazu gehören insbesondere auch die Qualitäts- und Testanforderungen
Wir beraten Sie bei der Entscheidung welche Teile unseres SW-Test-Potfolio bei Ihrem Produkt, sinnvoller Weise und passend zu dem angesetzten Zeit und Budget Rahmen, zum Einsatz kommen sollten:
Im Rahmen unsers V-Modell-basierenden Entwicklungsprozesses unterscheiden wir zwischen:
- Komponententest (Modul bzw. Unit Test)
- Integrationstest
- Systemtest
- Abnahmetest (durch Kunde)
Parallel zur Anforderungsanalyse und dem Erstellen des Software-Pflichtenheftes (software requirement specification SRS) planen wir den Testprozess und erstellen die SW-Testspezifikation (sw test specification).
Sprechen Sie uns an falls Sie eine Software Test Dokumentation auf Basis des IEEE 829 standards wünschen.
Folgende Software-Tests bieten wir an:
- Statische Codeanalyse (automatisiert, toolbasiert, z.B. Splint, Code-Review im Team)
- Dynamische SW-Tests: White-Box-Tests, Black-Box-Tests
- White-Box Tests, Modul-Tests (Unit-Tests), Integrationstests (systematisch, automatisiertes Testen der internen Funktionsweise mit Kenntnis und unter Betrachtung des Prüflings-Code auf Modul-, Funktion- oder Klasse-Ebene mit dem Ziel Fehler aufzudecken; der code wird in einer Simulationsumgebunf ausgeführt und mit Eingabevariablen stimuliert und die Resultate bewertet; es werden z.B Endlosschleifen oder unerreichbare Programmpfade entdeckt; Tools CUNIT, gcov, Microsoft-Komponententestframework); zur Verifikation; Stichworte in diesem Zusammenhang: Testfälle, Testabdeckungsgrad, Analysetools
- Black-Box Tests Integrationstests, Systemtests, Funktionstests (systematisch, manuelles oder automatisiertes Testen der internen Funktionsweise OHNE Kenntnis des Prüflings-Code. Es wird gegen die Spezifikation getestet. zur Validierung.̈