© petko valtchevuniversité de montréal février 2002 1 ift 2251 génie logiciel la modélisation...

23
© Petko Valtchev Université de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

Upload: emilien-peres

Post on 04-Apr-2015

111 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 1

IFT 2251Génie Logiciel

La Modélisationdu Comportement

IFT 2251Génie Logiciel

La Modélisationdu Comportement

Hiver 2002 Petko Valtchev

Page 2: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 2

ModélisationModélisation SommaireSommaire

L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée

Page 3: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 3

ModélisationModélisation Éléments du Modèle d’ASÉléments du Modèle d’AS

Modèle entité-association

Diagramme de flot de données

Diagrammeétat-transition

Description des données

Spécificationdes processus

(PSPEC)

Spécificationdu contrôle (CSPEC)

Dictionnairedes données

Page 4: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 4

ModélisationModélisation SommaireSommaire

L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée

Le modèle entité-association (E-A) Les diagrammes de flot de données (DFD) Les diagrammes d’état-transition (E-T) Dictionnaire des données (DdD)

Page 5: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 5

ModélisationModélisation

Mondeextérieur ApplicationApplication

événements comportement

Modéliser le ComportementModéliser le Comportement

Page 6: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 6

ModélisationModélisation Concepts de BaseConcepts de Base

État = un ensemble de paramètres (circonstances) observables qui

caractérisent le comportement d’un système à un moment donné.

Ex. inactif, calcul en cours, aucun fichier ouvert (MS Word), etc.

Transition d’état = le passage d’un état à un autre

Ex. terminaison de session, début de calcul, etc.

Événement = une occurrence qui force le système à montrer une

forme de comportement prévisible

Ex. interruption calcul, demande d’ouverture de session, etc.

Action = processus qui se réalise ne tant que conséquence d’une

transition

Ex. ouverture/sauvegarde fichier (MS Word), affichage résultat, etc.

Page 7: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 7

ModélisationModélisation

1. Énumérer les différents états du système

Q: Comment est-ce que le système se comporte?

2. Fixer la manière dont le système passe d’un

état à un autre

Q: Comment est-ce que le système change d’état? indiquer la cause (évènement) indiquer la conséquence (action)

3. Dessiner le diagramme des transitions

1. Énumérer les différents états du système

Q: Comment est-ce que le système se comporte?

2. Fixer la manière dont le système passe d’un

état à un autre

Q: Comment est-ce que le système change d’état? indiquer la cause (évènement) indiquer la conséquence (action)

3. Dessiner le diagramme des transitions

Construire le ModèleConstruire le Modèle

NB: le même démarche s’applique au niveau processus

Page 8: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 8

ModélisationModélisation Diagramme d’État-TransitionDiagramme d’État-Transition

étatétat

nouvelétat

nouvelétat

évènement à l’origine de la transition

action

Notation

NB: Un diagramme d’état-transition ressemble à une machine d’état finie à la différence près qu’il n’y a pas d’état initial ni final.

Page 9: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 9

ModélisationModélisation

Lecturedes commandes

de l’opérateur

Copie encours

Diagnosticdu problème

Rechargementdu bac à papier

pleinInvoquer lecturedes opérations

plein et démarrage

Invoquer processusde copie

copies terminées

Invoquer lecturedes opérations

vide

Invoquer rechargementde papierbloqué

Invoquer processusde diagnostic

pas bloqué

Invoquer lecture des opérations

Diagramme E-T (exemple)Diagramme E-T (exemple)

Page 10: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 10

ModélisationModélisation Contrôle dans les DFDContrôle dans les DFD

Souvent, il est plus naturel d’inclure des informations sur le comportement

du système au niveau du modèle fonctionnel (le DFD).

Pour chaque processus non primitif (quelque soit son niveau dans la

décomposition hiérarchique du modèle), on peut définir une spécification

du contrôle (CSPEC). Celle-ci décrit la manière d’activer les flots de

données alternatifs dans la décomposition du processus en fonction des

informations de contrôle (évènements externes et internes).

Une CSPEC peut contenir:• Un diagramme É-T,• Une table état-transition,• Une ou plusieurs tables de décision,• Une table d’activation de processus.

