Date post: | 06-Apr-2018 |
Category: |
Documents |
Upload: | swissi-ouma |
View: | 219 times |
Download: | 0 times |
of 132
8/2/2019 SpecificationEtConceptionUML - Copie
1/132
Master MIDO
2me anne
Spcification et Conception en UML
Maude Manouvrier
Spcifications initiales
Analyse Conception du systme
Conception des classes
8/2/2019 SpecificationEtConceptionUML - Copie
2/132
Bibliographie Modlisation et conception orientes objet avec UML2 de Michael
Blaha et James Rumbaugh, 2me dition, Pearson EducationFrance, 2005 Traduction de louvrage Applying Object-OrientedModeling and Design with UML, Prentice Hall 2005
The Unified Modeling Language Reference Manual, 2nd Edition deJames Rumbaugh, Ivar Jacobson et Grady Booch, AddisonWesley Professional, 2004 Traduction franaise : UML 2.0,Guide de Rfrence, CampusPress
Le guide de lutilisateur UML de Grady Booch, James Rumbaughet Ivar Jacobson, Eyrolles, 2000 Traduction de louvrage TheUnified Modeling Language User Guide; Addison-Wesley, 1998
UML 2 par la pratique Etudes de cas et exercices corrigs dePascal Roques, 4me dition, Eyrolles, 2005
Transparents de cours de Robert Ogor : http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Transparents de cours de Marie-Jos BlinMaude Manouvrier - Univ. Paris Dauphine 2
8/2/2019 SpecificationEtConceptionUML - Copie
3/132
Historique
Maude Manouvrier - Univ. Paris Dauphine 3
OMT(Object ModelingTechnique - 1991)
de James Rumbaugh
OOSEde Ivar Jacobson
Notationde Grady Booch
UML - Unified Modeling LanguageStandard de modlisation objet
adopt en 1997 par lObject Management Group (OMG)
Rvision des spcifications initiales en 2001 UML 1
Approbation de la version UML 2.0 en 2004
8/2/2019 SpecificationEtConceptionUML - Copie
4/132
Stades de dveloppement (1/4) Spcifications initiales du systme : dfinition et
formulation des exigences provisoires
Analyse : Comprhension en profondeur des exigences
partir de la construction de modles Conception du systme : Mise au point de larchitecture du
systme en instaurant les politiques de conception desclasses
Conception des classes : Augmentation et ajustement des modles du monde rel
issus de lanalyse en vue dune compatibilit avec une
implmentation informatique Dtermination des algorithmes des oprations
Implmentation : Traduction de la conception en code
Test : Vrification du bon fonctionnement de lapplicationMaude Manouvrier - Univ. Paris Dauphine repris de [BR05] 4
8/2/2019 SpecificationEtConceptionUML - Copie
5/132
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
8/2/2019 SpecificationEtConceptionUML - Copie
6/132
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
8/2/2019 SpecificationEtConceptionUML - Copie
7/132
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
8/2/2019 SpecificationEtConceptionUML - Copie
8/132
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
8/2/2019 SpecificationEtConceptionUML - Copie
9/132
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
Saccorder sur la manire dont le systmedoit tre construit
8/2/2019 SpecificationEtConceptionUML - Copie
10/132
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
Saccorder sur la manire dont le systmedoit tre construit
Coder le rsultat de la conception
8/2/2019 SpecificationEtConceptionUML - Copie
11/132
Stades de dveloppement (2/4)
Maude Manouvrier - Univ. Paris Dauphine 5Repris de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Spcifications initiales
Analyse
Conception
Implmentation
Test
Cahier des charges
Saccorder sur ce qui doit tre fait dans le systme
Comprendre les besoins et les dcrire
Saccorder sur la manire dont le systmedoit tre construit
Coder le rsultat de la conception
Tester si le systme est conforme aucahier des charges
8/2/2019 SpecificationEtConceptionUML - Copie
12/132
Stades de dveloppement (3/4)
laboration et optimisation des modles enpermanence
Application des mmes concepts et de la mmenotation tout au long du processus mais avec deschangements de points de vue
Premiers stades axs sur les exigences mtier
Stades ultrieurs axs sur les ressources
informatiques Grande partie de leffort pour lanalyse et la
conception
Maude Manouvrier - Univ. Paris Dauphine -repris de [BR05] 6
8/2/2019 SpecificationEtConceptionUML - Copie
13/132
Stades de dveloppement (4/4)
Plusieurs styles de cycle de vie : Dveloppement en cascade :
Squence linaire des diffrents stades Pas de retour en arrire Passage au stade suivant aprs la fin complte du stade prcdent Pour des applications bien comprises avec des exigences bien stabilises et
des rsultats danalyse et de conception prvisibles Pas de livraison dun systme utilisable avant la finalisation complte du
systme Dveloppement itratif:
Dveloppement en cascade du noyau du systme largissement du primtre du systme par ajout successif de proprits et
de comportement aux objets existants et de nouveaux types dobjets Plusieurs itrations avant le livrable final chaque itration comprenant un
ensemble complet de stades Pas de construction du systme dans son intgralit en une seule fois Valable pour la plupart des applications
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 7
8/2/2019 SpecificationEtConceptionUML - Copie
14/132
Spcifications initiales (1/3) Objectif : se forger une ide globale du systme en
diffrant les dtails
Questions se poser [BR05] : A qui lapplication est-elle destine ?
Quels problmes lapplication rsoudra-t-elle ?
Quelles seront les conditions dutilisation de lapplication ?
Quand lapplication est-elle attendue ?
Pourquoi lapplication est-elle attendue ?
Comment lapplication fonctionnera-t-elle ?
Maude Manouvrier - Univ. Paris Dauphine 8
8/2/2019 SpecificationEtConceptionUML - Copie
15/132
Spcifications initiales (2/3)
Exigences : description de la faon dont un systmese comporte du point de vue utilisateur
Systme = bote noire dont seul le comportementexterne importe
Rdaction dun nonc des exigences Exigences : souvent ambigus, incompltes voire
incohrentes, parfois fausses
nonc : Point de dpart et moyen de mieuxcomprendre le problme mais document non immuable
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 9
8/2/2019 SpecificationEtConceptionUML - Copie
16/132
Spcifications initiales (3/3) Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
8/2/2019 SpecificationEtConceptionUML - Copie
17/132
Spcifications initiales (3/3) Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences Primtre du systme Dfinition de ce qui est exig Contexte de lapplication Hypothses Besoins de performances
8/2/2019 SpecificationEtConceptionUML - Copie
18/132
Spcifications initiales (3/3) Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences Primtre du systme Dfinition de ce qui est exig Contexte de lapplication Hypothses Besoins de performances
Conception
Approche gnrale Algorithmes Structures de donnes
Architecture Optimisation Planification des ressources
8/2/2019 SpecificationEtConceptionUML - Copie
19/132
Spcifications initiales (3/3) Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences Primtre du systme Dfinition de ce qui est exig Contexte de lapplication Hypothses Besoins de performances
Conception
Approche gnrale Algorithmes Structures de donnes
Architecture Optimisation Planification des ressources
Implmentation Plates-formes Spcifications matrielles Bibliothques logicielles Standards dinterface
8/2/2019 SpecificationEtConceptionUML - Copie
20/132
Spcifications initiales (3/3) Prciser ce qui doit tre ralis et non comment
limplmentation doit le raliser [BR05] :
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 10
Exigences Primtre du systme Dfinition de ce qui est exig Contexte de lapplication Hypothses Besoins de performances
Conception
Approche gnrale Algorithmes Structures de donnes
Architecture Optimisation Planification des ressources
Implmentation Plates-formes Spcifications matrielles Bibliothques logicielles Standards dinterface
! Ne pas prendre trop tt dedcisions de conception ou
dimplmentation
8/2/2019 SpecificationEtConceptionUML - Copie
21/132
Exemple trait en coursSystme de gestion de demandes de formation En vue de lamlioration de son systme dinformation, souhait dune entreprise
de modliser le processus de formation des ses employs afin dautomatisercertaines tches
Initialisation du processus de formation la rception dune demande de formation par
le responsable formation de la part dun employ. Analyse de la demande par leresponsable et transmission de laccord ou du dsaccord lintress. En cas daccord,
Recherche par le responsable de formation, dans le catalogue des formationsagres, dun stage correspondant la demande.
Transmission lemploy demandeur du contenu de la formation correspondant la demande et du planning des sessions.
Aprs validation auprs de lemploy, inscription auprs de lorganisme deformation de lemploy par le responsable la session de formation choisie.
En cas dempchement de lemploy, obligation de lemploy dinformer le responsableau plut tt pour annuler linscription ou la demande.
A la fin de la formation, remise par le participant au responsable dune fichedapprciation de la formation et dun document justifiant sa prsence au cours de laformation.
Contrle, par la responsable, de la facture envoye par lorganisme de formation avanttransmission au service comptable.Maude Manouvrier - Univ. Paris Dauphine repris de [Roq05] 11
8/2/2019 SpecificationEtConceptionUML - Copie
22/132
Analyse
tape du dveloppement o on examine leproblme rel pour comprendre ses besoins
sans planifier limplmentation [BR05]
Concentration sur la cration de modles
Analyse du domaine Modles du domaine
Analyse de lapplication Modles de lapplication
Maude Manouvrier - Univ. Paris Dauphine 12
8/2/2019 SpecificationEtConceptionUML - Copie
23/132
Analyse du domaine (1/21)
Objectif : obtenir un modle prcis, concis,comprhensible et correct du monde rel
Dbut dune comprhension plus claire desexigences
Mise en vidence des ambiguts et desincohrences de lnonc du problme
Abstraction des caractristiques essentielles delnonc du problme dans un modle
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 13
8/2/2019 SpecificationEtConceptionUML - Copie
24/132
Analyse du domaine (2/21)
Modle de classes du domaine Description des classes du monde rel et de leurs
relations
tapes suivre [BR05] :1. Identifier les classes et conserver les classes pertinentes
2. Prparer un dictionnaire de donnes
3. Identifier les associations et conserver les associationspertinentes
4. Identifier les attributs des objets et les liens
5. Organiser et simplifier les classes en utilisant lhritage
6. Vrifier que tous les chemins daccs existent pour lesrequtes probables
7. Itrer et affiner le modle
8. Rexaminer le niveau dabstraction
9. Regrouper les classes enpackageMaude Manouvrier - Univ. Paris Dauphine 14
8/2/2019 SpecificationEtConceptionUML - Copie
25/132
Analyse du domaine (3/21)
1. Identifier les classes : trouver les classes pertinentes pour les objets du domaine delapplication
Conseils de [BR05] :
Au dpart, ne pas tre trop slectif et noter tout
ce qui vient lesprit Ne pas se soucier trop de lhritage ni des
classes de haut niveau
Maude Manouvrier - Univ. Paris Dauphine 15
Exigencessources
Classescandidates
ClassesExtractiondes noms
liminationdes classes
inappropries
8/2/2019 SpecificationEtConceptionUML - Copie
26/132
Analyse du domaine (4/21)
1. Identifier les classes : cas du systme de gestionde demandes de formation
Maude Manouvrier - Univ. Paris Dauphine - adapt de [Roq05] 16
Systme dinformation Processus de formation
Employ
Responsable de formation
Demande de formation
Accord Dsaccord Catalogue de formations agres Stage
Organisme de formation
Planning Session
Inscription
Empchement Annulation
Apprciation de stage Justificatif de prsences Facture
Service Comptable
Contenu de formationTransmission
Intress
Recherche
Validation Responsable
Participant
AnalyseInitialisation
Obligation Remise
Contrle
A l d d i (5/21)
8/2/2019 SpecificationEtConceptionUML - Copie
27/132
Analyse du domaine (5/21)
1. Conserver les classes pertinentes Parlimination des :
Classes redondantes : classes exprimant le mme concept /
Conservation du nom le plus vocateur Classes sans intrt : classe sans lien avec le contexte ou ne faisant
pas partie du primtre du logiciel
Classes vagues : classes ayant des frontires mal dfinies ou une
porte trop large Attributs : re-formulation des noms dcrivant originellement des
objets individuels sous la forme dattributs
Oprations : appliques des objets et non manipules en tant
quoprations Rles : reflet de la nature intrinsque dune classe par son nom et non
du rle de la classe dans une association
lments dimplmentation : lments trangers au monde rel
Classes drivesMaude Manouvrier - Univ. Paris Dauphine repris de [BR05] 17
A l d d i (6/21)
8/2/2019 SpecificationEtConceptionUML - Copie
28/132
Analyse du domaine (6/21)
2. Prparer un dictionnaire de donnes : pourviter les trop nombreuses interprtations
Dcrire prcisment chaque classe par un paragraphe
Dcrire la porte de chaque classe dans le problmecourant, en incluant toutes les hypothses et lesrestrictions quant son utilisation [BR05]
Dcrire galement les attributs, associations, oprationset valeurs numres
Maude Manouvrier - Univ. Paris Dauphine 18
A l d d i (6/21)
8/2/2019 SpecificationEtConceptionUML - Copie
29/132
Analyse du domaine (6/21)
2. Prparer un dictionnaire de donnes : pourviter les trop nombreuses interprtations
Dcrire prcisment chaque classe par un paragraphe
Dcrire la porte de chaque classe dans le problmecourant, en incluant toutes les hypothses et lesrestrictions quant son utilisation [BR05]
Dcrire galement les attributs, associations, oprationset valeurs numres
Maude Manouvrier - Univ. Paris Dauphine 18
Demande de formation : Email envoy par un employ auresponsable de formation, prcisant un thme, une formation ou unesession particulire de formation issues du catalogue. La demande estenregistre par la systme aprs transmission au responsable de
formation.
A l d d i (7/21)
8/2/2019 SpecificationEtConceptionUML - Copie
30/132
Analyse du domaine (7/21)
3. Identifier les associations et conserver lesassociations pertinentes
Parlimination des :
Associations non pertinentes ou relevant delimplmentation
Actions
Associations ternaires par dcomposition associations
binaires, associations qualifies ou classes-associations Associations drives : associations dfinies en termes
dautres associations (car redondance)
Maude Manouvrier - Univ. Paris Dauphine - modlede classe repris de [Roq05] 19
A l d d i (7/21)
8/2/2019 SpecificationEtConceptionUML - Copie
31/132
Analyse du domaine (7/21)
3. Identifier les associations et conserver lesassociations pertinentes
Parlimination des :
Associations non pertinentes ou relevant delimplmentation
Actions
Associations ternaires par dcomposition associations
binaires, associations qualifies ou classes-associations Associations drives : associations dfinies en termes
dautres associations (car redondance)
Maude Manouvrier - Univ. Paris Dauphine - modlede classe repris de [Roq05] 19Demande de formation
SessionEmploy
Inscription
est inscrit
est
satisfaitepar*
1* *
1
0..1-demandeur
A l d d i (7/21)
8/2/2019 SpecificationEtConceptionUML - Copie
32/132
Analyse du domaine (7/21)
3. Identifier les associations et conserver lesassociations pertinentes
Parlimination des :
Associations non pertinentes ou relevant delimplmentation
Actions
Associations ternaires par dcomposition associations
binaires, associations qualifies ou classes-associations Associations drives : associations dfinies en termes
dautres associations (car redondance)
Maude Manouvrier - Univ. Paris Dauphine - modlede classe repris de [Roq05] 19Demande de formation
SessionEmploy
Inscription
est inscrit
estsatisfaitepar*
1* *
1
0..1-demandeur!
Toutes les associationsformant plusieurschemins entre des classesnindiquent pas uneredondance
A l d d i (8/21)
8/2/2019 SpecificationEtConceptionUML - Copie
33/132
Analyse du domaine (8/21)
3. Identifier les associations et conserver lesassociations pertinentes (suite)
Prcision de la smantique des associations :
viter les associations mal nommes : choix desnoms primordial pour la comprhension
Indiquer les noms dextrmits dassociations
Identifier les associations qualifies
Prciser les multiplicits Ajouter les associations manquantes
Transformer certaines associations en agrgations
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 20
SessionFormation1 0..*
NumSession
Analyse du domaine (9/21)
8/2/2019 SpecificationEtConceptionUML - Copie
34/132
Analyse du domaine (9/21)
4. Trouver les attributs et conserver les attributspertinents Conseils de [BR05] :
Ne pas pousser la recherche des attributs lextrme. Ne considrer que les attributs pertinents pour lapplication
Rechercher en premier les attributs les plus importants ;repousser les dtails plus tard
Omettre les attributs drivs Rechercher les attributs des associations
limination des attributs inutiles ou incorrects selon lescritres suivants [BR05] : Diffrencier les objets de leurs valeurs Utiliser des qualificateurs Ne pas prciser les attributs identificateurs excepts ceux
du domaine de lapplication liminer les valeurs internes et les dtails fins
Maude Manouvrier - Univ. Paris Dauphine 21
Analyse du domaine (9/21)
8/2/2019 SpecificationEtConceptionUML - Copie
35/132
Analyse du domaine (9/21)
5. Organiser et simplifier les classes en utilisantlhritage Pargnralisation ascendante : en recherchant les classes ayant
des attributs, des associations ou des oprations similaires Par spcialisation descendante : en vitant les raffinements
excessifs
Gnralisation vs. numration
Maude Manouvrier - Univ. Paris Dauphine - modle de classerepris de [Roq05] 22
Analyse du domaine (9/21)
8/2/2019 SpecificationEtConceptionUML - Copie
36/132
Analyse du domaine (9/21)
5. Organiser et simplifier les classes en utilisantlhritage Pargnralisation ascendante : en recherchant les classes ayant
des attributs, des associations ou des oprations similaires Par spcialisation descendante : en vitant les raffinements
excessifs
Gnralisation vs. numration
Maude Manouvrier - Univ. Paris Dauphine - modle de classerepris de [Roq05] 22
Demande de Formation
dateEmission : Date
dateValidit : Date
Accord
Motif : String
Dsaccord
Rponse
date : Datedonne lieu
1 0..1
Analyse du domaine (10/21)
8/2/2019 SpecificationEtConceptionUML - Copie
37/132
Analyse du domaine (10/21)
6. Tester les chemins daccs Penser aux questions souhaites
Vrifier quil ny a aucune question utile sans rponse
Maude Manouvrier - Univ. Paris Dauphine modle de classe repris de [Roq05] 23
Analyse du domaine (10/21)
8/2/2019 SpecificationEtConceptionUML - Copie
38/132
Analyse du domaine (10/21)
6. Tester les chemins daccs Penser aux questions souhaites
Vrifier quil ny a aucune question utile sans rponse
Maude Manouvrier - Univ. Paris Dauphine modle de classe repris de [Roq05] 23
Rponse
date : Date1
-demandeur1
Session(from Catalogue)
est inscrit
0..*
0..* 0..*
1
0..1
Motif : String
Dsaccord
donnelieu
Employ
nom : Stringprnom : String
service : Stringfonction : Stringemail : Email
Inscription
date : Date
estsatisfaite
par
0..1
Demande de Formation
dateEmission : DatedateValidit : Date
ElementCatalogue(from Catalogue)
Accord
conce
rne
0..*
1
-participant
A l d d i (11/21)
8/2/2019 SpecificationEtConceptionUML - Copie
39/132
Analyse du domaine (11/21)
7. Itrer sur le modle de classes [BR05]
Pas dexactitude du modle la premire passe
Ncessit de raliser des itrations continuelles
Possibilit davoir diffrentes parties du modle diffrents stades dachvement
Possibilit de revenir un stade antrieur pour
corriger une anomalie dtecte Raffinements probables aprs lachvement des
modles dtats et dinteractions
Maude Manouvrier - Univ. Paris Dauphine 24
Analyse du domaine (12/21)
8/2/2019 SpecificationEtConceptionUML - Copie
40/132
Analyse du domaine (12/21)
7. Itrer sur le modle de classes [BR05] (suite) Recherche des classes manquantes Scission de classe ayant
- Des attributs et des oprations disparates- Plusieurs rles
Ajout de classe- Cration de super-classe en cas dassociations de mme but et de mme
nom- Transformation dune association en classe en cas dassociation ayant un
rle faonnant substantiellement la smantique dune classe Recherche dassociations manquantes en cas de chemins daccs manquantspour rpondre aux requtes
Recherche des lments superflus Classes avec peu dattributs, doprations ou dassociations
Associations redondantes Ajustement des attributs et des associations
Dplacement dune association en cas de noms dextrmits dassociationavec un sens trop large ou trop troit
Transformation dune association en association qualifie en cas de ncessitdaccs un objet par lintermdiaire de la valeur dun attribut
Maude Manouvrier - Univ. Paris Dauphine 25
Analyse du domaine (13/21)
8/2/2019 SpecificationEtConceptionUML - Copie
41/132
Analyse du domaine (13/21)8. lever le niveau dabstraction
Aprs une prise en compte de lnonc au pied de la lettre ,ncessit dlever le niveau dabstraction pour :
Augmenter la souplesse du modle
Rduire le nombre de classes Amlioration du modle par lutilisation de patterns danalyse
9. Grouper les classes enpackages
Regroupement des lments (classes, associations, gnralisationet autres packages de niveau infrieur) ayant un thme commun oufortement coupls afin de plus facilement tracer et visualiser lemodle
Maude Manouvrier - Univ. Paris Dauphine packages repris de [Roq05] 26
Analyse du domaine (13/21)
8/2/2019 SpecificationEtConceptionUML - Copie
42/132
Analyse du domaine (13/21)8. lever le niveau dabstraction
Aprs une prise en compte de lnonc au pied de la lettre ,ncessit dlever le niveau dabstraction pour :
Augmenter la souplesse du modle
Rduire le nombre de classes Amlioration du modle par lutilisation de patterns danalyse
9. Grouper les classes enpackages
Regroupement des lments (classes, associations, gnralisationet autres packages de niveau infrieur) ayant un thme commun oufortement coupls afin de plus facilement tracer et visualiser lemodle
Maude Manouvrier - Univ. Paris Dauphine packages repris de [Roq05] 26
ComptabilitService comptable ;
Facture
Demandes de formationDemande de formation ;
Employ ; Inscription ; Rponse ;
Accord; Dsaccord
Catalogue de formationsCatalogue ; Organisme de
formation ; Formation; SessionEntits
mtier
8/2/2019 SpecificationEtConceptionUML - Copie
43/132
Analyse du domaine (15/21)
8/2/2019 SpecificationEtConceptionUML - Copie
44/132
Analyse du domaine (15/21)
1. Identifier les classes ayant des tatsRecherche des classes ayant un cycle de vie distinct(classes caractrises par une progression ou reprsentantun comportement cyclique)
2. Trouver les tats
Recherche des tats partir des diffrences qualitativesdans le comportement, les attributs ou les associations desclasses dynamiques
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 28
Analyse du domaine (15/21)
8/2/2019 SpecificationEtConceptionUML - Copie
45/132
Analyse du domaine (15/21)
1. Identifier les classes ayant des tatsRecherche des classes ayant un cycle de vie distinct(classes caractrises par une progression ou reprsentantun comportement cyclique)
2. Trouver les tats
Recherche des tats partir des diffrences qualitativesdans le comportement, les attributs ou les associations desclasses dynamiques
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 28
Demande de formation
Analyse du domaine (15/21)
8/2/2019 SpecificationEtConceptionUML - Copie
46/132
Analyse du domaine (15/21)
1. Identifier les classes ayant des tatsRecherche des classes ayant un cycle de vie distinct(classes caractrises par une progression ou reprsentantun comportement cyclique)
2. Trouver les tats
Recherche des tats partir des diffrences qualitativesdans le comportement, les attributs ou les associations desclasses dynamiques
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 28
Demande de formation
Cration EnAttenteInscriptionEnAttenteDeRponse
Satisfaite Ralise
Analyse du domaine (16/21)
8/2/2019 SpecificationEtConceptionUML - Copie
47/132
Analyse du domaine (16/21)
3. Trouver les vnements Recherche des vnements dclenchant les transitions
entre les tats
Capturer les informations vhicules par un vnementsous la forme dune liste de paramtres
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 29
Analyse du domaine (16/21)
8/2/2019 SpecificationEtConceptionUML - Copie
48/132
y ( / )
3. Trouver les vnements Recherche des vnements dclenchant les transitions
entre les tats
Capturer les informations vhicules par un vnementsous la forme dune liste de paramtres
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05] 29
valider / envoyer email au responsablerefuser / envoyer refus lemploy
accepter / envoyer accord lemploy
inscrire / envoyer confirmation inscription lemploy
Analyse du domaine (17/21)
8/2/2019 SpecificationEtConceptionUML - Copie
49/132
y ( )
4. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine -diagramme repris de [Roq05] 30
Analyse du domaine (17/21)
8/2/2019 SpecificationEtConceptionUML - Copie
50/132
y ( )
4. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine -diagramme repris de [Roq05] 30
Cration
EnAttenteInscription
EnAttenteDeRponse
Satisfaite
valider / envoyer
email au responsablerefuser / envoyerrefus lemploy
accepter / envoyer email daccord lemployavec contenu formation et planning des sessions
inscrire / envoyer confirmationinscription lemploy
Refuse
Ralise
finSession
Version 1 :Diagrammedtats initial
Analyse du domaine (18/21)
8/2/2019 SpecificationEtConceptionUML - Copie
51/132
y ( )
4. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine-diagramme repris de [Roq05] 31
RechercheSessiondo / envoyer contenu formation et planning session lemploy
Cration
EnAttenteInscription
EnAttenteDeReponse
Satisfaite
valider / envoyeremail au responsable
refuser / envoyerrefus lemploy
accepter / envoyer email daccord lemploy
choixDeSession (IdSession) / envoyer
inscription lorganisme de formation
inscrire / envoyer confirmationinscription lemploy
Refuse
finSession
Ralise
Version 2
Analyse du domaine (19/21)
8/2/2019 SpecificationEtConceptionUML - Copie
52/132
y ( )
5. valuer les diagrammes dtats [BR05] Examiner chaque modle dtats et vrifier la
connexion de tous les tats
Prter une attention particulire aux chemins daccs(y-a-t-il un chemin conduisant de ltat initial un tatfinal ?)
Vrifier que la prsence des variations attendues En cas de classe cyclique, vrifier la prsence de la
boucle principale
Ajouter les tats manquants (identifis par les cheminsmanquants)
Maude Manouvrier - Univ. Paris Dauphine 32
Analyse du domaine (20/21)
8/2/2019 SpecificationEtConceptionUML - Copie
53/132
y ( )
5. valuer les diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine diagramme repris de [Roq05] 33
RechercheSessiondo / envoyer contenu formation et planning session lemploy
Cration
EnAttenteInscription
EnAttenteDeReponse
Satisfaite
valider / envoyer
email au responsablerefuser / envoyerrefus lemploy
accepter / envoyer email daccord lemploy
choixDeSession (IdSession) / envoyercommande lorganisme de formation
inscrire / envoyer confirmationinscription lemploy
Refuse
finSession
Ralise
VersionFinale
A
nnule
annuler
annuler
annuler
annuler / envoyer annulation lorganisme de formation
annulerSession / envoyerannulation employ
Analyse du domaine (21/21)
8/2/2019 SpecificationEtConceptionUML - Copie
54/132
y
Modle dinteractions : rarement intressant pour lanalysedu domaine
Itration de lanalyse [BR05] Ncessit de raliser plusieurs itrationspour obtenir un modle
complet
Affinage de lanalyse au fur et mesure de lamlioration de lacomprhension
Vrification du rsultat avec le rdacteur de lnonc du problmeet les experts du domaine
Analyse vs. conception
Utilisation du modle danalyse comme base pour larchitecture, laconception et limplmentation du systme
Difficult pratique pour viter une contamination du modledanalyse par limplmentation
Maude Manouvrier - Univ. Paris Dauphine 34
Analyse de lapplication (1/28)
8/2/2019 SpecificationEtConceptionUML - Copie
55/132
Objectif : ajouter les artefacts majeurs au modle dudomaine
Concentration de lattention sur les dtails de lapplicationet prise en compte des interactions
tapes suivre pour le modle dinteractions [BR05] :1. Dterminer la frontire du systme2. Trouver les acteurs
3. Trouver les cas dutilisation4. Trouver les vnements initiaux et finaux5. Rdiger les scnarios standards6. Ajouter des scnarios de variations et dexceptions
7. Trouver les vnements externes8. Prparer des diagrammes dactivits pour les cas
dutilisation complexes9. Organiser les acteurs et les cas dutilisation
10. Vrifier avec le modle de classes du domaineMaude Manouvrier - Univ. Paris Dauphine 35
Analyse de lapplication (2/28)
8/2/2019 SpecificationEtConceptionUML - Copie
56/132
1. Dterminer la frontire du systme Ncessit de bien connatre le primtre prcis de
lapplication pour bien spcifier ses fonctionnalits
Durant lanalyse : dtermination de la finalit dusystme et de son aspect pour les utilisateurs
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 36
Analyse de lapplication (2/28)
8/2/2019 SpecificationEtConceptionUML - Copie
57/132
1. Dterminer la frontire du systme Ncessit de bien connatre le primtre prcis de
lapplication pour bien spcifier ses fonctionnalits
Durant lanalyse : dtermination de la finalit dusystme et de son aspect pour les utilisateurs
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 36
Le systme dvelopper doit grer les demandes de formation desemploys dune entreprise. Les formations agres sont disponiblesdans un ou plusieurs catalogues. La gestion et la mise jour descatalogues ne fait pas partie des fonctionnalits du systme. De mme,
le suivi de la prsence et du bon droulement des sessions ne font pas partie du systme. En revanche, le systme doit permettredautomatiser les actions suivantes : Rdiger une demande de formation; valuer une demande de formation; Chercher un stage;Inscrire un employ un stage; Commander et payer un stage.
Analyse de lapplication (3/28)
8/2/2019 SpecificationEtConceptionUML - Copie
58/132
2. Trouver les acteurs Identification des objets externes agissant avec le
systme
Recherche darchtypes de comportement (et non pasdindividus)
Correspondance possible entre un acteur et plusieursobjets extrieurs ou un objet extrieur et plusieursacteur (un acteur par facette)
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 37
Analyse de lapplication (3/28)
8/2/2019 SpecificationEtConceptionUML - Copie
59/132
2. Trouver les acteurs Identification des objets externes agissant avec le
systme
Recherche darchtypes de comportement (et non pasdindividus)
Correspondance possible entre un acteur et plusieursobjets extrieurs ou un objet extrieur et plusieursacteur (un acteur par facette)
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 37
Employ Responsable deformation
Organisme deformation
Servicecomptable
Analyse de lapplication (4/28)3 T l d ili i
8/2/2019 SpecificationEtConceptionUML - Copie
60/132
3. Trouver les cas dutilisation Dresser, pour chaque acteur, la liste de ses faons
fondamentalement diffrentes dutiliser le systme
Reprsenter un cas dutilisation pour chaque type de servicefourni par le systme
Conserver un niveau de dtails similaire pour tous les casdutilisation
Tracerun diagramme de cas dutilisation prliminaire
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 38
Analyse de lapplication (4/28)3 T l d tili ti
8/2/2019 SpecificationEtConceptionUML - Copie
61/132
3. Trouver les cas dutilisation Dresser, pour chaque acteur, la liste de ses faons
fondamentalement diffrentes dutiliser le systme
Reprsenter un cas dutilisation pour chaque type de servicefourni par le systme
Conserver un niveau de dtails similaire pour tous les casdutilisation
Tracerun diagramme de cas dutilisation prliminaire
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 38
Employ
Responsable de
formation
Demander une formation
Grer ses demandes
Traiter les demandes
SGDF
Analyse de lapplication (5/28)4 T l t i iti t fi
8/2/2019 SpecificationEtConceptionUML - Copie
62/132
4. Trouver les vnements initiaux et finaux Partition des fonctionnalits du systme en units discrtes
(les cas dutilisation) indiquant les acteurs impliqus maispas de reprsentation claire du comportement
Comprhension du comportement partir de lacomprhension des squences dexcution de chaque casdutilisation
Recherche des vnements initiaux et finaux de chaque casdutilisation
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 39
Analyse de lapplication (5/28)4 T l t i iti t fi
8/2/2019 SpecificationEtConceptionUML - Copie
63/132
4. Trouver les vnements initiaux et finaux Partition des fonctionnalits du systme en units discrtes
(les cas dutilisation) indiquant les acteurs impliqus maispas de reprsentation claire du comportement
Comprhension du comportement partir de lacomprhension des squences dexcution de chaque casdutilisation
Recherche des vnements initiaux et finaux de chaque casdutilisation
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 39
Demander une formation :
vnement initial : Saisie dune demande par un employvnement final : Enregistrement de la demandeGrer ses demandes :
vnement initial : Ouverture dune demande existante par lemployvnement final : (1) Annulation de la demande ou (2) Enregistrement
des modifications
8/2/2019 SpecificationEtConceptionUML - Copie
64/132
Analyse de lapplication (6/28)5 Prparer des scnarios standards
8/2/2019 SpecificationEtConceptionUML - Copie
65/132
5. Prparer des scnarios standards Prparation dun ou plusieurs dialogues types pour avoir
une ide du comportement attendu du systme
Illustration par des scnarios des interactions importantes,des formats daffichage externe et des changesdinformations
Ne pas rdiger le cas gnral directement, mais penser en
terme dexemples dinteractions Commencer par rdiger les scnarios des cas normaux
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 40
Albert Gamotte (employ) se connecte au systme. Il va dans le menu Crer une demande . La date du jour est automatiquement affecte lademande. Albert Gamotte choisit parmi les thmes disponibles le thme Formation UML 2 . Il enregistre sa demande et se dconnecte.
Exemple de scnario pour le cas dutilisation Demander une formation
Analyse de lapplication (7/28)
8/2/2019 SpecificationEtConceptionUML - Copie
66/132
6. Ajouter des scnarios de variations et dexceptions Considrer les cas particuliers tels que les entres omises,
les valeurs minimales et maximales, les valeurs dupliques
Prendre en compte les cas derreur (ex. valeurs invalides,absence de rponse)
Envisager les interactions pouvant se superposer auxinteractions de base
Maude Manouvrier - Univ. Paris Dauphine exemple adapt de [Roq05] 41
Mot de passe de lemploy erron Serveur indisponible la connexion Connexion la base de donnes coupe Panne du serveur au moment de lenregistrement de la demande
Analyse de lapplication (8/28)
8/2/2019 SpecificationEtConceptionUML - Copie
67/132
7. Trouver les vnements externes Examiner les scnarios pour identifier les vnements
externes :
Entres Dcisions Interruption Interactions provenant ou diriges vers des
utilisateurs ou des quipements externes Regrouper les vnements ayant le mme effet sous un
mme nom (mme en cas de valeurs de paramtres
diffrentes) Prparer un diagramme de squences pour chaque
scnario
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 42
Analyse de lapplication (9/28)7 Trouver les vnements externes (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
68/132
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ Responsable deformation
system : SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibleschoisirFormation()
infos sessions
choisirSession()
validerDemande() enregistrerDemande
nouvelleDemande()
Analyse de lapplication (9/28)7 Trouver les vnements externes (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
69/132
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ Responsable deformation
system : SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibleschoisirFormation()
infos sessions
choisirSession()
validerDemande() enregistrerDemande
nouvelleDemande()
Boucle pourdemandes multiples
Analyse de lapplication (9/28)7 Trouver les vnements externes (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
70/132
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ Responsable deformation
system : SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibleschoisirFormation()
infos sessions
choisirSession()
validerDemande() enregistrerDemande
nouvelleDemande()
Boucle pourdemandes multiples
Opt.
Analyse de lapplication (9/28)7 Trouver les vnements externes (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
71/132
7. Trouver les vnements externes (exemple)
Maude Manouvrier - Univ. Paris Dauphine exemple repris de [Roq05] 43
Employ Responsable deformation
system : SGDF
{employ authentifi}
consulterCatalogue()
thmes
choisirThme()
formations du thme
sessions disponibleschoisirFormation()
infos sessions
choisirSession()
validerDemande() enregistrerDemande
nouvelleDemande()
Boucle pourdemandes multiples
Opt.
Opt.
Analyse de lapplication (10/28)
8/2/2019 SpecificationEtConceptionUML - Copie
72/132
8. Prparer des diagrammes dactivit pour lescas dutilisation complexe [BR05]
Utiliser des diagrammes dactivit pour documenter lalogique mtier pendant lanalyse
Ne pas utiliser les diagrammes dactivit comme uneexcuse pour commencer limplmentation
Maude Manouvrier - Univ. Paris Dauphine 44
Analyse de lapplication (11/28)8. Prparer des diagrammes dactivit pour les cas
dutilisation complexe (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
73/132
dutilisation complexe (exemple)
45
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaireSuivre formation
mettre facture
Contrler facturePayer facture
[demanderefuse] [demande
accepte]
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05]
Analyse de lapplication (11/28)8. Prparer des diagrammes dactivit pour les cas
dutilisation complexe (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
74/132
d utilisation complexe (exemple)
45
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaireSuivre formation
mettre facture
Contrler facturePayer facture
[demanderefuse] [demande
accepte]
Maude Manouvrier - Univ. Paris Dauphine - exemple repris de [Roq05]
:Employ :ResponsableDeFormation :OrganismeFormation :ServiceCompta
Analyse de lapplication (12/28)
8/2/2019 SpecificationEtConceptionUML - Copie
75/132
9. Organiser les acteurs et les cas dutilisation Pour les systmes de grande taille ou les systmes
complexes, organiser les cas dutilisation laide des
relations include et extend Possibilit dorganiser les acteurs par des
gnralisations
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] et exemple repris de [Ro05] 46
Employ
Responsable deformation
Demander une formation
Grer ses demandes
Traiter les demandes
Sidentifier
Consulter le catalogue
include
include
include
extend SGDF
Analyse de lapplication (13/28)
8/2/2019 SpecificationEtConceptionUML - Copie
76/132
10. Vrifier avec le modle de classes du domaine
Vrifier la cohrence entre le modle du domaine etcelui de lapplication
Examiner les scnarios pour sassurer que le modle du
domaine possde toutes les donnes ncessaires Vrifier que le modle du domaine couvre tous les
paramtres dvnements
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 47
Analyse de lapplication (14/28)10. Vrifier avec le modle de classes du domaine
(exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
77/132
(exemple)
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 48
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaire
mettre facture
Contrler facturePayer facture
[demanderefuse] [demande
accepte]
Suivre formation
Analyse de lapplication (14/28)10. Vrifier avec le modle de classes du domaine
(exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
78/132
(exemple)
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 48
Rdiger demande
Analyser demande
Chercher Stage
Slectionner sessions
Commander stage
Inscrire stagiaire
mettre facture
Contrler facturePayer facture
[demanderefuse] [demande
accepte]
Suivre formation
:DemandeDeFormation[EnAttenteDeRponse]
:DemandeDeFormation[EnAttenteInscription]
:DemandeDeFormation[Satisfaite]
:Commande
:Facture
:DemandeDeFormation
[Ralise]
:Evaluation
:Paiement
Diagramme dactivit duprocessus de formationavec flux dobjets
:DemandeDeFormation[Refuse]
:DemandeDeFormation
[Cration]
Analyse de lapplication (15/28)
8/2/2019 SpecificationEtConceptionUML - Copie
79/132
Construire un modle de classes dapplication [BR05] :
1. Spcifier les interfaces utilisateur
2. Dfinir les classes frontires
3. Dterminer les contrleurs
4. Vrifier avec le modle dinteractions
Maude Manouvrier - Univ. Paris Dauphine 49
Analyse de lapplication (16/28)1. Spcifier les interfaces utilisateurs (IHM)
8/2/2019 SpecificationEtConceptionUML - Copie
80/132
1. Spcifier les interfaces utilisateurs (IHM)
IHM = objet ou groupe dobjets fournissant auxutilisateurs dun systme un moyen cohrent daccsaux objets du domaine, aux commandes et aux optionsde lapplication [BR05]
Pendant lanalyse, mettre laccent sur le fluxdinformations et le contrle et non sur le format de
prsentation
Pendant lanalyse, considrer linterface de maniregrossire et ne pas se proccuper des diffrentes
manires dentrer les donnes Esquisser nanmoins un croquis de linterface pour
aider visualiser le fonctionnement de lapplication et
sassurer de ne rien avoir oubli dimportantMaude Manouvrier - Univ. Paris Dauphine repris de [BR05] 50
Analyse de lapplication (17/28)
8/2/2019 SpecificationEtConceptionUML - Copie
81/132
2. Dfinir les classes frontires Classe frontire (boundary) : classe modlisant les interactions
entre le systme et ses acteurs [Roq05]
Gestion, via une classe frontire, du format dune ou plusieurs
sources externes et conversion des informations pour lestransmettre au systme et inversement [BR05]
Utilit de dfinir des classes frontires pour isoler la partie internedu systme du monde extrieur [BR05]
Maude Manouvrier - Univ. Paris Dauphine 51
Analyse de lapplication (17/28)
8/2/2019 SpecificationEtConceptionUML - Copie
82/132
2. Dfinir les classes frontires Classe frontire (boundary) : classe modlisant les interactions
entre le systme et ses acteurs [Roq05]
Gestion, via une classe frontire, du format dune ou plusieurs
sources externes et conversion des informations pour lestransmettre au systme et inversement [BR05]
Utilit de dfinir des classes frontires pour isoler la partie internedu systme du monde extrieur [BR05]
Maude Manouvrier - Univ. Paris Dauphine 51
boundary cranGeneralEmploy
boundary cranDemandeFormation
Analyse de lapplication (17/28)
8/2/2019 SpecificationEtConceptionUML - Copie
83/132
2. Dfinir les classes frontires Classe frontire (boundary) : classe modlisant les interactions
entre le systme et ses acteurs [Roq05]
Gestion, via une classe frontire, du format dune ou plusieurs
sources externes et conversion des informations pour lestransmettre au systme et inversement [BR05]
Utilit de dfinir des classes frontires pour isoler la partie internedu systme du monde extrieur [BR05]
Maude Manouvrier - Univ. Paris Dauphine 51
boundary cranGeneralEmploy
boundary cranDemandeFormation
Apparition uniquement des souches des classes frontires dans lemodle dapplication, llaboration de ces classes ntant pasencore claire ce stade du processus de dveloppement [BR05]
!
Analyse de lapplication (18/28)3. Dterminer les contrleurs
8/2/2019 SpecificationEtConceptionUML - Copie
84/132
Contrleur : objet actif grant le contrle au seindune application [BR05]
Rception de signaux par le contrleur provenant du
monde extrieur ou des objets internes au systme Raction ces signaux
Invocation des oprations sur les objets du systme
Envoi de signaux au monde extrieur Un ou plusieurs contrleurs par application pour
squencer le contrle [BR05]
Liaison en gnral entre un contrleur et un casdutilisation particulier [Roq05]
Maude Manouvrier - Univ. Paris Dauphine 52
control ContrleurDemandeFormation
Analyse de lapplication (19/28)
8/2/2019 SpecificationEtConceptionUML - Copie
85/132
3. Dterminer les contrleurs (suite)
Maude Manouvrier - Univ. Paris Dauphine adapt de [Roq05] 53
Contrleur
DemandeDeFormation Employ
Objets mtier
IHM
clic
clicOn()
crerFormation()
vnement de bas niveau
vnement deniveau applicatif
Analyse de lapplication (20/28)
8/2/2019 SpecificationEtConceptionUML - Copie
86/132
4. Vrifier avec le modle dinteractions
Construire le modle de classes de lapplicationen revoyant les cas dutilisation et enrflchissant leur manire de fonctionner
A la fin de lanalyse, possibilit de de simulerun cas dutilisation avec les classes de deuxmodles (domaine et application)
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 54
Analyse de lapplication (21/28)4. Vrifier avec le modle dinteractions (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
87/132
Maude Manouvrier - Univ. Paris Dauphine repris de [Roq05] 55
Employ
boundary : cranGeneralEmploy
initialiser()
activer()
boundary : cranDemandeDeFormation
control : ContrleurDemandeFormation
: DemandeDeFormation
Crer
Demande ()
initialiserDemande(emp)
crer(emp)
Analyse de lapplication (22/28)
8/2/2019 SpecificationEtConceptionUML - Copie
88/132
Modle dtats de lapplication [BR05] :
1. Dterminer les classes dapplication ayant des tats
2. Identifier les vnements
3. Construire des diagrammes dtats
4. Comparer aux autres diagrammes dtats
5. Comparer au modle de classes
6. Comparer au modle dinteractions
Maude Manouvrier - Univ. Paris Dauphine 56
Analyse de lapplication (23/28)1. Dterminer les classes dapplication ayant des tats
8/2/2019 SpecificationEtConceptionUML - Copie
89/132
Bons candidats pour les diagrammes dtats : les classes delinterface et les classes contrleurs
2. Trouver les vnementstudier les scnarios pour en extraire les vnements
Maude Manouvrier - Univ. Paris Dauphine adapt de [BR05] 57
Analyse de lapplication (23/28)1. Dterminer les classes dapplication ayant des tats
8/2/2019 SpecificationEtConceptionUML - Copie
90/132
Bons candidats pour les diagrammes dtats : les classes delinterface et les classes contrleurs
2. Trouver les vnementstudier les scnarios pour en extraire les vnements
Maude Manouvrier - Univ. Paris Dauphine adapt de [BR05] 57
Contraste entre llaboration du modle dtats du
domaine et celui de lapplication [BR05] : Pour le modle du domaine : recherche des tats puis des vnements
Concentration du modle du domaine sur les donnesRegroupements de donnes significatifs qui forment des tats sujets des
vnements Pour le modle de lapplication : sens inverse
Concentration du modle dapplication sur les comportementslaboration de cas dutilisation relevant des vnements
!
Analyse de lapplication (24/28)3. Construire des diagrammes dtats [BR05]
8/2/2019 SpecificationEtConceptionUML - Copie
91/132
Construire un diagramme dtats pour chaque classedapplication ayant un comportement temporel
Envisager un diagramme de squence pour chaqueclasse ayant un comportement temporel
Diagramme dtats initial = squences dvnementset dtats
Correspondance entre chaque scnario oudiagramme de squences et un chemin dans lediagramme dtats
Diagramme dtats complet Prise en compte detous les scnarios et traitement de tous lesvnements pouvant affecter un tat
Maude Manouvrier - Univ. Paris Dauphine 58
Analyse de lapplication (25/28)
3 C i d di d ( l )
8/2/2019 SpecificationEtConceptionUML - Copie
92/132
3. Construire des diagrammes dtats (exemple)
Maude Manouvrier - Univ. Paris Dauphine 59
Inexploit
EnInitialisationDeDemande
initialiserDemande(emp)annulerDemande
crerDemande(emp)
valider(dateDuJour)
Diagrammedtats initialpour lecontrleur dedemandes deformation
( complter)
annulerDemande/ annuler les
variablesutilises
EnregistrementDeDemandedo / envoyer mail au responsableet afficher message lemploy
dconnexionEmploy
EnCrationDeDemande
Analyse de lapplication (26/28)4. Vrifier avec les autres diagrammes dtats
8/2/2019 SpecificationEtConceptionUML - Copie
93/132
Vrifier la compltude et la cohrence de chaque diagramme dtats etvrifier la cohrence entre les vnements de diffrents diagrammes
5. Vrifier avec le modle de classesVrifier la cohrence avec le modle de classes du domaine et celui delapplication
6. Vrifier avec le modle dinteractions Comparer le modle dtats avec les scnarios du modle
dinteractions
Simuler chaque chaque squence manuellement et vrifier le refletcorrect du comportement sur le diagramme dtats
En cas de dcouverte derreur, modifier le diagramme dtats ou lesscnarios
Identifier les chemins lgitimes dans le modle dtats (scnariossupplmentaires) et vrifier quils ont un sens
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 60
Analyse de lapplication (27/28)
Aj t d ti [BR05]
8/2/2019 SpecificationEtConceptionUML - Copie
94/132
Ajouter des oprations [BR05] :1. Oprations issues du modle de classes
Inutile de reprsenter les lectures ou critures des attributsou de liens dassociations = oprations implicites
2. Oprations issues des cas dutilisation
Correspondance entre les oprations et les activits3. Oprations aide-mmoire
Issues du comportement des classes dans le monde rel Indpendantes dune application particulire mais avec
un intrt intrinsque largissement de la dfinition dune classe au-del des
besoins stricts du problme immdiatMaude Manouvrier - Univ. Paris Dauphine 61
Analyse de lapplication (28/28)DemandeDeFormation
dateEmission: Date
dateValidit: Date
8/2/2019 SpecificationEtConceptionUML - Copie
95/132
Maude Manouvrier - Univ. Paris Dauphine 62
dateValidit: Date
lier(element:ElementCatalogue)valider(dateValidit:Date)refuser()
accepter()annuler()emettre(dateEmission:Date)emettreRefus()emettreAccord()emettreCommande()
4. Simplifier les oprations [BR05]
Rechercher les oprations similaires et le variations de forme dunemme opration largir la dfinition dune opration pour englober ses variations et les
cas particuliers Utiliser lhritage pour rduire le nombre doprations
Analyse de lapplication (28/28)DemandeDeFormation
dateEmission: Date
dateValidit: Date
8/2/2019 SpecificationEtConceptionUML - Copie
96/132
Maude Manouvrier - Univ. Paris Dauphine 62
dateValidit: Date
lier(element:ElementCatalogue)valider(dateValidit:Date)refuser()
accepter()annuler()emettre(dateEmission:Date)emettreRefus()emettreAccord()emettreCommande()
4. Simplifier les oprations [BR05]
Rechercher les oprations similaires et le variations de forme dunemme opration largir la dfinition dune opration pour englober ses variations et les
cas particuliers Utiliser lhritage pour rduire le nombre doprations
Oprations demise jourdattributs ou
de liens nedevant pasapparatre lorsde lanalyse
Analyse : rsum (1/2) Objectif de lanalyse : comprendre un problme afin
de pouvoir dfinir une conception correcte du
8/2/2019 SpecificationEtConceptionUML - Copie
97/132
de pouvoir dfinir une conception correcte dusystme
Capture des proprits essentielles du problme sansintroduire dartefacts dimplmentation
2 phases : Analyse du domaine :
Capture de la connaissance gnrale dune application
Traduction en modle de classes, parfois dtats, rarementdinteractions
Analyse de lapplication : Concentration sur les artefacts principaux, importants et visibles par
les utilisateurs et approuvs par les utilisateurs Domination du modle dinteractions, mais importance galement
des modles de classes et dtatsMaude Manouvrier - Univ. Paris Dauphine repris de [BR05] 63
Analyse : rsum (2/2)
Importance de labstraction tout au long de lanalyse [BR05] :
8/2/2019 SpecificationEtConceptionUML - Copie
98/132
Importance de l abstraction tout au long de l analyse [BR05] : Rflchir de manire large en construisant les modles
Ne pas lier lapplication des pratiques mtier arbitraires et pouvantchanger dans le temps
Essayer de trouver une souplesse anticipant les futures volutions etpermettant de sy adapter
Maude Manouvrier - Univ. Paris Dauphine schma repris de [Roq05] 64
Employ:Systme
crerDemande()
Employ:???
crerDemande()
:???
Systme vucomme unebote noire
Objets logicielsinternes au systme
Conception du systme (1/11)
Analyse : le quoi indpendamment du
8/2/2019 SpecificationEtConceptionUML - Copie
99/132
Analyse : le quoi, indpendamment ducomment
Conception (design) : le comment, avecdes prises de dcisions, dans un premiertemps de haut niveau, puis des niveaux de
plus en plus dtaills Conception du systme :
Premire tape de la conception Mise au point dune stratgie de haut niveau :
larchitecture du systme
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 65
Conception du systme (2/11)tapes a suivre [BR05] :
1 Estimer les performances du systme
8/2/2019 SpecificationEtConceptionUML - Copie
100/132
1. Estimer les performances du systme
2. Mettre au point un plan de rutilisation
3. Organiser le systme en sous-systmes
4. Identifier les questions de concurrence inhrentes auproblme
5. Allouer les sous-systmes aux quipements matriels
6. Grer le stockage des donnes7. Grer les ressources globales
8. Choisir une stratgie de contrle du logiciel
9. Traiter les cas limites10. Arbitrer les priorits
11. Slectionner un style architectural
Maude Manouvrier - Univ. Paris Dauphine 66
Conception du systme (3/11)
1 Estimer les performances du systmeObj tif dt i l f i bilit d t
8/2/2019 SpecificationEtConceptionUML - Copie
101/132
1. Estimer les performances du systme Objectif : dterminer la faisabilit du systme mettre des hypothses simplificatrices Se contenter dapproximations, destimations et de
suppositions si ncessaires
2. Mettre au point un plan de rutilisation Deux aspects de rutilisation :
Utilisation dlments existants Cration de nouveaux lments
Ncessit davoir de lexprience pour concevoir des
lments rutilisables Exemples dlments rutilisables : bibliothque,
frameworketpattern
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 67
Conception du systme (4/11)
Bibliothque [BR05] : collection de
8/2/2019 SpecificationEtConceptionUML - Copie
102/132
Bibliothque [BR05] : collection declasses utiles dans de nombreux contexte
Framework [BR05] : squelette de programme devant tre toff pour
construire une application complte Pattern [Roq05] : Solution de
modlisation rcurrente et documente,applicable dans un contexte donn
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 68
Conception du systme (5/11)3. Dcomposer un systme en sous-systmes
Sous-systme :
8/2/2019 SpecificationEtConceptionUML - Copie
103/132
Sous systme : Dfinition cohrente de traiter une partie du problme
Ensemble de classes, dassociations, doprations,
dvnements, de contraintes, relis et ayant des interfaces biendfinies (et restreinte) avec dautres sous-systmes
Dfini en termes des services quil fournit
Service : ensemble de fonctionnalits apparentes
servant le mme but Interface :
Spcification de la forme des interactions et des flux
dinformations traversant la frontire du sous-systme Sans lien avec limplmentation interne du sous-systme
Conception dun sous-systme indpendante et sansaffectation sur les autres sous-systmes
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 69
Conception du systme (6/11)3. Dcomposer un systme en sous-systmes
(suite)
8/2/2019 SpecificationEtConceptionUML - Copie
104/132
(suite)
Dcomposition en couches :
Construction dune couche en terme de celles qui setrouvent en-dessous et fournissant une base dimplmentation pour celles se situant au-dessus
Dcomposition en partitions :Division dun systme en sous-systmes indpendantset faiblement coupls, chacun fournissant un type deservice
Combinaison de couches et de partitions :Ncessit pour la plupart des grands systmes
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 70
Conception du systme (7/11)3. Dcomposer un systme en sous-systmes (exemple)
layer
8/2/2019 SpecificationEtConceptionUML - Copie
105/132
Maude Manouvrier - Univ. Paris Dauphine repris de [Roq05] 71
yPrsentation
IHM
Resp. FormationIHM
Employ
layer Logique applicative
layer Logique mtier
Comptabilit Demandes
Catalogue
Exemple darchitectureen couches pour lesystme de gestion dedemandes de formation
Conception du systme (8/11)4. Identifier la concurrence
Concurrence = deux ou plusieurs activits ou
8/2/2019 SpecificationEtConceptionUML - Copie
106/132
pvnements dont lexcution peut se chevaucher dans letemps
Identifier la concurrence intrinsque laide du modledtats Dcomposition en sous-systmes de prfrence
indpendants Threadde contle : chemin dexcution unique dans
un ensemble de diagrammes dtats o un seul objet estactif la fois
Dfinir les tches concurrentes en groupant des objetsnon concurrents dans un mme threadde contle (outche)
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 72
Conception du systme (9/11)5. Allouer des sous-systmes
a) Estimer les exigences en ressources matrielles
8/2/2019 SpecificationEtConceptionUML - Copie
107/132
) gb) Arbitrer entre matriel et logicielc) Allouer des tches aux processeurs
d) Choisir lorganisation et la forme de connexion desdiffrentes units physiques (topologie des connexions,units redondantes, communications)
6. Grer le stockage des donnesStructure de donnes en mmoire, fichiers ou bases dedonnes
5. Grer les ressources globalesUnits physiques (ex. processeurs), espaces (ex. espacedisques), noms logiques (ex. noms de fichiers ou declasses), accs aux donnes partages (ex. bases de
donnes)Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 73
Conception du systme (10/11)8. Choisir une stratgie de contrle du logiciel
Contrle externe : flux dvnements visibles
8/2/2019 SpecificationEtConceptionUML - Copie
108/132
lextrieur entre les objets du systme
Contrle interne : flux dvnements au sein dun
processus9. Grer les cas limites
Initialisation
Terminaison checs
10. Arbitrer les priorits Arbitrage entre temps et espace, matriel et logiciel,
simplicit et gnralit, efficacit et maintenabilit Compromis dpendant des buts de lapplication
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 74
Conception du systme (11/11)11. Slectionner un style architectural
Transformation par lots (batch) : Transformation de donnes t l f i bl l t d d
8/2/2019 SpecificationEtConceptionUML - Copie
109/132
excute en une seule fois sur un ensemble complet de donnesdentres
Transformation continue : Transformation oprecontinuellement sur des donnes dentres variant
Interface interactive : Systme domin par des interactionsexternes
Simulation dynamique : Systme simulant lvolution desobjets du monde rel
Systme temps rel : Systme domin par des contraintes detemps strictes
Gestionnaire de transactions : Systme avec pour rle lestockage et la mise jour de donnes, et impliquant souvent desaccs concurrents provenant de diffrents emplacementphysiques
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 75
Conception des classes (1/13)
Analyse : dtermination de ce qui devra
8/2/2019 SpecificationEtConceptionUML - Copie
110/132
yse qtre ralis par limplmentation
Conception du systme : dtermination du plan dattaque
Conception des classes :
Finalisation de la dfinition des classes et desassociations
Choix des algorithmes des oprations
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 76
Conception des classes (2/13)
Conceptions des classes
8/2/2019 SpecificationEtConceptionUML - Copie
111/132
p
Ajout de dtails et prise de dcisions fines
Choix des diffrentes faons dimplmenter lesclasses danalyse
Ncessit davoir plusieurs itrations desniveaux successifs dabstraction
Critres de facilit dimplmentation, de
maintenabilit et dextensibilit
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 77
Conception des classes (3/13)
tapes suivre [BR05] :
8/2/2019 SpecificationEtConceptionUML - Copie
112/132
1. Combler le foss entre exigences de haut niveau et services de basniveau
2. Raliser les cas dutilisation par des oprations
3. Formuler un algorithme pour chaque opration
4. Dcomposer rcursivement jusqu obtenir des oprations de
conception desservant des oprations de bas niveau5. Remanier le modle pour obtenir une conception plus nette
6. Optimiser les chemins daccs aux donnes
7. Rifier les comportements devant tre manipuls8. Ajuster la structure des classes pour augmenter lhritage
9. Organiser les classes et associations
Maude Manouvrier - Univ. Paris Dauphine 78
Conception des classes (4/13)
1. Combler le foss entre exigences de haut niveau etservices de bas niveau
8/2/2019 SpecificationEtConceptionUML - Copie
113/132
services de bas niveau
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 79
Fonctionnalits dsires
Ressources disponibles
Conception des classes (4/13)
1. Combler le foss entre exigences de haut niveau etservices de bas niveau
8/2/2019 SpecificationEtConceptionUML - Copie
114/132
services de bas niveau
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 79
Fonctionnalits dsires
Ressources disponibles
?Foss
Conception des classes (4/13)
1. Combler le foss entre exigences de haut niveau etservices de bas niveau
8/2/2019 SpecificationEtConceptionUML - Copie
115/132
services de bas niveau
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 79
Fonctionnalits dsires
Ressources disponibles
?Fosslments intermdiaires
Conception des classes (5/13)
2. Raliser les cas dutilisation
8/2/2019 SpecificationEtConceptionUML - Copie
116/132
Cas dutilisation = dfinition dun comportement maispas de sa ralisation
Conception choix entre les diffrentes options etprparation de limplmentation
tapes :
a) Dresser la liste des responsabilits dun cas dutilisation
b) Regrouper les responsabilits en groupes cohrents uneseule opration de bas niveau pour raliser les responsabilitsdun mme groupe
c) Affecter les nouvelles oprations de bas niveau aux classes
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 80
Conception des classes (6/13)
3. Concevoir les algorithmes
8/2/2019 SpecificationEtConceptionUML - Copie
117/132
a) Choisir des algorithmes qui minimisent le cotdimplmentation des oprations
20% des oprations comprennent 80% du temps concentrer la recherche dalgorithmes ces oprations
Prise en compte de la complexit des calculs, de la facilitdimplmentation et de de comprhension, et de la souplesse
b) Slectionner les structures de donnes appropries auxalgorithmes
Utilisation de classes conteneurs (bags, ensembles, tableaux,
listes, files, piles, dictionnaires, arbres etc.)
c) Dterminer de nouvelles classes et oprations internesen cas de ncessit
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 81
Conception des classes (7/13)4. Oprer par dcomposition rcursive
Organiser les oprations en couches : invocation des oprations debas niveau par les oprations de haut niveau
8/2/2019 SpecificationEtConceptionUML - Copie
118/132
bas niveau par les oprations de haut niveau
Oprer de manire descendante : oprations de haut niveau puis
celle de bas niveau Deux manires doprer :
Par fonctionnalitsAttention ne pas trop dpendre des fonctionnalits de haut niveau
Systme hypersensible aux changements Par mcanismes
Construction du systme en sappuyant sur des mcanismes de base(mmorisation des informations, squenage du flux de contrle,
coordination des objets, transformation des donnes ) Systme ne faisant rellement rien dutile
Slectionner une combinaison approprie entre conceptionpar fonctionnalits et conception par mcanismes
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 82
Conception des classes (8/13)5. Remanier le modle pour obtenir une
conception plus nette
8/2/2019 SpecificationEtConceptionUML - Copie
119/132
Refactoring: processus consistant modifier la structure interne dun
programme pour amliorer sa conception sans en changer lesfonctionnalits externes Partie essentielle de tout processus de gnie logiciel Maintien de la viabilit de la conception pour la suite du
dveloppement Conception initiale incohrences, redondances, et
points faibles en terme defficacit
Ncessit de revoir la conception et de retravailler lesclasses et les oprations au final satisfaction de tousleurs usages et cohrence du point de vue conceptuel
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 83
Conception des classes (9/13)6. Optimiser la conception
Trouver le juste quilibre entre efficacit et clart
8/2/2019 SpecificationEtConceptionUML - Copie
120/132
Ne pas prendre en compte lefficacit prmaturment
Bien comprendre la logique de fonctionnement dusystme avant de penser loptimiser
tapes suivre [BR05] :
Fournir des chemins daccs efficacesPar ajout dassociations redondantes
Rorganiser les calculs pour amliorer lefficacit
Sauvegarder des calculs intermdiaires pour viterde refaire des calculs
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 84
Conception des classes (10/13)6. Optimiser la conception (exemple)
8/2/2019 SpecificationEtConceptionUML - Copie
121/132
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 85
Rponse
date : Date1
-demandeur1
Session(from Catalogue)
est inscrit
0..*
0..* 0..*
1
0..1
Motif : String
Dsaccord
donnelieu
Employ
nom : Stringprnom : Stringservice : Stringfonction : Stringemail : Email
Inscription
date : Date
estsatisfaite
par
0..1
Demande de Formation
dateEmission : DatedateValidit : Date
ElementCatalogue(from Catalogue)
Accord
conce
rne
0..*
1
-participant
Conception des classes (10/13)6. Optimiser la conception (exemple)
/nAPasObtenu
8/2/2019 SpecificationEtConceptionUML - Copie
122/132
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 85
Rponse
date : Date1
-demandeur1
Session(from Catalogue)
est inscrit
0..*
0..* 0..*
1
0..1
Motif : String
Dsaccord
donnelieu
Employ
nom : Stringprnom : Stringservice : Stringfonction : Stringemail : Email
Inscription
date : Date
estsatisfaite
par
0..1
Demande de Formation
dateEmission : DatedateValidit : Date
ElementCatalogue(from Catalogue)
Accord
conce
rne
0..*
1
-participant
/ aObtenu
1
0..*
1
0..
*
Conception des classes (11/13)
7. Rifier les comportements Rifi ti i d bj t l
8/2/2019 SpecificationEtConceptionUML - Copie
123/132
Rification = promouvoir au rang dobjet quelquechose ntant pas un objet
Rification dun comportement encodage ducomportement dans un objet et dcodage lors de sonexcution
Existence de patterns comportementaux rifiant lescomportements
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 86
Conception des classes (12/13)8. Ajuster lhritage
tapes suivre [BR05] :
8/2/2019 SpecificationEtConceptionUML - Copie
124/132
Rorganiser les classes et les oprations pouraccrotre lhritage
Extraire les comportements communs plusieursgroupes de classes Cration de super-classes abstraites
Employer la dlgation pour partager lescomportements en cas dimpossibilit dutiliserlhritage du point de vue smantique Dlgation = Mcanisme dimplmentation o un objet,
disposant dune opration, y rpond en la transmettant unautre objet pour quil lexcute
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 87
Conception des classes (13/13)9. Organiser la conception des classes
tapes suivre [BR05] :
Masquer linformation interne de la vue externe Sparer soigneusement les spcifications externes de limplmentation
i t
8/2/2019 SpecificationEtConceptionUML - Copie
125/132
interne Limiter la porte de la navigation dans le modle de classes Ne pas accder aux attributs trangers Dfinir des interfaces haut niveau dabstraction Cacher les objets externes viter les appels en cascade de mthodes
Maintenir la cohrence des entits
Sparer la stratgie de limplmentation Mthode de stratgie = instruction dE/S, structures conditionnelles, etaccs aux donnes
Mthode dimplmentation = encodage de lalgorithme sans prise dedcision, ni dmission dhypothses, ni de traitement par dfaut
Raffiner les packages Dfinir des packages pour les diter et les compiler plus facilement etpour la commodit de lquipe de dveloppement
Dfinir des packages avec des interfaces minimales et bien dfinies Dfinir des packages cohrents et les organiser autour dun thme
communMaude Manouvrier - Univ. Paris Dauphine repris de [BR05] 88
Rsum du processus (1/3)
8/2/2019 SpecificationEtConceptionUML - Copie
126/132
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 89
Rsum du processus (1/3)Spcifications
initiales dusystme
mettre des demandes
UtilisateursDveloppeursManagersExperts mtier
d
8/2/2019 SpecificationEtConceptionUML - Copie
127/132
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 89
nonc duproblme
Rsum du processus (1/3)Spcifications
initiales dusystme
mettre des demandes
UtilisateursDveloppeursManagersExperts mtier
d
8/2/2019 SpecificationEtConceptionUML - Copie
128/132
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 89
nonc duproblme
Construire des modlesAnalyse :
Analyse du domaineAnalyse de lapplication
Entretiens utilisateursExprienceSystmes apparents
Modle de classesModle dtatsModle dinteractions
Rsum du processus (1/3)Spcifications
initiales dusystme
mettre des demandes
UtilisateursDveloppeursManagersExperts mtier
nonc du
8/2/2019 SpecificationEtConceptionUML - Copie
129/132
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 89
nonc duproblme
Construire des modlesAnalyse :
Analyse du domaineAnalyse de lapplication
Entretiens utilisateursExprienceSystmes apparents
Modle de classesModle dtatsModle dinteractions
Dtailler les modles
Conception :
Conception du systmeConception des classes
ArchitectureCas dutilisation
AlgorithmesOptimisation
Rsum du processus (1/3)Spcifications
initiales dusystme
mettre des demandes
UtilisateursDveloppeursManagersExperts mtier
nonc du
8/2/2019 SpecificationEtConceptionUML - Copie
130/132
Maude Manouvrier - Univ. Paris Dauphine figure reprise de [BR05] 89
nonc duproblme
Construire des modlesAnalyse :
Analyse du domaineAnalyse de lapplication
Entretiens utilisateursExprienceSystmes apparents
Modle de classesModle dtatsModle dinteractions
Dtailler les modles
Conception :
Conception du systmeConception des classes
ArchitectureCas dutilisation
AlgorithmesOptimisation
! Il sagit dun processus itratif
Rsum du processus (2/3) Spcifications initiales : gense de lapplication
Entre : ide brute dune nouvelle application Sortie : nonc du problme = point de dpart dune
l f di
8/2/2019 SpecificationEtConceptionUML - Copie
131/132
analyse approfondie
Analyse : construction de modles pour bien comprendreles exigences en termes de ce qui doit tre ralis et non decomment cela doit tre ralis
Entre : nonc du problme
Sortie : modles de classes, dtats et dinteractions 2 stades :
Analyse du domaine : pour capturer les
connaissances gnrales dune application Analyse de lapplication : pour capturer les aspects
informatiques de lapplication visibles pour lesutilisateurs
Maude Manouvrier - Univ. Paris Dauphine repris de [BR05] 90
8/2/2019 SpecificationEtConceptionUML - Copie
132/132