Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 1 Chapitre 2. Méthode

Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 1 Chapitre 2. Méthode SADT 2.1. Introduction Des méthodologies développées permettent de modéliser des systèmes à risques, pour contribuer à l'intégration de la Sécurité Opérationnelle dans la phase d'analyse et de spécification des « systèmes automatisés ». L'approche systémique, hiérarchique et structurée du SADT, est généralement bien adaptée pour représenter au mieux les connaissances structurelles et fonctionnelles du système étudié. 2.2. Spécification à l’aide se SADT & IDEF (Structured Analysis and Design Technique - Icam DEFinition method) 2.2.1. Présentation SADT est une méthode graphique établie par Douglas T. ROSS (Softech) vers 1974. Parallèlement, le programme ICAM (Integrated Computer-Aided Manufacturing, 1972) de l'US air force en donne une définition domaine publique nommée IDEF0 (1975). ICAM établit ensuite d'autres modèles pour les aspects informationnels (IDEF1) et dynamiques (IDEF2). SADT reste encore plus répandu que SA/RT (Structured Analysis for Real Time), qui lui est à présent préférée pour une meilleure prise en compte des aspects dynamiques. SADT part du constat selon lequel le monde est constitué de données et d’actions (comme c’est par exemple le cas avec les noms et les verbes en Langage Naturel). Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 2 2.2.2. Modèles SADT SADT/IDEF0 est une méthode graphique particulièrement bien adaptée pour une description fonctionnelle. Elle est donc surtout utilisée en phase de spécification système ou logiciel. La description comprend une série de « planches ». Chaque planche est la décomposition en sous-fonctions d'une fonction du système. La décomposition est arborescente. En SADT, les 2 aspects sont duaux et examinés ensemble. * Les actigrammes mettent l’accent sur les activités (les données sont véhiculées sur les flèches). Ils visent à : - conférer une valeur ajoutée (entrée -> sortie) - créer une nouvelle donnée - solliciter (observer, contrôler etc.) une donnée * les datagrammes s’appuient sur les données (les flèches représentent les activités). Ils exigent : - les activités génératrices - les activités de contrôle - les unités utilisées Un modèle SADT est une suite hiérarchisée de diagrammes : (datagrammes et actigrammes) obtenue par raffinements successifs. Chaque « boite » peut-être à nouveau décomposée en un diagramme plus détaillé (Zoom). Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 3 Au niveau général se trouve le diagramme de contexte (niveau 1), montrant les sources, les destinations. Chaque diagramme est : - soit un diagramme-fils analysant une partie du diagramme père, - soit un diagramme-père synthétisant les diagrammes enfants. En fin de chaîne, un processus non décomposé est accompagné d’une mini spécification précisant comment sont produites les sorties à partir des entrées. Kit SADT : - diagrammes d'activité - conditions d'activités - diagrammes de données - diagrammes explicatifs (ou textes uniquement) - liste hiérarchique des diagrammes - glossaire Un modèle est un ensemble de kits établis suivant différents points de vue, ou buts ou contextes (point de vue de l'utilisateur, du gestionnaire, de la maintenance, de la production, …) 2.2.3. SADT/IDEF0 2.2.3.1. LES ACTIGRAMMES SADT/IDEF0 Les actigrammes sont des diagrammes de décomposition fonctionnelle de l'application. Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 4 Les diagrammes Le diagramme de contexte représente le système avec ses entrées et ses sorties Figure : Le diagramme de contexte SADT porte le nom A-0 Le système est ensuite décomposé en ses principales fonctions dans un diagramme A0 : Figure : Décomposition en fonctions principales (SADT) Les fonctions 1, 2, 3 peuvent faire l'objet d'une décomposition dans les diagrammes A1, A2, A3. Le diagramme A1 pouvant être décomposé en A11, A12, etc. Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 5 La fonction Figure : Représentation d'une fonction (SADT) Une fonction ou une sous-fonction du système à spécifier est représentée par une boîte. La fonction doit être nommée par un verbe d'action et un complément d'objet. Si une fonction est décomposée, le nom du diagramme fils est noté en bas à droite de la boîte. Les flots Les flots de données sont échangés entre les fonctions. Figure : Les flots de données (SADT) Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 6 Suivant le coté de connexion avec la boîte, ils ont un des quatre rôles suivants :  Entrées : Ce sont les « entités » nécessaires à la fonction transformées par elle en « sorties ».  Commandes : Ce sont les entités qui commandent le déroulement interne de la fonction (au moins une commande est obligatoire)  Sorties : Ce sont les « entités » produites par la « fonction ».  Mécanismes : Ce sont les « entités » nécessaires à la réalisation mécanique de la « fonction » (machines, personnels, etc) Plusieurs flèches peuvent être connectées. Les flots peuvent être décomposés ou composés. Une flèche en provenance de l'extérieur du diagramme comprend en plus de son nom un code (e/s/c/m) suivi de son numéro d'ordre par rapport à la boîte. Un nom de flot entouré de parenthèse (e3) n'est pas retrouvé dans le diagramme enfant. Certaines conventions permettent de simplifier la représentation en utilisant des flèches à double sens. LES DATAGRAMMES SADT Figure : Datagrammes SADT Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 7 Les datagrammes utilisent le même formalisme que les actigrammes. Simplement chaque boîte symbolise une donnée du système ou un fichier. Le datagramme est construit indépendamment de l'actigramme, il n'en est pas la traduction inversée, ce qui pose un problème de traçabilité. Les données en sont plus détaillées. 2.2.3.2. LES METHODES DE TRAVAIL C'est peut-être l'apport le plus intéressant de la méthode SADT, qui ne définit pas seulement un formalisme, mais également une technique de travail en équipe. Ces techniques de travail ou d'autres similaires continuent à être préconisées partout dans le domaine du génie logiciel. Certains rôles sont définis :  les "auteurs" (analystes) de la spécification (équipe de projet),  les "commentateurs" (critiques) amenés à critiquer constructivement la spécification,  les "lecteurs" amenés à lire ou à juger la spécification sans être tenus de rédiger des remarques écrites,  les "experts", références du domaine d'emploi de l'application, consultés par les auteurs ; souvent commentateurs,  le "bibliothécaire" chargé d'archiver et de distribuer les documents,  le "comité technique" (facultatif) chargé de résoudre les litiges,  le "responsable du projet". Une procédure et des formulaires sont prévus pour organiser et archiver les versions soumises à critiques, les remarques des critiques, les réponses des auteurs. Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 8 De même le processus de collecte des informations, d'interview, de conduite de réunion est décrit. 2.2.4. LES EXTENSIONS IDEF1/IDEF2 L'ICAM n'a pas retenu les datagrammes de SADT. Deux autres modèles ont été définis pour ajouter les aspects informationnels et dynamiques à celui fonctionnel des actigrammes de SADT/IDEF0. 2.2.4.1. IDEF1 (LE MODELE INFORMATIONS) IDEF1 s'inspire des travaux de Chen, Bachman et Nijssen. Figure : Modèle d'information ("classes") Les classes d'entités L'analyse des données d'un système permet d'identifier des classes d'entités. Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 9 Les classes de relation Les entités sont en relation. Une classe de relation définit un type de relation possible entre les entités de deux classes. Les méthodes de travail Une méthode de travail similaire à celle décrite dans IDEF0 est définie. 2.2.4.2. IDEF2 (LE MODELE DYNAMIQUE) Un modèle IDEF2 est composé de trois sous-modèles différents : Entity flow network submodel La gestion d'une entité telle qu'elle a pu être identifiée dans la phase IDEF1, utilise des enchaînements d'activités à l'intérieur du système. Le sous-modèle "Entity flow network" est une représentation graphique de tous les chemins que peut suivre le traitement d'une entité dans le système. Chaque chemin est constitué d'une succession d'activités. Ressource Disposition Trees Ce type de diagramme dont la représentation est similaire à celle d'un organigramme permet de définir les conditions de disponibilité d'une ressource, avec les actions possibles sur cette ressource :  allocate  free  preempt  error Cours d’Ingénierie du Logiciel Elvis Noël IRAMBONA, MSc. 10 System Control Networks Le symbolisme de ce type de diagramme est proche de celui du « Entity flow network submodel ». Ce diagramme permet de représenter les activités ou conditions affectant l'état général du système, non spécifique d'une entité. Les méthodes de travail Une méthode de travail similaire à celle décrite dans IDEF0 est décrite. 2.2.5. Avantages et Inconvénients de SADT Avantages : - très bonne lisibilité (même par des non informaticiens) - nombre restreint de concepts, donc apprentissage rapide et facilité de communication - structure hiérarchique très modulaire Inconvénients : - aspect dynamique limité - cohérence entre actigramme et datagramme parfois difficile - pas ou peu de synchronisation uploads/s3/ chapitre-2-ingenierie-du-logiciel.pdf

  • 43
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager