The first stage is for our team of engineers to extract the precise requirements of a desired software product requirements analysis. Both functional and non-functional requirements for the system are determined. The requirements are documented and defined to a level of detail sufficient for system design.
Once the software requirements have been established, our team of experts will proceed with a functional specification of the system to describe what needs to be implemented. The specification involves a complete description of the behaviour of a system to be developed.
After the requirements and specifications of the software are determined, we will develop a plan for a solution. Our specialist design team will design the architecture of the software system making sure that it meets the requirements of the product, as well as ensuring that future requirements can be addressed.
Our team of experienced developers then program the code for the project using the latest development tools, best practise techniques and compliance with internationally recognised standards.
Comprehensive software testing is undertaken using both white box and black box techniques. Testing is performed using a bottom-up approach:
- Unit testing - verifying the functionality of a specific section of the code.
- Integration testing - verify the interfaces between components against a software design.
- System testing - tests a completely integrated system to verify that it meets its requirements.
All of our websites are validated to ensure strict compliance with W3C Standards.
All of our projects and source code include comprehensive documentation of the software for the purpose of future maintenance and enhancement.
Deployment starts after the code is appropriately tested, approved for release, and sold or otherwise distributed into a production environment. This may involve installation, customization, testing, and possibly an extended period of evaluation.
Our dedicated team is experienced in maintaining and enhancing existing software to cope with newly discovered faults or requirements. This ranges from fixing bugs and installing updates to extending systems to contain brand new functionality.