Babcock operates a comprehensive software development capability underpinned by a proven QA system and experienced project management. The company has over 30 years experience of providing robust and reliable applications primarily for the nuclear industry, utilising engineering techniques and processes that are equally relevant in other sectors.
The software engineering team within Babcock is staffed by a highly qualified and experienced team of engineers, who can offer services spanning the full development lifecycle from requirements capture and analysis, through design, development and testing, to deployment, support and maintenance.
Babcock can deliver innovative and robust systems covering a number of applications. These include:
- Radiometric instrumentation
- Safety systems
- Data acquisition and control
- Database systems
- Data analysis
- Intranet applications
- Graphical user interfaces
- 3D Imaging
- Systems integration
- Distributed systems
- Real-time systems
Many of these applications require the creation of systems to meet complex requirements within a fixed budget and timescale. The integration of 3rd party software and hardware, in addition to bespoke development, leads to cost effective solutions with all work underpinned by a mature quality assurance system accredited to ISO9001:2000 and TickIT.
Babcock engineers follow an independently accredited development lifecycle based on the Rational Unified Process® (RUP®). This process is designed to identify and remove risk early in the project and enable regular customer feedback.
Using this approach the Babcock team, based in West Cumbria, have successfully delivered systems and software for customers around the world, including the USA, Canada, Japan, China, Germany, Switzerland and South Africa, as well as the UK.
The development process typically begins with a detailed requirements capture and analysis, together with use case scenario development to define robust hardware and software architectures. All of these activities are carried out in close unison with each of our customers to ensure that the appropriate solution is delivered.
Software produced by Babcock is typically developed using a component-based architecture using objected-oriented principles and proven design patterns. Design documentation is captured using the industry standard UML notation, supported by CASE tools. Our engineers are also experienced with alternative software lifecycles (e.g. the V-model), where this is more appropriate for the project or customer.
The Software Engineering team have experienced software practitioners, familiar with many current and legacy tools and technologies, particularly those targeting the Microsoft Windows/PC platform. Core skills include:
- Visual C++/MFC/ATL, Visual C#, Visual Basic, .NET, COM/DCOM
- Database - SQL Server, MS Access, ADO.NET/ADO/DAO/ODBC
Verification and validation activities are an important element of the software process. In addition to reviews and walkthroughs, our engineers are skilled in a number of testing techniques which are supported by specialist tools to enable test automation, leak detection and coverage analysis.
The rigorous verification and validation techniques applied ensure that the final delivered product is fit for purpose, delivered to timescales and requires the minimum of post delivery support, thus keeping lifetime costs to a minimum.
In addition to our development capability, Babcock has a dedicated team of support engineers, maintaining operational hardware and software to a wide range of legacy systems on behalf of our customers worldwide.
Comprehensive support packages tailored to the needs of the customer are available for all Babcock systems, and the team can also provide training for users and asset care services.
In summary, Babcock offers a full lifecycle capability with the flexibility to tailor the development process to the needs of the individual customer and project. Our aim is to deliver:
- The desired functionality
- To the correct quality
- Within the required timescale
- At the right price
- For the lifetime of the system