Application Development Case Study: Data Preparation Tool Project for the Rail Industry
A major rail company engaged Resource Engineering Projects to engineer a Microsoft Windows based application that would produce Motorola S-Records from data contained within an input XML file. These S-Records could then be loaded onto a number of existing industrial units to configure them for deployment.
The software was classified by the customer’s safety assessor as the lowest level of safety criticality—EN 50128 Safety Integrity Level (SIL) 0. However the customer requested that selected development techniques from higher safety levels should be employed to minimise the chance of field-testing problems.
By working with the customer’s safety and quality assurance team an acceptable strategy was put in place. In addition to the mandated SIL0 practices, we produced reviews of each lifecycle stage and conducted high-level system testing activities.
The product requirements were produced by the customer and were updated throughout the project as we suggested improvements. Resource Engineering Projects then produced a design in UML using its own Software Development Standards and coded in C# using the customer’s standards.
An informal delivery of the product was provided to the customer mid-project to allow feedback to be provided, and changes to requirements to be made. We assessed the changes and the impact was discussed with the customer to ensure both timescales and project budget were protected.
The C# code was statically analysed using the Microsoft FxCop tool to ensure the code was written in a consistent, robust and maintainable manner. This static analysis activity was conducted at several key points in the development process to minimise the risk of large changes being needed later in the project.
Regular reports were provided to the client to ensure full visibility of progress, issues and risks. This communication allows project changes to be managed and de-risked, leading to successful delivery.