Our first step was to understand exactly the customers’ requirements. A copy of the clients existing system was made available for our developers to familiarise themselves with the features of the existing solution. The development team carried out an extensive analysis of the software. A detailed proposal was produced to reflect our understanding of the project. This ensured that all aspects of the project had been understood. The system was to be written in .Net with both a native Windows application and an ASP Web based application. The database & web application where deployed using the Microsoft Azure platform. File encryption was also incorporated to keep the data secure.
Once we had agreed the specification and the client was happy we had a detailed knowledge of their requirements, We began to build the database structure for this we use a database modelling tool built in house. We describe the database in code and our frameworks generate the required databases, indexes and relationships. Building a database this way allow for some great features, it allow us to make rapid changes to the database structure and also deploy the database on any database engine. The Database engine chosen was Microsoft’s Azure SQL servers.
Once the database design had been completed it was time to get down to the Coding. The system was built using Visual Basic.Net as the underlying language on both the Windows and Web Clients. The client wanted to be able to exploit all the new features we could provide, so the solution incorporated our extensive range of data and reporting tools to enhance the software. Our report writer and business intelligence tools allowed the client to extract and visualise thier data in a way they had not been able to in the past. Our development cycle allowed the client to access, test and suggest changes at each stage of the process, this reduced the development timescale whilst giving the maximum flexibility to the client..
Testing is a big part of any software development and to aid in this stage we always use one of our developers who have not been involved in the production of the software to blind test the software. The blind testing is a very important part of our quality control procedures as it gives an insight for our developers on potential issues and user interaction which the developer may not have thought about. Once our development team are happy that the software is stable, they delivered a release candidate. This stage is the final handover stage with all the functionality and user interface as per the final version. The client tested internally for a number of weeks with their own internal jobs before a final production release. The client continues to develop the system. A support agreement in place which provides a priority service for training and general support.
We are all using the database and getting used to using all the new features. Our staff are now getting more pro-active with marketing the extra sections you have included, should prove really useful. Our Directors have started analysing the clients in more detail using the reporting and anlysis tools.