Temps de lecture : 5 minutes
Une planification approfondie du développement logiciel est essentielle. Les fondations d'un cycle de développement efficace peuvent être établies à l'aide d'outils qui peuvent faciliter la définition structurée des exigences, de sorte que ces exigences peuvent être confirmées comme satisfaites au moyen de la génération automatisée de documents (ou d'artefacts).
La norme IEC 62304 stipule que le logiciel de dispositif médical doit inclure des mesures de contrôle des risques appropriées dans ses exigences système.
La préparation d'un mécanisme pour démontrer que les exigences ont été respectées impliquera l'élaboration de plans détaillés. Un exemple frappant serait le plan de vérification du logiciel pour inclure les tâches à effectuer lors de la vérification du logiciel et leur affectation à des ressources spécifiques.
Dans cette 1ere partie d'article, LDRA met en avant le "Chapitre 5 : Processus de développement du logiciel" de la norme IEC 62304:
5.2 Analyse des exigences logicielles
Une fois que chaque exigence système a été identifiée de manière à permettre de démontrer la traçabilité depuis l'exigence système jusqu'au test du système logiciel, et de montrer que les mesures de contrôle des risques ont été prises en compte, l'étape suivante consiste à dériver et à documenter la configuration logicielle requise à partir de la configuration système requise.
L'obtention d'un format qui se prête à une traçabilité bidirectionnelle aidera à atteindre la conformité à la norme. Les projets plus importants, peut-être avec des contributeurs dans des endroits géographiquement divers, sont susceptibles de bénéficier d'un outil de gestion du cycle de vie des applications tel que Siemens® Polarion® PLM®, ou plus généralement, d'outils similaires offrant une prise en charge de l'échange d'exigences standard. Formats. Les petits projets peuvent parfaitement s'adapter à des documents Microsoft® Word® ou Microsoft Excel® soigneusement formulés, écrits pour faciliter les liens vers le haut et vers le bas du modèle en V.5–7
L'obtention d'un format qui se prête à une traçabilité bidirectionnelle aidera à atteindre la conformité à la norme. Les projets plus importants, peut-être avec des contributeurs dans des endroits géographiquement divers, sont susceptibles de bénéficier d'un outil de gestion du cycle de vie des applications tel que Siemens® Polarion® PLM®, ou plus généralement, d'outils similaires offrant une prise en charge de l'échange d'exigences standard. Formats. Les petits projets peuvent parfaitement s'adapter à des documents Microsoft® Word® ou Microsoft Excel® soigneusement formulés, écrits pour faciliter les liens vers le haut et vers le bas du modèle en V.5–7
Fig 3 Automatisation de la traçabilité des exigences avec le composant TBmanager de la suite d'outils LDRA.
Les exigences restent rarement inchangées tout au long de la durée de vie d'un projet, ce qui peut transformer la maintenance d'une matrice de traçabilité en un cauchemar administratif. Un outil de traçabilité des exigences atténue ce problème en maintenant automatiquement les connexions entre les exigences, le développement et les artefacts et activités de test. Toute modification des documents associés ou du code logiciel est automatiquement mise en évidence de sorte que tous les tests devant être revisités peuvent être traités en conséquence (voir Figure 3).
5.3 Conception architecturale du logiciel
L'activité de conception architecturale du logiciel nécessite que le fabricant définisse les principaux composants structurels du logiciel, leurs propriétés visibles de l'extérieur et les relations entre eux. Tout comportement de composant logiciel susceptible d'affecter d'autres composants doit être décrit dans l'architecture logicielle, de sorte que toutes les exigences logicielles puissent être mises en œuvre par les éléments logiciels spécifiés. Ceci est généralement vérifié par une évaluation technique.
L'architecture logicielle étant basée sur les exigences, développer l'architecture revient à définir les interfaces entre les éléments logiciels qui vont implémenter les exigences. Beaucoup de ces éléments logiciels seront créés par le projet, mais certains peuvent être importés d'autres projets, même sous la forme de bibliothèques tierces. Il doit être démontré que ce code est conforme aux exigences fonctionnelles et de performance du projet.
En outre, certains éléments architecturaux peuvent devoir être séparés à des fins de gestion des risques, de sorte que leurs connexions aux autres éléments deviennent alors partie intégrante de l'architecture globale. Les outils peuvent aider dans de nombreux éléments du processus de conception architecturale, y compris la spécification des exigences, la traçabilité du modèle de conception et la vérification.
Si une approche basée sur un modèle est adoptée pour la conception architecturale de logiciels - par exemple, en utilisant par exemple ANSYS® SCADE - alors une suite d'outils intégrée aux outils de modélisation choisis fera l'analyse de générer le code et la traçabilité aux modèles beaucoup plus transparents.8–10
L'architecture logicielle étant basée sur les exigences, développer l'architecture revient à définir les interfaces entre les éléments logiciels qui vont implémenter les exigences. Beaucoup de ces éléments logiciels seront créés par le projet, mais certains peuvent être importés d'autres projets, même sous la forme de bibliothèques tierces. Il doit être démontré que ce code est conforme aux exigences fonctionnelles et de performance du projet.
En outre, certains éléments architecturaux peuvent devoir être séparés à des fins de gestion des risques, de sorte que leurs connexions aux autres éléments deviennent alors partie intégrante de l'architecture globale. Les outils peuvent aider dans de nombreux éléments du processus de conception architecturale, y compris la spécification des exigences, la traçabilité du modèle de conception et la vérification.
Si une approche basée sur un modèle est adoptée pour la conception architecturale de logiciels - par exemple, en utilisant par exemple ANSYS® SCADE - alors une suite d'outils intégrée aux outils de modélisation choisis fera l'analyse de générer le code et la traçabilité aux modèles beaucoup plus transparents.8–10
5.4 Conception détaillée du logiciel
Une fois les exigences et l'architecture définies et vérifiées, la conception détaillée peut être construite sur cette base. La conception détaillée spécifie les algorithmes, les représentations de données et les interfaces entre différentes unités logicielles et structures de données. Comme la mise en œuvre dépend de la conception détaillée, il est nécessaire de vérifier la conception détaillée avant la fin de l'activité, généralement au moyen d'une évaluation technique de la conception détaillée dans son ensemble, et d'une vérification de chaque unité logicielle et de ses interfaces.
Plus tard dans le cycle de développement, une suite d'outils peut aider en générant des artefacts graphiques adaptés à l'examen de la conception mise en œuvre au moyen de procédures pas à pas ou d'inspections. Une approche consiste à prototyper l'architecture logicielle dans un langage de programmation approprié, ce qui peut également aider à détecter toute anomalie dans la conception. Les artefacts graphiques tels que les graphes d'appel et les graphes de flux sont bien adaptés pour être utilisés dans l'examen de la conception mise en œuvre par inspection visuelle (voir la figure 4).
Fig. 4 Les représentations schématiques du contrôle et du flux de données générés à partir du code source par la suite d'outils LDRA facilitent la vérification de l'architecture logicielle et de la conception détaillée.
La partie 2 de cet article se penchera sur la deuxième partie du cycle de vie du projet impliquant la mise en œuvre de la conception désormais établie sous la forme de code source. Il examinera comment l'analyse statique peut aider à garantir que les règles de codage sont respectées, en aidant à minimiser les erreurs dans l'application développée. Il discutera de la manière dont l'analyse dynamique sous forme de tests système et unitaires montre que la conception a été correctement et complètement implémentée, et que le logiciel a été correctement testé pendant le test et avant la publication. Enfin, il décrira comment l'influence de la IEC 62304 s'étend à la maintenance et à la modification du produit une fois sur le terrain.
Cet article a été rédigé par Mark Pitchford, spécialiste technique pour LDRA (Wirral, Royaume-Uni).