Page 11: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 11

ModélisationModélisation Identification du ContrôleIdentification du Contrôle

Comment identifier les événements et les autres informations de contrôle qui déterminent le comportement d’un système (dans le but de construire les CSPEC) ???

1. Faire la liste de toutes les sources :

• capteurs et périphériques dont les sorties sont lus par le système,

• interrupteurs activés par un opérateur.

2. Faire la liste de toutes les conditions :

• conditions d’interruption de processus,

• conditions posées sur les données.

3. Identifier dans la spécification informelle (statement of scope) toutes les informations (noms/verbes) pouvant constituer des entrées/sorties pour les CSPEC.

4. Réfléchir les omissions possibles.

1. Faire la liste de toutes les sources :

• capteurs et périphériques dont les sorties sont lus par le système,

• interrupteurs activés par un opérateur.

2. Faire la liste de toutes les conditions :

• conditions d’interruption de processus,

• conditions posées sur les données.

3. Identifier dans la spécification informelle (statement of scope) toutes les informations (noms/verbes) pouvant constituer des entrées/sorties pour les CSPEC.

4. Réfléchir les omissions possibles.

Page 12: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 12

ModélisationModélisation Intégration du ContrôleIntégration du Contrôle

Certains système temps-réel s’articulent autour du traitement des événements et plus généralement autour des « processus de contrôle » plutôt qu’autour des flots de données. Pou ces systèmes, il devient impossible de dissocier le modèle fonctionnel du modèle de contrôle.

En conséquence, un modèle fonctionnel hybride doit être constitué, intégrant les processus du contrôle.

Une solution: éteindre les modèles DFD avec des éléments de contrôle. Parmi les extensions qui ont été proposées, deux seront examinées:

Extensions de Ward & Mellor Extensions de Hatley & Pirbhai

Page 13: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 13

ModélisationModélisation Extensions de Ward & MellorExtensions de Ward & Mellor

• Un DFD d’après Ward & Mellor modélise simultanément le flot de contrôle et des processus de contrôle (n’apparaît pas dans les DFD classiques).

• Les éléments du DFD étendu sont :• les flots de données et les processus classiques, représentés par des

flèches et par des cercles standard. • les flots de données produites en temps continu ; ils sont représentés

par des flèches à tête double. • les flots de contrôle sont représentés par des flèches pointillées.• les processus qui ne sont destinés qu’à contrôler le système sont des

processus de contrôle; ils sont représentés par des cercles en pointillés.

• Les processus de contrôle sont décrits par des spécifications de contrôle (CSPEC).

Page 14: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 14

ModélisationModélisation Ward & Mellor (exemple)Ward & Mellor (exemple)

ObservePH

ObservePH

MaintientPH

MaintientPH

ContrôlePH

ContrôlePH

ChangePH

ChangePH

Sourcede PH

Sourcede PH

Valeur PH Ok

On/Off

On/Off

On/Off

Contrôle valve

Contrôle valve

Arrêter

Démarrer

CSPEC:

-diag. état-transition- table d’activation de processus

Page 15: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 15

ModélisationModélisation

• Un diagramme de flot de contrôle (CFD) est construit à partir d’un diagramme de flot de données (DFD). Il précise la manière dont les processus du DFD sont coordonnés.

• Les processus du DfD sont présents, alors que toutes les flèches indiquant les flots de données sont retirées.

• Le flot de contrôle est indiqué par une flèche en pointillés. Celle-ci peut être :• étiquetée par l’événement ou l’information de contrôle• dirigée ou issue d’un processus ou d’une CSPEC.

• Une spécification de contrôle est représentée par une barre verticale. Chaque barre verticale constitue une « fenêtre » sur la CSPEC.

• Les flèches de flot de contrôle n’indiquent pas d’activation/désactivation de processus.

Ext. de Hatley & PirbhaiExt. de Hatley & Pirbhai

Page 16: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 16

ModélisationModélisation Hatley & Pirbhai (exemple)Hatley & Pirbhai (exemple)

Lire entréede l’opérateur

