7
1 © Petko Valtchev Université de Montréal Novembre 2005 1 IFT 3901 Analyse et Conception des Logiciels Automne 2005 Petko Valtchev © Petko Valtchev Université de Montréal Novembre 2005 2 Analyse et Conception 7. Entre l’analyse et la conception: DSS & contrats

IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

1

© Petko Valtchev Université de Montréal Novembre 2005 1

IFT 3901Analyse et Conception

des Logiciels

Automne 2005Petko Valtchev

© Petko Valtchev Université de Montréal Novembre 2005 2

Analyse et Conception

7. Entre l’analyseet la conception:DSS & contrats

Page 2: IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

2

© Petko Valtchev Université de Montréal Novembre 2005 3

DSS & contrats Sommaire

Les diagrammes de séquence système

Opérations et événements système

Contrat des opérations système

Pré- et post-conditions

© Petko Valtchev Université de Montréal Novembre 2005 4

DSS & contrats Origines: les CdU

Les CdU décrivent les interactions acteurs - système:

l’acteur génère un événement externe interprété comme une requête,

le système exécute une opération en réponse…

Ce patron comportemental est transcrit sous forme d’un diagramme deséquence particulier, le DS système:

correspond à un scénario,

démontre

les événements externes générés,

leur enchaînement,

les opérations qui sont exécutées en réponse (vue externe).

Page 3: IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

3

© Petko Valtchev Université de Montréal Novembre 2005 5

DSS & contrats DSS (exemple)

SI-Fournisseur.com

choisir_option_commande ()

login (ID,passwd)

afficher_menu ()

afficher_produits_disponibles()

[i:=1..n] choisir_produit (code_produit)

afficher_état_commande ()

demander_calcul_prix_total ()

afficher_total()

:Client

effectuer_adresse ()

confirmer_commande_complète ()

Scénario “ Commande produits”

1. Le client s’identifie.2. Le système affiche les options.

3. Le client choisi “commande”.4. Le système affiche les produitsdsiponibles.

5. Le client choisi un ensemblede produits.

6. Après chaque choix, lesystème affiche l’état de lacommande.

7. Le client demande le prix total.8. …

© Petko Valtchev Université de Montréal Novembre 2005 6

DSS & contrats DSS: Motivation

En quoi les DSS facilitent la conception du système:

le comportement d’un système se résume en le traitement de tous les

événements externes,

plus spécifiquement, le but est de concevoir le traitement des:

événements externes

événements de l’horloge

erreurs et exceptions

Avant la conception proprement dite, il est important de caractériser lecomportement du système comme une « boîte noire »:

Décrire ce qu’il fait et non

Comment il le fait

Page 4: IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

4

© Petko Valtchev Université de Montréal Novembre 2005 7

DSS & contrats DSS dans le contexte

© Petko Valtchev Université de Montréal Novembre 2005 8

DSS & contrats Opérations système (OS)

De fois, une description plus détaillée de l’effet d’une OS peut s’avérerutile afin de faciliter la conception:

on décrit son effet sur l’état du système,

en tant qu’approximation du design réel du système, on utilise le

modèle du domaine (couche domaine)

celui-ci couvre la « couche domaine » de l’architecture du système

La description est structurée sous forme d’un contrat, une liste de

facettes dont les principales sont:

Pré-condition: contraintes qui doivent être satisfaites pour que l’OS

puisse s’exécuter normalement

Post-condition: modifications sur l’état de la couche domaine

Page 5: IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

5

© Petko Valtchev Université de Montréal Novembre 2005 9

DSS & contrats Contrats OS

Post-conditions: modifications de type

Création / destruction d’instances de classes,

Changement des valeurs d’attributs

Établissement / destruction de liens d’associations

Principe fondateur: les post-conditions résument ce qui aura changéentre le moment avant le déclenchement de l’OS et sa terminaison

trouver les « 9 différences »…

© Petko Valtchev Université de Montréal Novembre 2005 10

DSS & contrats Forme structurée (gabarit)

Post-conditions:

Opération « Initiation commande »: un nouvel objet de type Coomande est

crée et l’objet représentant le client lui est associé.

Post-conditions: un nouvel objet de type LigneCommande est créé

il est associé à l’objet Commande par la création d’un lien

la valeur de l’attribut quantité est positionnée

Page 6: IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

6

© Petko Valtchev Université de Montréal Novembre 2005 11

DSS & contrats DSS + contrats (exemple)

eBay.com

choisir_option_achat ()

login ()

afficher_menu ()

afficher_produits_disponibles()

[i:=1..n] choisir_produit (code_produit)

afficher_état_commande ()rectifier_disponibilité_produit()

demander_calcul_prix_total ()

afficher_total()

:Client

ajouter_adresse ()

Opération « Initiation commande »: unnouvel objet de type Coomande est crée etl’objet représentant le client lui est associé.

Opération « Calcul prix » : L’ensembledes produits de la commande est parcouruet les prix respectifs sont cumulés. Lestaxes sont calculées en fonction de lataxation locale, puis les frais de livraisonsont ajoutés.

confirmer_commande_complete ()

Opération « Ajout d’un produit » :

???

initier_commande()

© Petko Valtchev Université de Montréal Novembre 2005 12

DSS & contrats Gabarits (suite)

un nouvel objet de type LigneCommande est créé

il est associé à l’objet Commande (création d’un lien)

la valeur de l’attribut quantité est positionnée

Post-condition:

Une commande est en cours et l’objet Commande est déjà

créé et connuPré-condition:

CdU“Commande produits”Références croisées:

“Ajout d’un produit”Opération:

Page 7: IFT 3901 Analyse et Conception des Logicielspift3901/Slides/A05-S07... · 2005. 11. 30. · Opération « Initiation commande »: un nouvel objet de type Coomande est crée et l’objet

7

© Petko Valtchev Université de Montréal Novembre 2005 13

DSS & contrats Contrats, le contexte