Hero Banner

Steinkress Software Development GmbH

Mit mehr als 20 Jahren branchenübergreifender Projekterfahrung in der individuellen Softwareentwicklung sind wir ein Top-Partner für die plattformübergreifende Entwicklung von Desktop- und Embedded-Software mit grafischer Benutzeroberfläche.
Durch unsere umfangreiche Methoden- und Fachkompetenz realisieren wir die Ziele verschiedenster Stakeholder im Spannungsdreieck Zeit, Kosten und Qualität.

Weiter

Plattformübergreifende Softwareentwicklung

Steinkress Software Development ist Partner in der Softwareentwicklung für unterschiedlichste Branchen wie Medizintechnik, Messtechnik, Sicherheitstechnik und die Finanzwirtschaft.
Für diese Branchen bieten wir plattformübergreifendes Entwicklungs-Know-how für Desktop- und Embedded-Anwendungen mit grafischen Benutzeroberflächen unter Windows und Linux mit C++, Qt und QML. Unsere Entwicklungserfahrung und unser Wissen erstrecken sich über die Bereiche Frontend, Backend, UI/UX und Testing.

Vorgehensmodelle

Wir arbeiten mit verschiedenen Vorgehensmodellen um die Softwareentwicklung übersichtlicher zu gestalten und in der Komplexität beherrschbarer zu machen.

Extreme Programming

Prototyping

Scrum

Test Driven Development

V-Modell

Wasserfallmodell

Softwaredesign

Wir nutzen unterschiedliche Vorgehensweisen zur Implementierung von Software in Softwareentwicklungsprozessen.

Softwarearchitektur

Die Softwarearchitektur für die grundlegende Organisation und Interaktion zwischen den Komponenten erfordern unterschiedliche Architekturmuster.

  • Für die Erweiterungs- und Anpassungsfähigkeit von Softwaresystemen: Dependency Injection, ...
  • Um die Vielzahl der Komponenten und Objekte eines Softwaresystems zu organisieren: Schichtenarchitektur (OSI-Modell), Pipes und Filter, ...
  • Um Mensch-Computer-Interaktionen zu strukturieren: Model View Controller (MVC), Model View Presenter, Remote Presentation Model, ...
  • Zur Verwendung verteilter Ressourcen und Dienste in Netzwerken: Client-Server (HTTP), Peer-to-Peer, ...
Architectur Illustration

Entwurfsmuster

Für eine höhere Wartbarkeit und Lebensdauer der Software verwenden wir die SOLID-Prinzipien.
Diese Prinzipien sind:

  • das “Single Responsibility Prinzip”
  • das “Open-Closed Prinzip”
  • das “Liskovsches Substitutionsprinzip”
  • das “Interface Segregation Prinzip”
  • das “Dependency Inversion Prinzip”.

Für wiederkehrende Entwurfsprobleme in der Softwareentwicklung verwenden wir Entwurfsmuster wie Fabrikmuster, Adaptermuster

Entwurfsmuster Illustration

Anforderungsanalyse und Systementwurf

Objektorientierte Analyse und Design mit UML

Benutzerschnittstelle HMI

UI-Design

Datenmodellierung

Entity-Relationship-Modell

Technologieportfolio

Mit den folgenden Resourcen wollen wir den langfristigen Erfolg unseres Unternehmens auch in Zukunft sichern. Die Weiterentwicklung unseres Technologieportfolios wird laufend an die Marktentwicklung angepasst.

Betriebssysteme

  • Windows 10 (x64-Architektur, Win32-API)
  • Linux (Ubuntu 18.4)

Build Systeme

  • CMake
  • qmake

Entwicklungsumgebungen (IDE)

  • Visual Studio 2017 (Professional-Edition)
  • Visual Studio Code
  • Qt Creator 4.13.1

Versionskontrolle und Quellcodeverwaltung

  • Git
  • Apache Subversion (SVN)

Frameworks

  • Windows-API (Win32-API)
  • .NET-Framework
  • Qt Framework, Qt 5.15.2
  • Google Test - Unit Testing Framework

Compiler

  • MSVC
  • GCC

Programmiersprachen

  • C++ 11/14/17 (Smart Pointer, Multithreading, Lambda, Templates)
  • Bash (Unix-Shell)
  • cmd.exe (Windows-Eingabeaufforderung, Batch), PowerShell
  • JavaScript, HTML, CSS
  • Python 3 (Tkinter)
  • QML (QtQuick)
  • SQL

Bibliotheken

  • C Standard Library (msvcrt.dll)
  • C++ Standard Library
  • STL - Standard Template Library
  • MFC - Microsoft Foundation Classes
  • Boost.Asio - Communication Library
  • Log4cpp - Logging Library

Kryptographie, Ver- und Entschlüsselungsverfahren

  • OpenSSL - kryptographische Funktionen zum Ver- und Entschlüsseln, Erzeugen und Verwalten von Zertifikaten
  • RC4
  • SHA3-256 (mit separatem Key)

Datenbanken

  • SQLite (Embedded Datenbank)
  • Oracle
  • SQL Anywhere

Auszeichnungssprachen

  • HTML
  • XML

Datenformate

  • JSON
  • CSV

Testerstellung

  • Google Test – Unit- und Modultests, Regressionstests
  • Squish - Automatisierte GUI Tests (Python)
  • PuTTY - SSH- und Telnet-Client
  • GUI-Simulatoren für Schnittstellen

Debugging und Troubleshooting

  • Wireshark - Packet Sniffer zur Offline-Analyse des Netzwerkverkehrs
  • Lint - Statische Codeanalyse
  • Coverity - Statische Codeanalyse
  • Bullseye Coverage - Testabdeckung

Dokumentation

  • Kommentare im Code
  • SharePoint
  • eDMS - Elektronisches Dokumentenmanagementsystem

Branchen

Wir haben in mehreren Branchen umfangreiches Fachwissen aufgebaut.

Medizintechnik

Touchscreen-GUI und Steuerungskontrolle für Phakomaschinen und Operationsmikroskope.

Messtechnik

Touchscreen-GUI und Steuerungskontrolle für Oszilloskope, Netzwerkanalysatoren und Spectrumanalysatoren.

Banken und Versicherungen

Verwaltungssoftware für Bankenfondsprodukte und Versicherungsprodukte.

Sicherheitstechnik

Überwachungszentralen für Feuermelder, Zugangskontrolle und Video.

Offer Illustration

Referenzen

Eine Auswahl unseres Kundenkreises in alphabetischer Reihenfolge.

Bosch Sicherheitssysteme GmbH
Carl Zeiss Meditec AG
ebase - European Bank for Financial Services GmbH
Rohde & Schwarz GmbH & Co. KG