Esslingerstr. 07, 70771 Echterdingen contact@elco-solutions.de

Études De Cas

Processus de Développement Agile - Systèmes Embarqués

Le Défi

La mise en place d'un processus DevOps agile pour le développement de logiciels embarqués présente plusieurs défis uniques par rapport aux environnements de développement de logiciels traditionnels. En voici quelques-uns:

  1. Dépendances matérielles: Le développement de logiciels embarqués implique souvent une intégration étroite avec les composants matériels. Contrairement aux logiciels traditionnels, les modifications apportées aux systèmes embarqués peuvent nécessiter des ajustements des composants physiques. La coordination des modifications matérielles avec les itérations logicielles peut s'avérer difficile et nécessiter une collaboration étroite entre les équipes chargées du matériel et du logiciel.

  2. Des ressources limitées: Les systèmes embarqués ont généralement des contraintes de ressources telles qu'une mémoire limitée, une puissance de traitement et des exigences en matière de consommation d'énergie. Cela limite l'utilisation de certains outils et pratiques courants dans les processus agiles et DevOps. Les équipes doivent gérer avec soin l'utilisation des ressources pour s'assurer que le logiciel répond aux exigences de performance et d'efficacité.

  3. Complexités des tests: Le test des logiciels intégrés peut s'avérer plus difficile que celui des logiciels traditionnels en raison de l'interaction entre le logiciel et le matériel. Les tests automatisés peuvent être limités ou plus difficiles à mettre en œuvre, et les tests complets peuvent nécessiter des équipements ou des environnements spécialisés. En outre, des tests sur du matériel réel peuvent être nécessaires, ce qui peut ralentir le cycle de développement.

  4. Conformité réglementaire: De nombreux systèmes embarqués sont soumis à des exigences réglementaires et à des normes industrielles, en particulier dans les applications critiques pour la sécurité telles que l'automobile ou les appareils médicaux. La conformité à ces normes ajoute des contraintes et des frais généraux supplémentaires au processus de développement, ce qui peut compliquer l'adoption des pratiques agiles et DevOps.

  5. Longs cycles de développement: Le développement de logiciels embarqués implique souvent des cycles de développement plus longs que pour d'autres types de logiciels. Cela peut être dû à des facteurs tels que les cycles de conception du matériel, les exigences rigoureuses en matière de tests et la nécessité de mettre à jour les microprogrammes sur le terrain. Il peut être nécessaire d'adapter les pratiques Agile et DevOps pour tenir compte de ces cycles plus longs tout en continuant à fournir de la valeur aux clients de manière incrémentale.

  6. Collaboration interdisciplinaire: La réussite du développement de logiciels embarqués passe par la collaboration entre les ingénieurs en logiciel, les ingénieurs en matériel et d'autres parties prenantes telles que les chefs de produit et les équipes d'assurance qualité. L'alignement de ces diverses équipes sur les pratiques agiles et DevOps peut nécessiter des changements culturels et organisationnels, ainsi que des mécanismes de communication et de coordination efficaces.

Pipeline CT/CT Elco Solutions

Image



Relever ces défis du DevOps pour les systèmes embarqués nécessite une combinaison d'expertise technique, d'amélioration des processus et d'alignement organisationnel. L'adoption de pratiques agiles et DevOps dans le développement de logiciels embarqués peut permettre d'accélérer la mise sur le marché, d'améliorer la qualité des produits et d'accroître la satisfaction des clients, mais elle nécessite une planification minutieuse et une adaptation aux caractéristiques uniques du développement de systèmes embarqués.

Elco Solutions a mis en place un processus de développement de logiciels qui adhère aux normes internationales spécifiant les exigences du cycle de vie pour le développement de logiciels de haute qualité dans les secteurs médical, automobile et de l'automatisation des usines. 

Cette étude de cas décrit les processus et les activités nécessaires à la conception, au développement et à la maintenance en toute sécurité de logiciels de haute qualité, y compris les exigences liées à:

  1. Gestion Des Risques: Identifier et atténuer les risques potentiels associés au logiciel tout au long de son cycle de vie.

  2. Développement De Logiciels: Établir des processus pour le développement de logiciels, y compris la gestion des exigences, la conception, la mise en œuvre, la vérification et la validation.

  3. Gestion De Configuration: Gestion des modifications apportées au logiciel, y compris le contrôle des versions et la documentation.

  4. Maintenance Du Logiciel: Mettre en œuvre des procédures de maintenance et de mise à jour du logiciel, y compris le traitement des défauts et des améliorations.

  5. Documentation: Générer et tenir à jour la documentation nécessaire pour démontrer la conformité aux exigences et aux normes réglementaires.

  6. Vérification Et Validation: Activités visant à vérifier que le logiciel répond aux exigences spécifiées et à valider qu'il fonctionne comme prévu dans l'environnement auquel il est destiné.

  7. Classification Du Risque Logiciel: Classer les logiciels en fonction de leur impact potentiel sur la sécurité des patients et les exigences réglementaires.

Les Technologies

  • ASPICE
  • Tests Automatisés
  • Azure DevOps
  • MISRA
  • Qualité et Test du Code
Image

Office Address

  • Esslingerstr. 07 70771 Leinfelden-Echterdingen
  • contact@elco-solutiosn.de
  • +49 17620768072

Social List