SAPHIR delivers custom applications and instrumentation hardware. Our team supports you during all the phases of your projects and the major part of our team consists of certified LabVIEW developers or LabVIEW architects, and the responsability of projects is always in the hands of our most experienced team members.
DESIGN aND DEVElOPMENT
The design fase is essential to create high quality, easy to maintain software that can evolve when needs arise. The architecture of our software is designed by our most experiences developers, notably our certified LabVIEW architects.
When it comes to software development we specialise in the following :
- LabVIEW RT (Real Time)
- LabVIEW FPGA
- Object oriented programming
The majority of our applications are developed with the National Instruments LabVIEW environment in which our developers share a common specialisation. We have deep knowledge of this development environment that we have been using since the creation of our company, in 1989, using Windows, Linux and OS X.
The addition of measurement hardware allows us to offer an integral service.
The process consists of different phases :
- Choice of hardware based on technical requirements, budget and time.
- Creation of fabrication plans, and installation steps.
- Handling of supplies
- Units tests of hardware, prototyping
- Testing or development of drivers to assure correct communication between the software and hardware
- Installation of hardware created by SAPHIR or suppliers: plate, tray, rack or box. This step includes mechanical adaptation if needed, as well as security checks and electrical safety checks.
- Installation of electronics
- Installation tests : confirming applicable norms, electrical safety and analysis of signal quality.
- Putting into service
- Maintenance contracts
Our team, official National instruments « Alliance » partner since 1990, has outstanding technical knowledge of their products.
We also regularly use hardware from Agilent, Keithley, Eurotherm, Siemens, Schneider... and many more specific systems, used widely by our clients.
Because of our high level of experience, you can rest assured of the correct choice of hardware to fit your specific needs. The integration of hardware by SAPHIR garanties a system that fonctions as it should on all fronts: software and hardware.
CREATION OF RESOURCES
A team fitted to the constraints of your project is created. It is led by a technician, who delivers to a General Project Director who carries the overal responsability. Our projects are never handled by a single person, which assures the continuation of your project even if a team member becomes temporarily unavailalbe.
PERIODICAL INTERNAL REVIEWS
Internal reviews are organised on a regular basis to exchange the information needed for a smooth handling of the project : risk assesment, level of advancement, planning, and technical issues.
Periodical project reviews with the client
The succes of a project is a common objective for both SAPHIR and it's client. With that in mind, we plan regular review meetings with the client in which we present the progress.
PLanning and deadlines
All tasks are planned well in advance to assure deadlines will be met. Since planning is never an exact science, we take care to review the advancement of all projects periodically to assure ourselfs and our clients whether or not the deadlines are obtainable. Might this not be possible, we rapidly take a decision with the client: to add resources to the project or to change the planning.
Unforseen events can always influence the scedule, costs and technical choices. Correctly managing risk is a permanent and integral part of all projects run by SAPHIR. A review of possible risks is created at the start of every project, and undated at every project review. This allows us to not only trace risks, but also to present them and our possible solutions to the client.
Version control is done by using a widely used system: SVN (Subversion). The use of this systems allows us to :
- Easily work on the project in teams (codes are stored centrally on a server)
- Trace every change that is being made, as well as assuring no code gets lost.
- The creation of different versions of code that share a single base.
Source code is centrally stored by SVN on a server, and regularly safed to a dedicated harddrive.
Correctly tracing requirements during all phases of a project allows us to match the deliverables as close as possible to the needs of the client. When the project needs it, SAPHIR documents and communicates all requirements in different documents related to the project : Management (Requirements / Tasks), Design documentation (Requirements / Software modules), Testing plans (Requirements / Tests to be performed)
Clear description of requirements
The correct description of a project is vital to it's succes. The experience you'll find in SAPHIR when it comes to project description means you'll launch a project that responds perfectly to your requirements.
At SAPHIR we often take part in prototyping phases to take away doubt and remove risks and for proof of concept and performance testing. To realize this kind of work, our team has acces to a large spectrum of hardware as well as a dedicated test platform.
formalisation of specifications
If you need help to correctly describe and formalize your requirements or create functional design documents, our team is more than capable of helping you every step of the way.
The team at SAPHIR takes extra care of the tests we submit the applications we develop to.
Multiple tests are run during development at SAPHIR and eventually at the client.
- Single unit testing : These tests are frequentely run during development. Every developer will test his code on multiple occasions during creation.
- Software module testing : When a software module is finished, it is submitted to tests and real life situations by a member of the team that did not partake in it's development.
- Integration tests : these tests are performed during the integration of the module into the general architecture of the project. They make sure each of them performs adequately and is well integrated.
- Strenght and endurance tests : These tests are performed on a dedicated platform. Periodically samples are being taken to look for eventual anomalies (memory, CPU or hard drive issues). Next to that, an opperator will issue demands to the system to verify the solidness of the system.
SAPHIR has it's own dedicated testing platform.
This platform is made up of :
- A network of workstations.
- .Numerous hardware installations (input cards, embedded controllers, finction generators, osciloscopes...).
- Tools specifically dedicated to application testing (monitoring of possible memory loss, partitioning, specific logic probes).
This platform is used :
- During development to ensure robustness of integration in the general architeture of the main application.
- At the end of development to garanty the quality and strenght of the application.
- During the period of garanty to ensure a good after sales service (support, corrections of anomalies if nessecary).
Good documentation is essential to garanty the highest level of qualtity and maintainability of a develped system, and a nessecity for it's eventual evolution. This goes for both soft- and hardware. Keeping track of requirements allows the correct adaptation of a projects to the needs expressed by the client during each fase of it's development. Documentation related to software might be all or some of the following :
- Specifications related to the clients account(s)
- Detailed design document
- Testing documentation : detailed description of tests run
- Test rapports : results of tests performed as described in the testing documentation
- Software version form
- User manual
- Installation manual
- Technical maintenance document
- Connections diagram
- Installation diagram
- Construction details
SAPHIR makes sure it's clients have a firm grip on the use of their new systems and software. The transfer of this knowledge is done by providing the client with clear documentation, but also with personallized trainings that specifically target your project :
- Trainings around the correct use of the developed systems
- Training to obtain skills that allow for maintenance as well as evolution of the system : Understanding of the software's architecture, source code and ways to add functionalities... This training is developed for people who already possess programming skills and will make sure they are able to maintain and evolve the hard- and software.