Hero Banner

Steinkress Software Development GmbH

With over a decade of comprehensive project experience in customizing and developing tailored software solutions for the medical and measurement technology sectors, we stand as a leading partner in crafting cross-platform graphical user interfaces for desktop applications.
Our focus lies in utilizing C++ and Qt, particularly for Windows.
Thanks to our broad expertise, we effectively achieve the objectives of various stakeholders in the dynamic interplay of time, costs, and quality.

More

Cross Platform Software Development

Steinkress Software Development is a partner in software development for a wide variety of industries such as medical technology, measurement technology, security technology and the financial sector.
For these industries, we offer cross-platform development know-how for desktop and embedded applications with graphical user interfaces under Windows and Linux with C++, Qt and QML. Our development experience and knowledge span the areas of frontend, backend, UI/UX and testing.

Process Models

We work with various process models to make software development clearer and more manageable in terms of complexity.

Extreme Programming

Prototyping

Scrum

Test Driven Development

V-Model

Waterfall Model

Software design

We use different approaches to implement software in software development processes.

Software Architecture

The software architecture for the basic organization and interaction between the components require different architecture patterns.

  • For the expandability and adaptability of software systems: Dependency Injection, ...
  • To organize the multitude of components and objects of a software system: layered architecture (OSI model), pipes and filters, ...
  • To structure human-computer interactions: Model View Controller (MVC), Model View Presenter, Remote Presentation Model, ...
  • To use distributed resources and services in networks: client-server (HTTP), peer-to-peer, ...
Architectur Illustration

Design Pattern

For higher maintainability and lifetime of the software we use the SOLID principles.
These principles are:

  • Single responsibility principle
  • Open-closed principle
  • Liskov substitution principle
  • Interface segregation principle
  • Dependency inversion principle

For recurring design problems in software development, we use design patterns such as factory patterns and adapter patterns.

Entwurfsmuster Illustration

Requirements Analysis and System Design

Object-oriented analysis and design with UML

HMI User Interface

UI design

Data Modeling

Entity Relationship Model

Technology Portfolio

With the following resources we want to ensure the long-term success of our company in the future. The further development of our technology portfolio is continuously adapted to market developments.

Operating Systems

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

Build Systems

  • CMake
  • qmake

Development Environments (IDE)

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

Version Control and Source Control

  • Git
  • Apache Subversion (SVN)

Frameworks

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

Compiler

  • MSVC
  • GCC

Programming Languages

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

Libraries

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

Cryptography, Encryption and Decryption Methods

  • OpenSSL - cryptographic functions for encrypting and decrypting, generating and managing certificates
  • RC4
  • SHA3-256 (with a separate key)

Databases

  • SQLite (Embedded database)
  • Oracle
  • SQL Anywhere

Markup Languages

  • HTML
  • XML

Data Formats

  • JSON
  • CSV

Testing Tools

  • Google Test – Unit and module testing, regression testing
  • Squish - Automated GUI testing (Python)
  • PuTTY - SSH and telnet client
  • Interface simulation tools with GUI

Debugging and Troubleshooting

  • Wireshark - Data packets sniffer for offline analysis of network traffic
  • Lint - Static Code Analysis
  • Coverity - Static Code Analysis
  • Bullseye Coverage - Code coverage

Documentation

  • Comments in code
  • SharePoint
  • eDMS - Electronic Document Management System

Industry Sectors

We have built up extensive expertise in several industry sectors.

Health Care

Medical device software for phaco machines and surgical microscopes.

Information Technology

Measurement device software for oscilloscopes, network analyzers and spectrum analyzers.

Financials

Administration software for bank fund products and insurance products.

Industrial

Monitoring centers for fire alarms, access control and video surveillance.

Offer Illustration

References

A selection of our customers in alphabetical order.

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