6
1 2 - 1 Conception Orientée-Objet Ingénierie du Logiciel avec Ada -- ©Louis Granger--m2--GL10-1--2007-01-31-10:00 MÉTHODOLOGIES DE CONCEPTION ET NOTATION GRAPHIQUE m 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-Objet Ingénierie du Logiciel avec Ada -- ©Louis Granger--m2--GL10-2--2007-01-31-10:00 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. 2 - 3 Conception Orientée-Objet Ingénierie du Logiciel avec Ada -- ©Louis Granger--m2--GL10-3--2007-01-31-10:00 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 système l Flux des données dans le système l Les fonctions qui transforment les données dans le système l Les fonctions qui engendrent des transactions dans le système Le Dictionnaire nous donne: l Les attributs des données dans le système l D'autres informations au sujet des données du système 2 - 4 Conception Orientée-Objet Ingénierie du Logiciel avec Ada -- ©Louis Granger--m2--GL10-4--2007-01-31-10:00 DIAGRAMMES DE FLUX DONNÉE stockage de donnée stockage de donnée Fonction Fonction Flux de donnée Flux de donnée Flux de donnée Flux de donnée Ces symboles sont habituellement utilisés dans les Diagrammes de flot de données (DFD's). stockage de donnée 2 - 5 Conception Orientée-Objet Ingénierie du Logiciel avec Ada -- ©Louis Granger--m2--GL10-5--2007-01-31-10:00 DIAGRAMMES DE FLUX DONNÉES EXEMPLE Console Fichier Lire Ligne Formater Ligne Ligne Ligne Ligne formatée 2 - 6 Conception Orientée-Objet Ingénierie du Logiciel avec Ada -- ©Louis Granger--m2--GL10-6--2007-01-31-10:00 DICTIONNAIRE DE DONNÉES ET 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

Conception Orientée-ObjetConception Orientée-Objet ... · résultat et d’affichage, et des modifications permises de réseau. Il achemine ces renseignements à l’engin simulateur

Embed Size (px)

Citation preview

Page 1: Conception Orientée-ObjetConception Orientée-Objet ... · résultat et d’affichage, et des modifications permises de réseau. Il achemine ces renseignements à l’engin simulateur

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

Page 2: Conception Orientée-ObjetConception Orientée-Objet ... · résultat et d’affichage, et des modifications permises de réseau. Il achemine ces renseignements à l’engin simulateur

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).

Page 3: Conception Orientée-ObjetConception Orientée-Objet ... · résultat et d’affichage, et des modifications permises de réseau. Il achemine ces renseignements à l’engin simulateur

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).

Page 4: Conception Orientée-ObjetConception Orientée-Objet ... · résultat et d’affichage, et des modifications permises de réseau. Il achemine ces renseignements à l’engin simulateur

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

Page 5: Conception Orientée-ObjetConception Orientée-Objet ... · résultat et d’affichage, et des modifications permises de réseau. Il achemine ces renseignements à l’engin simulateur

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

Page 6: Conception Orientée-ObjetConception Orientée-Objet ... · résultat et d’affichage, et des modifications permises de réseau. Il achemine ces renseignements à l’engin simulateur

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