En profundidad
Fig. 4. Gestión de riesgos de seguridad (Fuente: Doc 9859 AN/474 OACI).
en cuenta modificaciones y desvia-ciones,
contemplando el ciclo de vida
en el desarrollo del software.
Software Development Process
A partir de las especificaciones inicia-les
se generan los requisitos de alto
nivel, que deben ser desarrollados
para generar los requisitos de usuario,
los cuales tienen que ser traducidos a
requisitos software. El proceso de de-sarrollo
software convierte estos re-quisitos
en arquitectura software que,
mediante un proceso secuencial, son
transformados en código. El conjunto
de los requisitos software es lo que
el DO-178C denomina requisitos del
sistema, los cuales no solo incluyen
aquello que debe hacer el software
sino también otro tipo de requisitos,
como la evaluación de seguridad del
sistema o el rendimiento. La valida-ción
es el proceso final donde se de-termina
que los requisitos de software
son correctos, están libres de errores
y están completos. El DO-178C no da
una guía como tal para las pruebas
de validación, ya que se parte de la
base de que si la verificación del sof-tware
es correcta, no deberían apa-recer
problemas de validación en las
pruebas de integración y sistema. El
Software Development Process con-sidera
el desarrollo software como un
ciclo de vida que comienza con la pla-nificación
y desarrollo, de acuerdo a
los requisitos software, continúa con
la verificación y validación, finalizando
con la implantación mediante la carga
en flota y su posterior mantenimiento.
Software Verification Process
La verificación del software busca
obtener una evidencia de que es co-rrecto
contra los requisitos. Así, este
proceso consiste en revisiones de
requisitos, revisiones de diseño, de
estado, de arquitectura, de código,
análisis y pruebas, que van desde la
implementación del software hasta
la entrada de datos, pasando por la
inyección de fallos controlados que
identifican fuentes de errores y/o es-tadística
de probabilidades de even-tos,
examinando la trazabilidad de las
salidas de los procesos.
Especial relevancia cobran en este
proceso las pruebas de no regresión
que garantizan que, al modificar un
software, no se introducen errores
adicionales y continua cumpliendo
sus funcionalidades iniciales.
Certificación del software
Mediante la certificación del software,
los programadores/desarrolladores
dan evidencia a la Autoridad Aero-náutica
de que es seguro. Técnica-mente,
la certificación se refiere a la
evaluación de la conformidad que
asegura que un producto, proceso o
sistema de gestión cumple unos re-quisitos
específicos.
De acuerdo al estándar DO-178/ED-
12, el proceso de certificación se
alcanza cuando se demuestra ante
la Autoridad Aeronáutica el cumpli-miento
del Plan for Software Aspect
of Certification (PSAC), plan que ha
sido previamente aprobado por di-cha
Autoridad. Asimismo, el Softwa-re
Accomplishment Summary (SAS)
da evidencias que demuestran el
cumplimiento del PSAC, describiendo
el sistema de forma general en cuanto
a arquitectura, funciones y caracterís-ticas
de seguridad, entre otras.
El PSAC enlaza con los cuatro planes
restantes que exige el DO-178/ED-
12: el SDP, ya visto anteriormente, el
Quality Assurance Plan (QAP), el Con-figuration
Management Plan (CMP)
y el Software Verification Plan (SVP).
El QAP especifica cómo se llevaran
a cabo las auditorías del software y
de los procesos que se ven involu-crados.
El CMP define el control de
configuración del software, el control
de revisiones, la trazabilidad y los in-formes
requeridos. El SVP es similar
al SDP pero concretando el proceso
de revisión (interno, externo, por pa-res,…),
actividades de verificación del
software, de requisitos, de diseño,
Boletín de Observación Tecnológica en Defensa n.º 67. Cuarto trimestre 2020 21