Requerimientos e implicaciones de la certificación de desarrollador de software automotriz ASPICE
La certificación del desarrollador de software es necesaria para garantizar los productos de software de calidad. Las certificaciones de desarrollador de software automotriz ASPICE les indican a los clientes si los productos de un desarrollador funcionan de acuerdo con las especificaciones, si el desarrollador puede brindar apoyo para sus productos, y cuán eficientemente opera el desarrollador. ¡Continúe leyendo para descubrir más!
Cuando estaba en la universidad, unos amigos y yo tuvimos nuestra primera experiencia en la programación de sistemas incrustados durante nuestro proyecto de último año. Creamos un reloj despertador del “Internet de las cosas” (IoT, por sus siglas en inglés) que podría activar de manera inalámbrica los focos de luz WiFi, una cafetera inalámbrica, y Altavoces Bluetooth. El día de nuestra presentación, todas las funciones operaron, pero no al mismo tiempo. Afortunadamente, cuando el profesor vino a examinar nuestro proyecto, tuvimos suerte y todo funcionó perfectamente. Si hubiera regresado al día siguiente, no estoy seguro si hubiéramos tenido tanta suerte.
Como desarrollador de software, sabe que se requieren innumerables depuraciones de código para escribir un programa que funcione de acuerdo con la especificación. Es importante que tenga un compilador que garantice un apoyo continuo del producto, que pueda acceder al módulo de seguridad del hardware del microprocesador previsto (HSM, por sus siglas en inglés), y cuyas bibliotecas se mantengan al día. La certificación “Automotive Software Process Improvement and Capability Determination” (ASPICE o AUTOMOTIVE SPICE) puede ayudar a los desarrolladores separar la paja del trigo en cuanto a los conjuntos de herramientas de desarrollo.
Para convertir esto en realidad, necesita un conjunto de herramientas de desarrollador fiable y enfocado hacia el futuro.
¿Qué significa una certificación ASPICE?
Como desarrollador de software, es probable que ya esté familiarizado con SPICE. ASPICE es la misma certificación de desarrollo del proceso de software adaptado a la industria automotriz, derivado de la normativa ISO 15504. ASPICE le indica que el desarrollador que elaboró su conjunto de herramientas de desarrollador tiene un proceso de desarrollo serio y bien gestionado. He aquí un pequeño repaso de lo que significan los diferentes niveles de certificación SPICE. La certificación de desarrollador de software automotriz es importante para desarrollar software de alta calidad.
Existen 6 requerimientos de certificación ASPICE, que va de 0-5
-
0 - Los procesos de desarrollo del software no están completos. Esto puede implicar que el asesoramiento del proceso de software no ha logrado todas sus metas de diseño, no existe documentación sobre el software incrustado, u otros elementos no están completos.
-
1 - Los procesos críticos para la seguridad del desarrollo de software están completos y han sido documentados. Esto significa que el software de la empresa funciona y está documentada. Una certificación de nivel 1 puede implicar que se trata de una nueva empresa.
-
2 - Los procesos de desarrollo del software están completamente gestionados. El salto de 1 a 2 es posiblemente el más grande en los niveles de certificación. Una certificación de nivel 2 significa que la empresa tiene programadores capacitados y un proceso de gestionamiento establecido. Documentan completamente su asesoramiento de proceso y están preparados para implementar y apoyar sus productos.
-
3 - La certificación de nivel 3 significa que los procesos de la empresa están definidos y establecidos, es decir, los procesos de certificación de nivel 2 han sido implementados durante cierto tiempo.
-
4 - Se pueden pronosticar los procesos de nivel 3. Este nivel significa que la empresa ha estado desempeñando sus procesos durante el tiempo suficiente para poder pronosticar cómo funcionarán.
-
5 - El nivel 5 muestra que la empresa entiende y controla completamente sus procesos, y los puede optimizar.
Para recibir una certificación, un asesor debe visitar una empresa y examinar sus productos. Para poder recibir una certificación nivel 1, el asesor debe poder confirmar que sus productos han logrado sus objetivos de diseño y han estado cuidadosamente documentados. Para los niveles 2-5, el asesor realiza entrevistas de los empleados y gerentes, y examina los procesos de la empresa en acción. El modelo de asesoramiento del proceso de certificación es riguroso, ya que es íntegro para satisfacer las normas de cumplimiento de seguridad funcional conforme se desarrollan sistemas avanzados de asistencia al conductor (ADAS, por sus siglas en inglés).
¿Por qué importa la certificación ASPICE?
Nuestro reloj despertador realizaba funciones simples, como encender un foco de luz, pero su software estará procesando y reaccionando a datos provenientes de múltiples sensores. Las certificaciones ASPICE pueden brindarle la certeza que el software funciona. Sin embargo, con la evolución del hardware ADAS y su propio software, usted va a querer que su compilador se mantenga al día.
Una certificación ASPICE de nivel 1 le asegura que su equipo de herramientas de desarrollador funcionará, por lo menos al principio. Mi equipo pudo haber estado certificado en nivel 1. El software en nuestro reloj despertador estaba garantizado de trabajar para la primera alarma, pero no necesariamente después que agregamos una función de repetición. ASPICE nivel 1 es suficiente para que sepa que el equipo de herramientas de desarrollador que compra es de verdad, pero no es suficiente para que usted realice programas de largo plazo con él. Cuando se trata de certificación de desarrollador del software automotriz, asegura que se están realizando mejoras continuas con cada proceso de desarrollo.
Usted quiere que su equipo de herramientas de desarrollador funcione durante la vida de su software, y que sea expandible para un nuevo desarrollo futuro. Si llegan informes de fallos lógicos, va a querer parches para su equipo de herramientas de desarrollador para mantenerlo al día. Cuando se presenten nuevos sensores, va a querer un desarrollador de equipo de herramientas que pueda integrar nuevas funciones para esos sensores. Una certificación igual o superior al nivel 2 garantiza que el desarrollador puede realizar, al igual que apoyar, el equipo de herramientas de desarrollador. Si el desarrollador de su equipo de herramientas sólo tiene una certificación de nivel 1, quizá no se encuentre cuando lo necesite. Una certificación de nivel 2 es una necesidad absoluta cuando está lidiando con software que controle funciones críticas al sistema para garantizar la seguridad del producto.
Las certificaciones superiores al nivel 2 son buenas, pero se tratan de cuán eficientemente opera una empresa, en lugar de cuán bien se desempeña el software. Los niveles 1 y 2 son los que más importan. Garantizan que el producto de la empresa funcionará, que la empresa está establecida, y que permanecerá para apoyar su producto. TASKING® acaba de recibir una certificación nivel 2 de ASPICE, comprobando lo que los desarrolladores de software automotriz siempre han sabido, que Altium desarrolla, y apoya, buen software y no existe excepción cuando de trata de la certificación de desarrollador de software automotriz.
¿Le interesa saber más sobre las certificaciones de la industria? Comuníquese con un experto en Altium.