We can supply quality code to your specification. From a driver for a bespoke hardware interface to a fully automated system, we will work closely with your engineers to provide the necessary solution. We design using UML and will provide full documentation. Importantly, our software engineers understand hardware! This greatly improves communication and productivity.
Where possible we use Object Orientation to produce code that is maintainable and reuseable. For all OO designs we use UML (Unified Modelling Language) as our standard for visualisation and documentation. This allows us to adjust and hone the design before we write any code. We also use proven design patterns if applicable. You may choose to have your engineers involved at this stage if they will work on the system in future.
Having finalised the design of your system, the coding process is usually straightforward. For the majority of applications we use C / C++ for control code on PC platforms ( MS Windows, Linux). We generally use C, C++ and assembler for embedded systems. On Windows platforms we use C++, Visual C# or (.Net) for user interfaces and some non real time control code.
Testing can be conducted after coding using test cases written against the requirements. Alternatively, TDD (test driven development) can be employed for iterative testing during the design/coding phase.
|software skills checklist|
High Level Operating Systems:
I/O and Peripherals
|Real Time Computing Ltd|