MÉTHODOLOGIES DE CONCEPTION ET NOTATION GRAPHIQUE m Notations : diagrammes m Diagrammes de transition d'états m Méthodes d'analyse de flot de m Conventions pour diagrammes données objet m Diagrammes de flot de données m Diagrammes de entités-relations m Dictionnaire de données et son m Diagrammes d'interaction d'objets contenu m Méthodes d'analyse fonctionnelle m Diagrammes de Booch m Diagrammes fonctionnels m Méthodologies de conception DIAGRAMMES DE FLUX DONNÉE stockage de donnée Fonction Ces symboles sont habituellement utilisés dans les Diagrammes de flot de données (DFD's). stockage de donnée Fonction stockage de donnée Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-1--2007-01-31-10:00 2-1 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-4--2007-01-31-10:00 2-4 NOTATIONS DIAGRAMMES Plusieurs notations de diagrammes sont utilisées durant les phases d'analyse des besoins et de conception: l Diagrammes de flot de données l Diagrammes de fonctions l Diagrammes de transition d'états l Diagrammes de entités-relations D'autres diagrammes sont spécifiquement utilisés pour la conception et sont souvent spécifiques à un langage. Ces notations sont souvent utilisées lors d'implantation en Ada: Diagrammes d'interaction d'objet l Diagrammes de Booch Ces applications et les autres notations de diagrammes font partie du processus de développement de logiciel d'une organisation. DIAGRAMMES DE FLUX DONNÉES Console Lire Formater formatée Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-2--2007-01-31-10:00 2-2 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-5--2007-01-31-10:00 2-5 MÉTHODES D'ANALYSE DE FLUX DE DONNÉES Les diagrammes de flot de données nous disent: l Les sources et les destinations des données dans le l Flux des données dans le l Les fonctions qui transforment les données dans le l Les fonctions qui engendrent des transactions dans le Le Dictionnaire nous donne: l Les attributs des données dans le l D'autres informations au sujet des données du DICTIONNAIRE DE DONNÉES ET SON CONTENU l Chaque classe d'objets dans le et ses attributs l Chaque objet unique (i.e., si placé dans une classe, la classe a une seule instance) et ses attributs l Constantes clés et leurs attributs l Paramètres des sous-programmes et leurs attributs Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-3--2007-01-31-10:00 2-3 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-6--2007-01-31-10:00 2-6 1
MÉTHODES D'ANALYSE FONCTIONNELLE DIAGRAMMES DE TRANSITION D'ÉTAT Diagrammes fonctionnels nous donnent : l Fonctions dans le Système l La suite des actions des fonctions Diagrammes de transition d'état (STD's) nous donnent: État 1 Événement/ Action résultante l Les états du Système l Les relations entre les états du l Les événements qui engendrent des transitions d'état du l Les actions résultantes effectuées en réponse à ces événements Ces symboles sont usuellement utilisés dans les diagramme de transition d'états (STD). État 2 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-7--2007-01-31-10:00 2-7 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-10--2007-01-31-10:00 2-10 IF-THEN-ELSE DIAGRAMMES FONCTIONNELS Voici une combinaison de symboles habituellement utilisés dans les diagrammes fonctionnels. CASE DIAGRAMMES DE TRANSITION D'ÉTAT Initialiser Système et Ouvrir Fait Lire ligne du Ouverture nonréussie, écrire un message au terminal Fin de Formater Nouvelle ligne lue Fait WHILE-DO REPEAT-UNTIL Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-8--2007-01-31-10:00 2-8 Fermer (si ouvert) et Exit Écriture nonréussie, écrire un message au terminal Écrire au terminal Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-11--2007-01-31-10:00 Écriture réussie 2-11 Ouvrir DIAGRAMMES FONCTIONNELS Obtenir Fini? Non Imprimer Oui Fermer Contrôleur de Simulation (1) sans modèle de simulation Il s agit alors d acquérir un modèle de simulation. Le contrôleur peut être invoqué ou réveillé par OPAL et reçoit les données d entrée venant d OPAL par tube ou fichier et fait exécuter l extracteur. (2) en spécification des paramètres de simulation Il s agit de gérer un menu d interaction avec l utilisateur pour accepter : une durée de simulation (avec spécification d unité de temps), un nombre de lots de simulation, des points d arrêt des types 1-5 (le type 5 étant basé sur le temps réel, donc sur une interruption matériel), des options de résultat et d affichage, et des modifications permises de réseau. Il achemine ces renseignements à l engin simulateur et fait démarrer (ou reprendre) une simulation (après une pause). Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-9--2007-01-31-10:00 2-9 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-12--2007-01-31-10:00 2-12 2
Contrôleur de Simulation Engin de Simulation (3) en contrôle de l exécution de l engin simulateur Il s agit d accepter un ordre de l utilisateur (Break, Stop, Exit) et d interrompre (ou de suspendre) l exécution de l engin simulateur. Le contrôleur interrompt l engin et lui dit quoi faire (Continue, Stop, Exit, Modify, Options). Noter qu une interruption d horloge temps réel (un point d arrêt du type 5) est considérée comme un ordre Break venant de l utilisateur. (4) en contrôle d une pause de l engin simulateur Il s agit d accepter un ordre de l utilisateur (Continue, Stop, Exit, Restart, Options) et de le transmettre à l engin simulateur. Noter qu un Restart est transmis par un Stop suivi d un Start. Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-13--2007-01-31-10:00 2-13 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-16--2007-01-31-10:00 2-16 Contrôleur de Simulation DIAGRAMMES OBJETS Diagrammes des entités- relations (ERD) comprennent: l Les Entités dans le l Les relations entre ces entités Diagrammes d'interaction d'objets donnent: l Les Objets et les Classes dans le Système l Les Relations entre les Objets l Les Interfaces Objets l Les Flux de Données entre les Objets l Méthodes d'appels l La suite des Appels (optionnel) Diagrammes de Booch montrent: Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-14--2007-01-31-10:00 2-14 l Les Relations de Dépendance entre les Classes Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-17--2007-01-31-10:00 2-17 Engin de Simulation DIAGRAMMES DE RELATION - ENTITÉ (0) sans modèle de simulation Il attend un message du type EXTRACT venant du contrôleur de simulation. (1) en inactivité Il attend un message MODIFY ou START venant du contrôleur de simulation. (2) en exécution Il peut être interrompu par un signal SIGUSR1 venant du contrôleur de simulation et s interrompre lui-même. (3) en pause Il attend un message CONTINUE, STOP, EXIT, MODIFY ou OPTIONS venant du contrôleur de simulation. (4) en flottement Il attend un message du type STOP venant du contrôleur de simulation. Entité 1 Ces symboles sont usuellement utilisés dans les Diagrammes de Relations d'entités (ERD). Relation Entité 2 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-15--2007-01-31-10:00 2-15 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-18--2007-01-31-10:00 2-18 3
DIAGRAMMES DE RELATION - ENTITÉ Programme DIAGRAMMES DE BOOCH Programme Terminal Get_Line Lire les s du Terminal Créer Écrire les s dans Les Diagrammes de Booch utilisent les mêmes symboles de base que les OID, sauf qu'ils montrent la dépendance d'information au lieu des relations de flot de données, dans en option, les suites de fonctions. FILE_TYPE Ouvrir Put_Line Fermer Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-19--2007-01-31-10:00 2-19 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-22--2007-01-31-10:00 2-22 Appel d'un sous-programme d'un autre avec flot de donnée DIAGRAMMES D'INTERACTION D'OBJETS Types de données Paquetage Sous-Programme Types de données Sous-Programme Sous-Programme Ces symboles sont usuellement utilisés dans les Diagrammes de Booch (OID's). Tâche Point d'entrée Point d'entrée MÉTHODOLOGIES DE CONCEPTION Conception Orientée sur le Flux des données Conception Orientée sur la structure des données Conception en temps-réel Note Les trois premières classes sont fortement guidées par le Domaine d'information. Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-20--2007-01-31-10:00 2-20 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-23--2007-01-31-10:00 2-23 DIAGRAMMES D'INTERACTION D'OBJETS Terminal Get_Line Programme ID ID ID FILE_TYPE Nom Ouvrir Put_Line Fermer Conception Orientée sur les Flux de Données l Utilise les caractéristiques du flot d'information pour construire la structure du programme l Deux techniques d'analyse de conception: m Conception et Analyse des Transformations - le flot d'information établissent les frontières entre les données d'entrée et de sortie (i.e., entrées, traitement, et la sortie sont trois éléments clés du flot de données) m Conception et Analyse Transactionnelles - un élément d'information engendre un flot pour sélecter parmi plusieurs alternatives. l Les Diagrammes de Flux de Données (DFD) sont habituellement utilisés pour représenter le flot des données Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-21--2007-01-31-10:00 2-21 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-24--2007-01-31-10:00 2-24 4
Conception Orientée Flux de Données Analyse des Transformations et de Conception Étapes de conception: l Réviser le modèle fondamental du l Réviser et raffiner les DFD pour le logiciel l Déterminer les caractéristiques des transformations et des transactions des DFD l Isoler le centre des transformations en spécifiant les flots d'entrée et de sortie l Effectuer la factorisation de premier niveau - dériver l'architecture d'après les parties majeures des DFD de la structure du programme l Effectuer la factorisation de deuxième niveau -- dériver des bulles individuelles des DFD pour les modules dans la structure du programme. l Raffiner cette première ébauche de la structure du programme -- maximiser la cohésion, minimiser les redondances et construire une structure hiérarchique. S Conception Orientée sur les Structures de données l Les trois méthodes clés sont: m Le de Développement de Jackson - se concentre sur le processus de modélisation et de contrôle m Construction logique de Programmes (Warnier) - vue rigoureuse de la structure de donnée et s'oriente vers la conception procédurale détaillée m Développement de structuré en fonction des données (Orr) - inclut l'analyse des flot de données avec les deux méthodes précédentes l C'est une technologie des années 1970 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-25--2007-01-31-10:00 2-25 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-28--2007-01-31-10:00 2-28 Conception Orientée Flux de Données Analyse Transactionnelle et de Conception Étapes de conception: l Réviser le modèle fondamental du l Réviser et raffiner les DFD pour le logiciel l Déterminer les caractéristiques des transformations et des transactions des DFD l Isoler le centre de la transaction et les caractéristiques du flot pour chaque action l A partir du DFD, établir une structure du logiciel souple pour le traitement des transactions l Factoriser et raffiner la structure de la transaction et la structure de chaque action l Raffiner cette première ébauche de la structure du programme -- maximiser la cohésion, minimiser les redondances et construire une structure hiérarchique. CONCEPTION ORIENTÉE-OBJET (OOD) l S'intéresser à créer un modèle du réel l Les objets représentent le domaine d'information, et les opérations associées avec cette information sont groupées avec les objets. l Les messages (interfaces) fournissent un moyen par lequel les opérations sont invoquées l L'organisation des objets avec leurs opérations associées prennent place - les abstractions (représentation) de données et procédurales sont combinées dans une seule composante de programme appelé objet ou un paquetage l Les représentations OOD sont plus dépendantes du langage Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-26--2007-01-31-10:00 2-26 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-29--2007-01-31-10:00 2-29 Conception Orientée sur les flot de données - Conception Heuristique l Minimiser la redondance et maximiser la cohésion l Minimiser les déploiements et s'efforcer de regrouper à mesure que la profondeur augmente l Minimiser les effets de bord; garder la portée de l'effet du module à l'intérieur du contrôle du module l Évaluer les interfaces du module pour réduire la complexité et la redondance; améliorer la consistance du module l Identifier les modules dont les fonctions sont prévisibles et testables l S'efforcer d'avoir un seul point d'entrée et une seule sortie l Organiser le logiciel en fonction des contraintes de conception et les besoins de portabilité Définitions l Objet - une composante du monde réel élaborée dans le domaine du logiciel ou comme un item d'information l Opérations ou Méthodes - processus qui agit sur les objets pour transformer leur structure interne de données ou fournir de l'information sur leur structure interne de données l Message - une requête à un objet pour effectuer une de ses opérations l Classe - un ensemble de caractéristiques communes à plusieurs objets l Instance - un objet individuel d'une classe Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-27--2007-01-31-10:00 2-27 Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-30--2007-01-31-10:00 2-30 5
Étapes de la conception Orientée-Objet l Identifier les objets l Identifier les attributs des objets l Identifier les opérations qui s'appliquent à ces objets l Établir les interfaces de ces objets avec le monde extérieur ( spécification des paquetages d'ada peuvent être utilisées si Ada est le langage) l Implémenter les objets (le corps des paquetages d'ada) l Une représentation graphique peut être utilisée : les diagrammes de Booch et les diagrammes d'interaction sont recommandés Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-31--2007-01-31-10:00 2-31 CONCEPTION EN TEMPS-RÉEL l Comprend tous les aspects du logiciel conventionnel en plus d'introduire simultanément des contraintes de synchronisation [timing] et de taille; le code doit satisfaire à ces contraintes. l Toutes les classes de conception ( architecturale, procédurales, et basée sur les données) deviennent plus complexes dues aux contraintes de temps engendrées par le temps réel. l La modélisation mathématique et la simulation sont des outils répandues pour la conception en temps-réel. Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-32--2007-01-31-10:00 2-32 Préoccupation des Systèmes en Temps-Réel l Gestion des interruptions et changements de contexte l Temps de Réponse l Taux de transfert des données l Performance de l'uct et du (throughput) l Allocation des ressources et gestion des priorités l Synchronisation des tâches et communication inter-tâches Ingénierie du Logiciel avec Ada -- Louis Granger--m2--GL10-33--2007-01-31-10:00 2-33 6