Lire entréede l’opérateur

État de l’alimentation

en papier(bourrage, vide)

Démarrer/Arrêter

Alarme

PleinErreur de

reproduction

Afficherinfo

utilisateur

Afficherinfo

utilisateurDiagnostiquer

le problème

Diagnostiquerle problème

Faireles

copies

Faireles

copies

Recharger lebac à papier

Recharger lebac à papier

Page 17: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 17

ModélisationModélisation SommaireSommaire

L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée

Le modèle entité-association (E-A) Les diagrammes de flot de données (DFD) Les diagrammes d’état-transition (E-T) Le dictionnaire des données (DdD)

Page 18: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 18

ModélisationModélisation Dictionnaire des DonnéesDictionnaire des Données

• Le contenu des données que le système va recevoir, créer et/ou traiter est

précisé sous la forme d’une grammaire quasi-formelle.

• Les informations de contrôle du système y sont également présente avec la

totalité des valeurs qu’elles peuvent prendre.

• Le dictionnaire des données (DdD) représente un référentiel indiquant, entre

autres où les données sont utilisées et comment elles sont utilisées.

• Il peut être rédigé manuellement, mais idéalement il est développé à l’aide

d’un outil CASE

« Dictionnaire des données: décrit la designation, la structure,le contenu et l’utilisation de l’ensemble des informations

manipulées par le système.  »

Page 19: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 19

ModélisationModélisation

Nom:

Alias: Où il estutilisé: Commentil est utilisé: Description: Format:

Le nom de base d’un élément des données,éventuellement composite.

Autres noms pour l’élément de donnée. Processus qui utilise cet élément de donnée. Le rôle de l’élément de donnée, (entrée,sortie, lieu de dépôt, etc.) Une notation pour représenter le contenude l’élément de donnée.

Information spécifique à propos du type

de donnée, ses valeurs d’initialisation, etc.

Contenu du DictionnaireContenu du Dictionnaire

Page 20: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 20

ModélisationModélisation

Notation

=

+

[ ]

{ }

( ... )

* ... text ...*

n

Interprétation

est composé de

et

ou

n répétitions de

donnée optionnelle

commentaire

NotationNotation

Page 21: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 21

ModélisationModélisation

Integrated

Office

Phone

System

Integrated

Office

Phone

System

Numéro de téléphone

Nom: Alias: Où/Comment utilisé: Description:

Format:

telephone number phone number, number read-phone-number (input) display-phone-number (output) analyze-long-distance-calls (input) telephone no. = [ local extension | outside no. | 0 ] outside no. = 9 + [ service code | domestic no. ] service code = [ 211 | 411 | 611 | 911 ] domestic no. = ( ( 0 ) + area code ) + local number area code = *three numeral designator*

Dans le dictionnaire :

alphanumeric data

Sortiesystème

Dictionnaire (exemple)Dictionnaire (exemple)

Page 22: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 22

ModélisationModélisation

Document de spécification produit suite à l’analyse structurée

La Spécification du LogicielLa Spécification du Logiciel

• Intro: buts, objectifs, contexte.• Modèle entité-relation.• DFD (niveaux 0-n) & les PSPEC.• Les CSPEC (diagrammes état-transition

et tables d’activation de processus)• Critères de validation.• Dictionnaire des données.

Page 23: © Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Février 2002 23

ModélisationModélisation AS, Vue d’EnsembleAS, Vue d’Ensemble

Vue des données: Modèle entité-relation.

• Décrit la structure des données manipulées, c’est-à-dire les éléments et les relations entre eux.

Vue des traitements: Diagramme de flot de données.

• Représente l’ensemble des fonctions (processus) du système de façon hiérarchique: ensemble de niveaux, dans le sens du détail croissant.

• Décrit la circulation des données dans le système.

• Ne permet pas cependant de décrire le comportement du système ni le contrôle de l’activation des processus.

Vue du comportement (contrôle) : CSPEC (diagramme d’état-transition, table d’activation de processus, etc.)

• Décrit le comportement du système et la coordination des processus (conditions d’activation d’un processus, ordre d’activation, etc.).