Define, review and tune the architecture with KDAB's support
KDAB expert have supported embedded and desktop customers since 1999. The software architecture of a complex system is where fundamental mistakes easily can be made. Diligent groundwork, to get it right from start, often proves a significant factor in creating better software.
Examples of KDAB software architecture services:
- Validating your ideas with regard to how to structure and build your system
- Helping to rethink, when your current approaches prove to not be flexible enough
- Choosing hardware – KDAB’s expert opinion and insights on hardware we have used across multiple projects
- Learning about the merits and risks of platforms like QNX, VxWorks, Windows Embedded or Linux
- Developing strategies for integrating third-party functionality
- Dealing with cross-platform issues
- Enabling your application to scale and to stay flexible
Best practise sharing / learn the latest with regard to:
- use of web engines, graphics drivers
- alternative approaches to separate the business logic from the presentation
- display technologies like Wayland, OpenGL or Vulkan
- differences between Qt Widgets and QtQuick/QML
- issues with concurrency and multi-process architectures
- safety concerns
- testability and maintainability
Let us have a look at your existing plans and code base, review your ideas and suggest alternative routes. Alternatively, we can guide you in the process of drafting a new software architecture from scratch, based on our broad experience of similar efforts.
Our KDAB engineers have seen many different approaches in the embedded and desktop space with regard to tackling whole stack challenges in the software architecture.
In the embedded space we have experience from building medical products, industrial machines, in-vehicle infotainment systems, consumer-grade touchscreen user interfaces, rich multimedia experiences etc. We also have in-depth skills in building scalable, robust and high-performing platforms that serve multiple product lines, connectivity with cloud services, mobile devices and apps and more.
In the desktop space we can coach you in targeting a new platform – like Mac or Android for the first time with Qt, integrating high performance 3D and 2D rendering, create interface with enterprise IT or handle very large amounts of data… in large scale products in the scientific space, oil and gas exploration, finance, gaming and entertainment industry.
Modules of a typical software architecture workshop
- review existing architectural ideas, documents, code artefacts and drafts
- create a rough architecture sketch to get you started
- provide experience based best-practice input
- suggest alternate approaches, discuss pro’s and con’s
- help you select hardware, operating systems, display technologies and UI techniques
- systematically work through all aspects of the architecture, incl. risk mitigation
- challenge and clarify assumptions
- discuss developer tooling, development process and potential skill gaps considerations
- performance, robustness, scalability, testability, maintenance and business value concerns
- documentation of the workshop in the format that works best for you
- proposals for next steps: i.e. prototypes to validate assumptions or clear up risks etc.
We are happy to discuss in more detail how we can adjust the workshop to your specific needs.