BEST PRACTICES IN SOFTWARE DESIGN

Flower color variation algorithm
Bioinformatics application: flower color variation

NOVO is committed to a systematic software design process. Our process typically begins with generation of use cases that are used to develop functional requirements for the software system. A data abstraction model based on object-oriented principles is then designed, and solution tools chosen. This is then followed by implementation, which is managed using Agile development processes.

Our software design and development processes are documented in our ISO 13485:2016-certified quality system. For medical devices, all phases of development, from requirements, through design and implementation, to validation and maintenance, are compliant with the IEC-62304 medical device software and software lifecycle processes standard. For non-medical programs, our software design and development process preserves best practices, but waives the regulatory overhead. What this means to our clients is a structured, thoughtful approach that will meet regulatory requirements in the most efficient manner possible.

Our development team recognizes that good software design and algorithm development form the basis of stable software systems. Our software engineering best practices include intelligent use of design patterns, use of static and dynamic analysis to drive efficient refactoring, and continuous code integration and testing.

ALGORITHM SELECTION AND IMPLEMENTATION

NOVO has several engineers with deep knowledge of algorithms in specialized areas, including signal and image processing, bioinformatics, color science, advanced motion control, sonar detection and tracking, and touch algorithms for tablet displays. This knowledge allows NOVO to offer a level of scientific programming beyond what most competitors can provide.

Kalaman filter algorithm
Non-linear tracking (Kalman filter)