Software Engineering

Our software engineers have good knowledge and experience in all technologies required to develop, test and deliver solutions to the space and defence sector, addressing with competence the whole software development lifecycle, from requirements elicitation to validation and maintenance.

Our areas of expertise cover design methodologies and technologies, programming, artificial intelligence, web-based applications, data management, man-machine interface, modelling methodologies and languages, system management, validation and many others.

Sapienza engineers provide innovative solutions that are proportionate to the size of the problem whilst utilizing proven technologies and best practise processes in order to meet specific clients need.

Software System Engineers

System engineers are in charge of ensuring that all components (hardware and software) perform as expected, ensuring the maintenance evolution of all components and their integration into the system as a whole. In complex high reliability software environment, such as those encountered in the space and defence environments, this can be particularly challenging as this often means accommodating a vast array of heterogeneous technologies. This means that systems engineers need to be comfortable with a wide range of languages and frameworks as well as a good understanding of the system as a whole.

  • Definition and specification of internal and external interfaces in agreement with the relevant parties
  • Acceptance of deliverables received, ensuring correctness, completeness and compliance to the applicable requirements
  • Maintaining required documentation
  • Ensuring the integration of individual components and the maintenance of the system

Mission Critical Software Engineers

Mission critical software engineering is a unique branch, with unique challenges and properties that separate it from other types of software engineering. One such challenge would be the specification of software requirements as it would have to cover a large number of cases, be highly reliable and encompass long life-spans. Additionally, as the developed software is critical, risk reduction needs to be considered resulting in a high level of documentation as well as formal reviews. Due to these aspects projects typically will have long lead times, making the management of project scheduling and budget control particularly challenging. Typical responsibilities include:

  • The definition of the requirements for the system quality and capabilities
  • Managing requirements traceability of the different artefacts against higher-level requirements of the project, standards and validation tests
  • Support to management and technical supervision of industrial partner activities
  • Participation and contribution to scheduled project reviews and the assessment and review of deliverables, including documents, software, systems and data