Résumé d`UML - Thomas Robert

publicité
Résumé d’UML
ASI3 – Fiche
I.
Diagramme de cas d’utilisation
Cas d'utilisation1
Acteur1
ActeurNonHumain
Cas d'utilisation21
Acteur2
Cas d'utilisation22
Cas d'utilisation 2
<<inclure>>
CU2i
<<étendre>>
<<étendre>>
CU2b
CU2a
Héritage
II.
Inclusion
Extension
<<inclure>>
<<étendre>>
Spécification 1
Extension 1 possible
Spécification 2
Extension 2 possible
Fiche de Cockburn (Description d’un cas d’utilisation)










Thomas
ROBERT
Titre : …
Résumé : …
Acteurs : Act1 (A), Act2 (B), …
Motivation : A veut…
Pré-condition(s) : …
Post-condition(s) : …
Exceptions :
o Exception E1 : [Titre]
[Actions]
o …
Remarques ergonomiques (éventuellement) : …
Contraintes non fonctionnelles (éventuellement) : …
Scénario nominal : [Enchainement de cockburn / DAC / DSS]
Page 1
v1
Résumé d’UML
ASI3 – Fiche
III. Enchainement de Cockburn

Action de départ : …
Action acteur
1. (A) fait …
2. (B) fait …
4. …

Action système
3. Le système …
Action de fin : …
IV. Diagramme d’activité
Diagramme d'activité (DAC)
Utilisateur 1
Utilisateur 2
Activité
[condition]
Activité
[sinon]
Activité
Activité
Activité
*
Activité
itérative
Phase
Activité
Thomas
ROBERT
Page 2
v1
Résumé d’UML
ASI3 – Fiche
V.
Diagramme de séquence
acteur:Classe
objet:Classe
objetCréé:Classe
message (params)
retour
messageAsynchrone()
messageReflexif()
[condition1] message()
Optionnel /
Boucle
[condition2] message()
opt / boucle
message()
[condition]
alt
[condition1]
message()
[sinon]
message()
Switch
Pour un cas d’utilisation, on fait un diagramme de séquence système.
Il n’y a que l’acteur et un objet « système ».
VI. Diagramme Objet
Classe
<<instanceOf>>
objet1:Classe1
objet4:Classe3
<<instanceOf>>
objet2:Classe1
objet3:Classe2
(Proche du diagramme de classes)
Thomas
ROBERT
Page 3
v1
Résumé d’UML
ASI3 – Fiche
VII. Diagramme de classes
Classe1
Classe2
Association n-aire
Classe
Si en assoc. avec d'autres classes : classe associative
Sinon : association attribuée
Relation entre 2 objets
m..n
Classe
Compositite
Classe1
Classe
<<association>>
m..n
Classe
Classe2
Classe
association reflexive
Lien faible
m..n
[<<Stéréotype>>]
NomDeLaClasse
Classe
Classe
0..*
Classe
dépend de >
0..1
agrégation
0..1
1..*
composition
Lien fort
attribut1 : Type = valeur par défaut
attribut2 : Type <<enumeration>>
attribut3
/attributDérivé
...
rôle1
1..*
labelAssociation >
rôle2
Classe
1
méthode1(param1 : Type1 = val1, ...) : TypeRetour
...
{ordered}
aCollectionOrdonnée >
Classe
assoc. de classe
Classe
{bag}
aCollectionAvecDoublons >
Généralisation
Semblable à static
Thomas
ROBERT
Classe
Classe
{sequence}
aCollectionOrdonnéeAvecDoublons >
Page 4
Classe
v1
Résumé d’UML
ASI3 – Fiche
VIII. Diagramme de packages
Classe1
Classe3
Classe2
1 dépend de 2
= 1 utilise 2
On peut stéréotyper les packages <<category>> si on veut désigner une catégorie
IX. Dépendances
Association entre classes
Dépendance entre packages des classes, même navigabilité
On veut des dépendances unidirectionnelles non-cycliques.



Dépendance conceptuelle :
Dépendance opérationnelle (publique) :
Dépendance contextuelle (privée) :
association, généralisation
classe utilisée en paramètre dans une méthode
classe utilisée dans le corps de la méthode
En créant des dépendances unidirectionnelles, on choisit qu’une classe ait connaissance de l’autre.
Méthodes pour casser une dépendance bidirectionnelle :
A'
B'
A'
B'
Escalation
Héritage
A
A1
Thomas
ROBERT
Composition :
Association abstraite :
<<abstract>>
A
A2
Démotion
Commun
A1
A2
A
A
B
B
<<interface>>
Page 5
A'
v1
Résumé d’UML
ASI3 – Fiche
X.
Diagramme d’états
Nom de l'état composite
Etat
entry / actionEntree
do / activitéClassique
exit / actionSortie
evenementTrInt / activitéAlt
Etat1
evt1 [condition]
actionAFaire
evt2
evtTransitionInterne
Etat3
evtSortie2
evtAutoTransition
Suivi à la fin de
l'activité
Auto-trans. : lance exit & entry
Trans. interne : non...



evtSortieCommun
Sortie correspondant à l'état
final de l'état composite
Etat3
Ex : after(temps)
Action : Non interruptible
Activité : Interruptible
Evènements :
o Signaux : Asynchrone
o Message : Appel d’opération, synchrone
o Temporel : after(duree)
o Modifiant : when(condition booléenne)

Thomas
ROBERT
Page 6
v1
Résumé d’UML
ASI3 – Fiche
XI. Patterns d’analyse
1.
Pattern <<history>> : à un instant
Etudiant
2.
*
*
UV
Etudiant
*
0..10
<<history>>
UV
Anti-pattern : Actions vs association
Une association ne peut être une action. Pour des actions, créer des opérations et si besoin de classe pour qualifier
l’action. (Ex : qualification d’un prêt dans une bilio)
3.
Anti-pattern : Non transmutabilité de l’objet
Un objet ne peut changer de classe au cours de sa vie, même pas se spécialiser. Solution : pattern player-rôle.
4.
Pattern Player-Role
Player
*
1..*
<<abstract>>
Pattern Powertype
PowerType
Rôle
Rôle1
6.
5.
( modèle)
PartitionedType
Type1
Rôle2
Type2
Pattern Abstraction-Occurrence
Abstraction
1
*
Occurence
XII. Patterns GRASP
1.







Patterns de conception
Expert : Détient l’information
Créateur : Construction d’objets (B crée A : A B / B utilise A / B a les données d’init de A)
Contrôleur : Gestion des évènements d’entrées (Classe façade)
Polymorphisme : Comportement avec variantes
Fabrication pure : Classe artificielle pour respecter les patterns
Indirection : Eviter le couplage de classes (Objet intermédiaire)
Protection des variations : Limiter l’impact des variations (Interfaces stables, limiter les dépendances)
Afficheur
Afficheur
Donnée
Donnée
Indirection
Observateur
2.


Thomas
ROBERT
Patterns d’évaluation
Faible couplage : Limiter les dépendances (couplage = nombre de dep. d’autres classes)
Forte cohésion : Limiter la complexité (opérations cohérentes)
Page 7
v1
Résumé d’UML
ASI3 – Fiche
XIII. Méthodes d’analyse et de conception
1.
Grille de Levesque
Permet de trouver le besoin
2.
MU : Modèle d’usage (diagramme de CU)
Liste les cas d’utilisation
3.
DO & DCP : Analyse textuelle (méthode Abbot)
Partie du texte
Nom propre
Nom commun
Verbe actif
Verbe être
Verbe avoir
Verbe modal
Adjectif
Verbe transitif
Verbe intransitif
Elément de modélisation
objet
classe
méthode
héritage
agrégation
contraintes
attribut
méthode
exception ou evt
Exemple
Jim
Jouet, Poupée
Achète, recommande
Est un, un genre de
A, possède
Doit trouver
Agé de 2 ans
Entre, fournir
Dépend de
On peut réaliser un DO (diagramme objet) ou un DCP (diagramme de classes participantes).
4.
DSA : Transformée de Jacobson d’analyse
DSS + DCP → DSA (Diagramme de séquence d’analyse)
On remplace le système par les objets qui sont derrière.
5.


6.
Thomas
ROBERT
MD : Fusion et croisement de Jacobson
Fusion :
DCP1 + … + DCPn → MD (Modèle du domaine (diag. de classes))
Croisement de Jacobson : DCPx + DSAy
→ MDinit
DSC : Transformée de Jacobson de conception
<<Bondary>>
Visualise ou transmet des données à l’acteur
<<Control>>
Cas d’utilisation / Session / Profil utilisateur / Système / Classes du domaine
<<Entity>>
Classes du modèle du domaine
Page 8
v1
Téléchargement