Upload
phamnhan
View
217
Download
0
Embed Size (px)
Citation preview
1
2 - 1
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-1--2007-01-31-10:00
MÉTHODOLOGIES DECONCEPTION ET
NOTATION GRAPHIQUE
MÉTHODOLOGIES DECONCEPTION ET
NOTATION GRAPHIQUEm Notations : diagrammes
m Méthodes d'analyse de flot de données
m Diagrammes de flot de données
m Dictionnaire de données et son contenu
m Méthodes d'Analyse fonctionnelle
m Diagrammes fonctionnels
m Diagrammes de transition d'états
m Conventions pour diagrammes objet
m Diagrammes de entités-relations
m Diagrammes d'interaction d'objets
m Diagrammes de Booch
m Méthodologies de conception
2 - 2
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-2--2007-01-31-10:00
NOTATIONS DIAGRAMMESPlusieurs 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'objetl Diagrammes de Booch
Ces applications et les autres notations de diagrammes font partie du processus de développement de logiciel d'une organisation.
2 - 3
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-3--2007-01-31-10:00
MÉTHODES D'ANALYSEDE FLUX DE DONNÉES
Les diagrammes de flot de données nous disent:l Les sources et les destinations des données dans le
systèmel Flux des données dans le systèmel Les fonctions qui transforment les données dans le
systèmel Les fonctions qui engendrent des transactions dans le
système
Le Dictionnaire nous donne:l Les attributs des données dans le systèmel D'autres informations au sujet des données du système
2 - 4
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-4--2007-01-31-10:00
DIAGRAMMES DE FLUX DONNÉEstockage de donnée
stockage de donnée
Fonction Fonction
Flux de donnée
Flux de donnée
Flux de donnée
Flux de donnéeCes symboles sonthabituellement utilisés dansles Diagrammes de flot de données (DFD's).
stockage de donnée
2 - 5
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-5--2007-01-31-10:00
DIAGRAMMES DE FLUX DONNÉESEXEMPLE
Console Fichier
Lire Ligne Formater Ligne
Ligne
Ligne
Ligne formatée
2 - 6
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-6--2007-01-31-10:00
DICTIONNAIRE DE DONNÉESET SON CONTENU
lChaque classe d'objets dans le système et ses attributs
lChaque objet unique (i.e., si placé dans une classe, la classe a une seule instance) et ses attributs
lConstantes clés et leurs attributs
lParamètres des sous-programmes et leurs attributs
2
2 - 7
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-7--2007-01-31-10:00
MÉTHODES D'ANALYSE FONCTIONNELLE
Diagrammes fonctionnels nous donnent :l Fonctions dans le Systèmel La suite des actions des fonctions
Diagrammes de transition d'état (STD's) nous donnent:l Les états du Systèmel Les relations entre les états du systèmel Les événements qui engendrent des transitions d'état du
systèmel Les actions résultantes effectuées en réponse à ces
événements
2 - 8
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-8--2007-01-31-10:00
DIAGRAMMES FONCTIONNELSIF-THEN-ELSE
WHILE-DO REPEAT-UNTIL
CASEVoici une combinaisonde symboles habituellementutilisés dans les diagrammesfonctionnels.
2 - 9
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-9--2007-01-31-10:00
DIAGRAMMES FONCTIONNELSEXEMPLE
OuvrirFichier
ObtenirLigne
Fini? FermerFichier
ImprimerLigne
Non
Oui
2 - 10
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-10--2007-01-31-10:00
DIAGRAMMES DE TRANSITION D'ÉTAT
État 1
État 2
Événement/Action résultante
Ces symboles sont usuellementutilisés dans les diagramme detransition d'états (STD).
2 - 11
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-11--2007-01-31-10:00
DIAGRAMMES DE TRANSITION D'ÉTATEXEMPLE
Initialiser Système etOuvrir Fichier
Lire ligne du Fichier
Formater Ligne
Écrire Ligne auterminal
Fermer Fichier (si ouvert) et Exit
Fait
Ouverture non-réussie, écrireun message auterminal
Fin de FichierNouvelle ligne lue
Fait
Écritureréussie
Écriture non-réussie, écrireun message auterminal
2 - 12
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-12--2007-01-31-10:00
DIAGRAMMES DE TRANSITION D’ÉTATContrôleur de Simulation
(1) sans modèle de simulationIl 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 simulationIl 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).
3
2 - 13
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-13--2007-01-31-10:00
DIAGRAMMES DE TRANSITION D’ÉTATContrôleur de Simulation
(3) en contrôle de l’exécution de l’engin simulateurIl 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 simulateurIl 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.
2 - 14
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-14--2007-01-31-10:00
DIAGRAMMES DE TRANSITION D’ÉTATContrôleur de Simulation
2 - 15
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-15--2007-01-31-10:00
DIAGRAMMES DE TRANSITION D’ÉTATEngin de Simulation
(0) sans modèle de simulationIl 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écutionIl peut être interrompu par un signal SIGUSR1 venant du contrôleur de simulation et s’interrompre lui-même.
(3) en pauseIl attend un message CONTINUE, STOP, EXIT, MODIFY ou OPTIONS venant du contrôleur de simulation.
(4) en flottementIl attend un message du type STOP venant du contrôleur de simulation.
2 - 16
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-16--2007-01-31-10:00
DIAGRAMMES DE TRANSITION D’ÉTATEngin de Simulation
2 - 17
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-17--2007-01-31-10:00
DIAGRAMMES OBJETSDiagrammes des entités- relations (ERD) comprennent:l Les Entités dans le système
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:l Les Relations de Dépendance entre les Classes
2 - 18
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-18--2007-01-31-10:00
DIAGRAMMES DE RELATION - ENTITÉ
Entité 1
Entité 2
Relation
Ces symboles sont usuellement utilisés dansles Diagrammes deRelations d'Entités(ERD).
4
2 - 19
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-19--2007-01-31-10:00
Programme
Terminal Fichier
Lire les Lignes du
Créer
Écrire les Lignesdans
DIAGRAMMES DE RELATION - ENTITÉEXEMPLE
2 - 20
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-20--2007-01-31-10:00
DIAGRAMMES D'INTERACTIOND'OBJETS
Paquetage
Sous-Programme
Tâche
Types de données
Sous-Programme
Point d'entrée
Point d'entrée
Appel d'un sous-programmed'un autre avecflot de donnée
Ces symbolessont usuellementutilisés dans les Diagrammes de Booch(OID's).
Sous-Programme
Types de données
2 - 21
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-21--2007-01-31-10:00
DIAGRAMMES D'INTERACTION D'OBJETS EXEMPLE
FichierFILE_TYPE
Ouvrir
Put_Line
Fermer
Terminal
Get_Line
ProgrammeID
ID
ID
Nom
Ligne
Ligne
2 - 22
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-22--2007-01-31-10:00
DIAGRAMMES DE BOOCHEXEMPLE
FichierFILE_TYPE
Ouvrir
Put_Line
Fermer
Terminal
Get_Line
Programme
Les Diagrammes de Booch utilisentles 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, dansen option, les suites de fonctions.
2 - 23
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-23--2007-01-31-10:00
MÉTHODOLOGIES DECONCEPTION
Conception Orientée sur le Flux des données
Conception Orientée sur la structure des données
Conception Orientée-Objet
Conception en temps-réel
Note
Les trois premières classes sont fortement guidées par le Domaine d'Information.
2 - 24
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-24--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
Conception Orientée sur lesFlux 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
5
2 - 25
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-25--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
Conception Orientée Flux de DonnéesAnalyse des Transformations
et de ConceptionÉtapes de conception:l Réviser le modèle fondamental du systèmel Réviser et raffiner les DFD pour le logiciell Déterminer les caractéristiques des transformations et des transactions
des DFDl Isoler le centre des transformations en spécifiant les flots d'entrée et de
sortiel Effectuer la factorisation de premier niveau - dériver l'architecture d'après
les parties majeures des DFD de la structure du programmel 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.
2 - 26
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-26--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
Étapes de conception:
l Réviser le modèle fondamental du systèmel Réviser et raffiner les DFD pour le logiciell Déterminer les caractéristiques des transformations et des transactions
des DFDl Isoler le centre de la transaction et les caractéristiques du flot pour
chaque actionl A partir du DFD, établir une structure du logiciel souple pour le traitement
des transactionsl Factoriser et raffiner la structure de la transaction et la structure de
chaque actionl 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 Flux de DonnéesAnalyse Transactionnelle
et de Conception
2 - 27
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-27--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
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é
2 - 28
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-28--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTIONS
Conception Orientée sur lesStructures de données
l Les trois méthodes clés sont:
m Le système 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 système 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
2 - 29
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-29--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
CONCEPTION ORIENTÉE-OBJET(OOD)
l S'intéresser à créer un modèle du système 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
2 - 30
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-30--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
DéfinitionsConception Orientée-Objet
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
6
2 - 31
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-31--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
É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
2 - 32
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-32--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
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.
2 - 33
Conception Orientée-ObjetConception Orientée-Objet
Ingénierie du Logiciel avec Ada -- © Louis Granger--m2--GL10-33--2007-01-31-10:00
MÉTHODOLOGIES DE CONCEPTION
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 système (throughput)
l Allocation des ressources et gestion des priorités
l Synchronisation des tâches et communication inter-tâches