Présentation
EnglishRÉSUMÉ
Cet article s’intéresse à l'amélioration de la qualité et de la fiabilité du développement de logiciels critiques en avionique, et vise une meilleure intégration plus agile des exigences de certification dans cette démarche. Il propose pour cela un cadre méthodologique, en démontre la conformité aux exigences des normes de certification et suggère un outillage support basé sur des solutions open source et sur étagère pour mettre en œuvre les propositions.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Vincent LOUIS : DGA Techniques aérospatiales
-
Claude BARON : LAAS-CNRS, INSA Toulouse
INTRODUCTION
La sécurité est la principale préoccupation de l’industrie aéronautique. Un niveau élevé de fiabilité de l’aéronef et de tous ses systèmes, pièces et équipements, doit être démontré par un processus appelé certification. Ce processus est essentiel pour la sécurité dans un système critique, dans lequel une défaillance peut entraîner des blessures, ou la perte de vies humaines. Il définit des exigences réglementaires, décrites dans des normes, imposant des contraintes au développement des avions. Les constructeurs, par le respect de ces exigences, s’engagent à assurer la sécurité des passagers et du personnel à bord, du personnel au sol, et des infrastructures.
La nécessité sociétale d’assurer, et de garantir, la sécurité des biens et des personnes implique ainsi la mise en œuvre d’un certain nombre d’actions, pour obtenir un certificat de type, délivré par une autorité de certification. Le processus de certification consiste, pour le constructeur, à démontrer à cette autorité la conformité à toutes les exigences réglementaires.
Seule l’application correcte d’un processus d’ingénierie peut garantir que le système remplit les objectifs de sécurité. Les actions mises en œuvre pour être en mesure de démontrer la conformité compliquent le processus d’ingénierie, et nécessitent de gros efforts, si les enjeux associés ne sont pas pris en compte dès le début du projet. Ce processus pourrait être mené de façon plus agile.
[H 8 060] démontre, en effet, que l’on peut avoir une démarche de certification intégrée au processus d’ingénierie de façon agile (appelée certification continue), par la proposition d’une démarche méthodologique efficace et structurée, qui permet de répondre nativement aux exigences de certification. La démarche vise à améliorer, accélérer, et rationaliser, le développement des logiciels avioniques soumis à certification : elle favorise une meilleure intégration des exigences de certification, en accélérant le développement de logiciels, sans compromettre la conformité aux exigences de sécurité. Elle repose sur les principes du développement continu qui, combinés à la gestion de projet agile, permettent l’itération et l’automatisation des actions de certification de manière transparente, et avec un impact limité sur le coût de développement global.
Cet article prolonge [H 8 060], par la proposition d’une démarche DevOps pour supporter la démarche de certification continue. Il rappelle d’abord le contexte de la certification des logiciels en aéronautique, et il précise les objectifs, et il souligne les contributions de cette étude. Puis, il présente le référentiel normatif des exigences essentielles, selon le point de vue de l’autorité militaire DGA. Ensuite, il décrit la démarche proposée pour pratiquer la certification continue. L’article conclut par une discussion sur les avantages et les perspectives de déploiement industrielle de cette proposition.
MOTS-CLÉS
processus agilité Logiciels embarqués génie logiciel sécurité des logiciels génie logiciel assisté par ordinateur développement logiciel agile production continue DevOps méthodes et outils certification continue développement piloté par les tests intégration continue automatisation des tests
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Proposition méthodologique
Cet article consiste en la définition d’une proposition méthodologique (framework), qui permettra d’appliquer différents principes agiles au développement d’un logiciel critique. L’approche agile met l’accent sur la collaboration dans l’équipe de développement, le feedback client, et les livraisons rapides par petits lots. Les changements sont continuellement intégrés et des versions utilisables d’un produit sont livrées fréquemment.
Le terme agile recouvre un ensemble de frameworks comme Scrum, Extreme Programming (XP) ou encore Kanban, pour n’en citer que quelques-uns. Tout en ayant le même objectif que l’agile, à savoir accélérer et optimiser le développement logiciel, le DevOps consiste en une extension de l’agile aux processus et aux exigences de l’équipe opérationnelle, jusqu’à la maintenance, qui intègre l’automatisation des tests et des livraisons, les principes d’amélioration continue du Lean, ainsi que de livraison continue. C’est une méthode qui permet ainsi aux équipes de créer, tester et publier des logiciels rapidement et de manière cohérente.
En synthèse, la méthode agile permet de combler le fossé qui peut exister entre les utilisateurs finaux et les développeurs, tandis que le DevOps, axé sur l’alignement des activités de développement et des opérations informatiques, permet de mieux gérer les processus d’ingénierie de bout en bout et de combler le fossé qui peut exister entre les développeurs et les opérations.
Pour élaborer notre proposition méthodologique, nous nous sommes inspirés de différents concepts empruntés aux frameworks agiles les plus reconnus (au sens large, intégrant le DevOps), auxquels nous avons associé une gestion de projet par tickets.
3.1 Mise en place d’une gestion de projet par tickets
L’implémentation de la gestion par tickets (demande d’évolutions du logiciel interne ou externe) que nous proposons de mettre en œuvre nous amène à définir plusieurs types de tickets (numérotés de 1 à 9, tableau 3). Notons que cette répartition en neuf types de tickets peut être adaptée selon les besoins du cadre règlementaires auquel le projet doit se conformer.
Par extrapolation de l’objectif originel d’une gestion par ticket fondée sur la gestion...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Proposition méthodologique
BIBLIOGRAPHIE
-
(1) - REMPEL (P.), MÄDER (P.), KUSCHKE (T.), CLELAND-HUANG (J.) - Mind the Gap: Assessing the Conformance of Software Traceability to Relevant Guidelines. - International Conference on Software Engineering (ICSE), New York, USA, ACM, p. 943-954 (2014).
-
(2) - STEGHÖFER (J.-P.), KNAUSS (E.), HORKOFF (J.), WOHLRAB (R.) - Challenges of Scaled Agile for Safety-Critical Systems. - International Conference on Product-Focused Software Process Improvement, p. 350-366 (2019).
-
(3) - - https://www.launizo.com/blog/methodes-et-outils-de-productivite-en-entreprise-1/post/les-methodes-agiles-3 – consulté en octobre 2021.
-
(4) - BALAJI (S.), SUNDARARAJAN MURUGAIYAN (M.) - Wateerfallvs V-model vs Agile: a comparative study on SDLC. - International Journal of Information Technology and Business Management, 2(1), p. 26-30 (2012).
-
(5) - - https://www.scaledagileframework.com/system-team/
-
...
DANS NOS BASES DOCUMENTAIRES
-
Vers une certification continue des logiciels critiques en aéronautique.
-
Normalisation en matière de sûreté de fonctionnement des logiciels.
-
Développement de logiciels sûrs : une approche dirigée par la conception.
-
Conduire un projet avec la méthode Scrum.
-
Méthode Agile SCRUM – Comment l’utiliser de manière opérationnelle ?
NORMES
-
Software Considerations in Airborne Systems and Equipment Certification. - DO-178C/ED12C - 2011
-
Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems. - IEC 61508 - 2010
-
Software product assurance. - ECSS-Q-ST-80C - 2017
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive