Identify problems
We know where problems can arise
We implement software projects for the pharmaceutical industry and the medical technology sector.
Our focus is on the development of medical and healthcare apps as well as medical software and digital health applications (DiGA). According to all valid standards for medical devices we plan, develop and document for national and international customers for more than 10 years.
We support you in all product lifecycle phases, taking into account the regulations and requirements of your target market. Whether this is in the EU (MDR), the USA (FDA), Brazil (ANVISA) or other countries – we know the legal regulations and develop according to these specifications.
What quality characteristics must a software solution have? How can these be implemented effectively? And where might potential risks be hidden?
The architecture of a software is not only structuring code, but is also the key to answering these questions. Experience is therefore a decisive factor in being able to design the software architecture at a higher level of abstraction.
Only the most qualified employees at BAYOOMED are entrusted with the role of an software architect. In accordance with the IEC 62304 standard, they create effective solutions for customers in the medical and pharmaceutical environment.
Phase 1
At the beginning of a project, we create a system architecture (architecture design) based on customer-specific requirements. The next step consists of identifying potential risks and adding measures to minimize them: e.g. a tight schedule, conflicting requirements, ambiguity or lack of documentation of third-party systems.
Phase 2
Now follows the software design, i.e. the clarification of the “how”. Here, too, we use an analytical approach and first create a rough design, which we then elaborate into a detailed design. This approach allows us to go into detail without losing sight of the project. For the design itself, we rely on design principles and patterns that have been proven in practice.
Phase 3
In the implementation phase, we constantly monitor whether the implementation corresponds to the architecture or whether it needs to be adapted. This means that there is a constant evaluation of the architecture, for example using the “Architecture Tradeoff Analysis Method”.
Testing for changed requirements that necessitate a change in the architecture (requirements analysis) is flexibly integrated.
In development cycles, the project passes through several phases, which are subject to detailed planning. In order to be able to integrate the specific requirements in the software architecture, an analysis of possible effects on architecture, implementation, schedule and risks is required. This is done in parallel with the agile development of the software solution.
The development of embedded software presents its own unique challenges: Large are the differences between systems. They range from a tiny microcontroller and specialized runtime environment to complete systems on a chip and embedded Linux. This results in a variety of tools and software stacks that have their own special characteristics.
An embedded system often consists not only of a single microprocessor, but a number of processors with different tasks: Connecting to external systems, providing the user interface, and addressing sensors or actuators. These processors must coordinate and communicate with each other, for example using SPI or I²C, to exchange commands and data.
The resources of an embedded system and thus the possibility to execute and store programs are limited. With this knowledge the experts of BAYOOMED realize your project. Because software updates on embedded systems after product release are difficult or impossible, special care is needed.