Logo Studenta

Ingeniería de software para sistemas críticos

¡Estudia con miles de materiales!

Vista previa del material en texto

1er semestre Ing. informática 2017 
Ingeniería de software para sistemas críticos: Garantizando la fiabilidad en entornos de 
alto riesgo 
 
Resumen: 
La ingeniería de software para sistemas críticos se enfoca en el desarrollo de software 
que se utiliza en entornos donde la seguridad, la fiabilidad y la integridad son de vital 
importancia. Estos sistemas críticos suelen encontrarse en sectores como la aviación, 
la salud, la energía nuclear o la defensa, donde un error en el software puede tener 
consecuencias graves, incluyendo pérdida de vidas humanas o daños significativos. La 
ingeniería de software para sistemas críticos se caracteriza por seguir rigurosos 
estándares, prácticas de calidad y pruebas exhaustivas para garantizar la fiabilidad y la 
seguridad del software. 
 
Ejemplo de uso en la vida real: 
 
Un ejemplo de uso de la ingeniería de software para sistemas críticos se encuentra en 
el desarrollo de sistemas de control de vuelo utilizados en la aviación. Estos sistemas 
son fundamentales para garantizar la seguridad de los aviones y la vida de los 
pasajeros. A continuación, se describen algunas prácticas clave utilizadas en la 
ingeniería de software para sistemas críticos en este contexto: 
 
1. Estándares de desarrollo: Se siguen estándares rigurosos, como el estándar DO-
178C de la Federal Aviation Administration (FAA) en Estados Unidos, que establece los 
requisitos y procesos para el desarrollo de software crítico para aviones. Estos 
estándares definen las fases del ciclo de vida del software, los procesos de verificación 
y validación, la documentación requerida y los niveles de certificación. 
 
2. Análisis de riesgos: Se realiza un análisis exhaustivo de los posibles riesgos y 
amenazas que podrían afectar la seguridad del sistema. Esto implica identificar y 
evaluar los posibles escenarios de fallo, así como establecer medidas de mitigación y 
redundancia para minimizar el impacto de posibles errores en el software. 
 
3. Diseño seguro y robusto: Se enfoca en la creación de una arquitectura y diseño de 
software seguro y robusto. Se aplican principios de diseño defensivo, se utilizan 
técnicas de codificación segura y se implementan mecanismos de recuperación de 
errores para garantizar la fiabilidad del sistema en caso de fallas. 
1er semestre Ing. informática 2017 
 
4. Pruebas exhaustivas: Se llevan a cabo pruebas rigurosas, incluyendo pruebas 
unitarias, pruebas de integración y pruebas de sistema, para validar el correcto 
funcionamiento del software en diferentes escenarios y condiciones. Además, se 
utilizan técnicas avanzadas de pruebas, como la generación automática de casos de 
prueba o el uso de herramientas de análisis estático, para detectar posibles 
vulnerabilidades o debilidades en el código. 
 
5. Mantenimiento y actualización: Los sistemas críticos requieren un constante 
mantenimiento y actualización para asegurar que sigan cumpliendo con los requisitos 
de seguridad y fiabilidad. Se establecen procesos de gestión del cambio controlados 
para garantizar que cualquier modificación en el software se realice de manera segura 
y se someta a pruebas exhaustivas antes de ser implementada.

Continuar navegando