¿Cuáles son las contribuciones de la NASA en la ingeniería de software?

¿Cuáles son las contribuciones de la NASA en el avance de la ingeniería de software? ¿Cuáles son las normas pertinentes que tienen que cumplir? Estoy interesado en la aviónica básicamente, pero no encuentro ninguna información actual sobre las contribuciones de la NASA en ingeniería de software ... ¿alguien puede ayudarme a hacerlo?

Esta es una pregunta extremadamente amplia, pero el desarrollo del software de vuelo del transbordador espacial fue famoso por su rigurosidad. Puede leer un artículo popular al respecto aquí: fastcompany.com/28121/they-write-right-stuff o buscar en NTRS y klabs.org para obtener más documentos técnicos.
Puede encontrar esto interesante: cs.umd.edu/~basili/publications/proceedings/P94.pdf

Respuestas (3)

La NASA era (y sigue siendo) una organización líder en el campo de la ingeniería de software, incluso antes de que existiera el término "ingeniería de software". Los tipos de programas de software desarrollados para la NASA van desde guiones/hojas de cálculo únicos destinados a generar una aproximación aproximada a una pregunta de ingeniería específica hasta programas/guiones/hojas de cálculo que contienen información confidencial pero no clasificada (por ejemplo, números de seguridad social) hasta software de vuelo para vehículos que transportarán humanos al espacio.

La NASA reconoce que el nivel de rigor y el nivel de protección de datos varía ampliamente en el software desarrollado para ello. Algún software, como una hoja de cálculo destinada a producir una estimación aproximada del delta V necesario para llegar a Marte, necesita muy poco rigor o protección. La intención es una aproximación aproximada, y no hay datos confidenciales pero no clasificados para proteger. Por otro lado, el software de vuelo que controla un vehículo que lleva humanos al espacio y que captura los datos de salud de los astronautas necesita tanto un rigor extremo como una protección de datos extrema.

Con este fin, la NASA tiene varias pautas y requisitos con respecto a cómo una persona u organización debe crear software. El software de mayor criticidad debe seguir las reglas bastante onerosas para el software de clase A, tal como se establece en los requisitos de procedimiento de la NASA 7150.2 . Estrictamente hablando, todo el software escrito para la NASA debe seguir las reglas establecidas en ese documento. No tan estrictamente hablando, las notas escritas con crayón en una servilleta de bar durante una reunión del viernes por la tarde en un lugar externo (por ejemplo, una instalación que no sea de la NASA que sirve bebidas intoxicantes) bien podrían ser suficientes con respecto a la hoja de cálculo preliminar mencionada anteriormente.

Su pregunta es muy amplia, ya que el software es muy importante para todo lo que hace la NASA. Pero trataré de responder lo mejor que pueda.

La NASA tiene una rica historia de avances en el estado de la ingeniería de software. De hecho, como señaló Martin Schroder, Margaret Hamilton , una legendaria ingeniera de software de vuelo del programa Apollo, acuñó el término "ingeniero de software". La NASA ha allanado el camino en la escritura de código eficiente, confiable y bien probado. Eche un vistazo a este documento, " Diseño, desarrollo, integración: sistema de software de vuelo primario del transbordador espacial ". En él, se detalla un riguroso proceso de prueba y desarrollo para el software de vuelo del transbordador espacial. A lo largo de los años, los ingenieros de software de la NASA han desarrollado técnicas cada vez más confiables para el desarrollo de software de vuelo y las pruebas IV&V. Aquí hay un excelente documento que proporciona una descripción general del software de vuelo MER.

Creo que, sobre todo, las mayores contribuciones de la NASA al campo de la ingeniería de software han sido la cantidad de software de código abierto de calidad que han lanzado. Simplemente visitando code.nasa.gov , obtienes todo , desde el entorno de simulación Trick hasta el software astrobee que está volando en la ISS en este momento. Aquí está la publicación del software astrobee. Uno de mis favoritos personales es el lanzamiento del Core Flight System (CFS) que tiene como objetivo crear un marco común para el software de vuelo de naves espaciales. Con él, crearon una comunidad de ingenieros de software de vuelo para ayudar a avanzar en el software de vuelo de última generación.

gracias esto parece ser muy útil para mí.
Encantado de ayudarle. No dude en hacerme más preguntas.

Margaret Hamilton , la mujer que acuñó el término ingeniería de software , lo hizo mientras era Directora de la División de Ingeniería de Software del Laboratorio de Instrumentación del MIT, que desarrolló software de vuelo a bordo para el programa espacial Apolo.

¿Cómo pudo ella haber acuñado el término siendo Directora del término?
@JCRM Estoy especulando, pero no es inusual que alguien encargado de crear un nuevo departamento participe en la elección del nombre del departamento.
@JCRM Lea el artículo vinculado. :-)
Lo he leído. No hay nada que sugiera que acuñó el término mientras era directora, solo que acuñó el término mientras trabajaba en el MIT y que [entre otras funciones] era directora de ingeniería de software en el MIT. También hay una etiqueta [dudosa] sobre su idea del término.