Chapitre 8
LES
DIAGRAMMES
D'ACTIVITÉS
1
Isima
Trouver
à boire
[pas de café] [pas de soda]
Attendre
[plus de gouttes]
Servir
Boire
café
2
Isima
DIAGRAMMES D’ACTIVITES
Modélisation
des
processus
métier
SPECIFICATION
DES BESOINS
Modélisation
ANALYSE des
traitements
CONCEPTION
TESTS
de l’architecture
IMPLEMENTATION
Christine FORCE 3
Isima
DIAGRAMMES D’ACTIVITES
4
Isima
DOMAINE D'APPLICATION
Processus métier :
commande
Le système (d'information, industriel),
Un sous-système, Produit
Cas d’utilisation
Description d’une famille de Expédition
scénarios,
Enchaînements d’écrans dans une Processus métier
IHO,
Logique complexe
d'une opération, ou d'une classe,
d'une collaboration (la dynamique
d’un ensemble d’objets).
5
Isima
c
o
n
v
o
y
e
u Aire de stockage
r
6
Isima
RANGEMENT D’UNE
Lire code
barre PALETTE
Déterminer
Nœud de Emplacement garde
décision
[Saturation]
[emplacement
disponible]
Synchronisation
Mettre Activer (concurrence) Ejecter
à Jour BD Automate
[incident]
Activité [OK]
Afficher Afficher
décomposée
Rangement Appel
Effectué Opérateur
[intervention
opérateur terminée]
Nœud de
Afficher fusion
synchronisation
Opération
(rendez-vous)
terminée
7
Isima
DIAGRAMMES D’ACTIVITÉS
8
Isima
DIAGRAMMES D’ACTIVITÉS
9
Isima
DIAGRAMMES D’ACTIVITÉS
10
Isima
REGION D’EXPANSION
Vérifier
itérative client
Vérifier
produit
bon mauvais
Attribuer
Valider Annuler
produit commande
commande
Notation
Expédier
Broche Flux final : met fin à la pour une
commande
de sortie branche, mais pas aux activité
activité concurrentes décomposée
11
Isima
Partition
objet
P
A
R État de
T l’objet
I
T
I
O
N
S
12
Isima
Autre représentation
Envoi d'un
signal :Contrôleur
authentifier /send ContrôleurSécurité.
Sécurité
Authentifier ( )
Objet Attendre
Attendre
émetteur ou authentification
authentification
destinataire
(facultatif)
reprendre
suite
Réception
d'un signal
Attente Annuler
(délai) opération
20s
13
Isima
Établir l’objectif.
Sélectionner les objets qui ont les responsabilités de haut niveau.
Identifier les pré-conditions de l’état initial et les post-conditions de
l’état final.
Spécifier les actions et les placer sur le diagramme.
Regrouper en Action Composite les actions complexes ou les
ensembles d’actions qui apparaissent à plusieurs reprises et
développer un diagramme d’activités pour chacun.
Tracer les transitions. Commencer avec les flux séquentiels, puis les
branchements et enfin les flux parallèles.
Insérer les objets importants dans les diagrammes.
Montrer les changements de valeur et d’état utiles à la compréhension
de l'objectif.
14
Isima
Le service scolarité :
planifie l’examen,
prépare les copies,
puis, une fois l’examen corrigé, saisit et affiche les
notes,
et archive les copies.
L’enseignant prépare un sujet et corrige les copies.
Les étudiants rédigent une solution et prennent
connaissance de leur note après affichage.
Rédiger un diagramme d’activités (en remettant les choses
dans l’ordre).
15
Isima
Exercice 2 : Atelier
Pour créer une fiche de réparation, le chef d’atelier saisit les critères de
recherche de voitures dans le système.
Le logiciel de gestion des réparations lui donne la liste des voitures
correspondant aux critères entrés.
Si la voiture existe dans la liste, le chef d’atelier va sélectionner la
voiture.
Le logiciel va, ensuite, fournir les informations sur le véhicule.
Si la voiture est sous garantie, le chef saisit la date de demande de
réparation.
Si la voiture n’existe pas, le chef saisit les informations concernant ce
nouveau véhicule.
Dans tous les cas, le chef d’atelier entre la date de réception et de
restitution.
Si le dommage de la voiture est payé par l’assurance, le logiciel fournit
une liste d’assurances au chef d’atelier.
Ce dernier sélectionne l’assurance adéquate.
Enfin, le logiciel enregistre la fiche de réparation.
16
Isima
saturation
Mettre Activer
à Jour BD Automate
Ejecter
Incident
Appeler
Opérateur
Rangement
Effectué
Opération
terminée
17
Isima
Lire code
barre
saturation
E1 : palette Calculer
emplacement
Ejecter
S1 : palette éjectée
Mettre
à Jour BD
incident
Activer
Automates Appeler
Opérateur
M1 : PC Rangement
S2 : opération
terminée
M2 : automate
18
Isima
Chapitre 8
LA CONCEPTION
19
Isima
L’ACTIVITÉ DE CONCEPTION
20
Isima
CONCEPTION
Organiser le développement,
Concevoir et documenter précisément la solution
informatique (le code),
Passer de l’analyse objets à l’architecture,
Combiner les différents points de vue de la
modélisation pour obtenir les détails de
fabrication en langage objets,
Répondre à toutes les questions qui concernent
la manière de réaliser le système.
21
Isima
CONCEPTION
22
Isima
ARCHITECTURE
Organisation des classes de conception en configuration
logicielle : paquets sous-systèmes (cohésion, couplage).
Séparation des responsabilités :
La présentation,
La logique applicative (services),
Le domaine métier,
L’accès aux données.
23
Isima
ARCHITECTURE
24
Isima
LA PERSISTANCE
25
Isima
Chapitre 9
26
Isima
INTERFACES
comparable
« realize » « interface »
Equipe Equipe
comparable
egalA()
superieurA() Joueur
Joueur
inferieurA() comparable
« realize »
differentDe()
27
Isima
1 1
Source Cible Centurion CampRomain
dirige
notation Exemple
28
Isima
CLASSES GENERIQUES
Elément
Table générique
Paramètre
générique «bind»
<personne>
formel
Annuaire
Classe Générique <personne>
29
Isima
STEREOTYPES
30
Isima
TECHNIQUES DE CONCEPTION
31
Isima
EXEMPLE : MEDUSE
:AccèsDonnéesLecteur
: Fenêtre : ctrl
Emprunt Emprunt : Lecteur
emprunter ()
demNumAdh ()
numAdh
estOK(numAdh)
new (numAdh)
cherchAdhParNum(numAdh)
Etc.
32
Isima
Chapitre 10
DIAGRAMMES DE
COMMUNICATION
(COD)
33
Isima
DIAGRAMMES DE COMMUNICATION
1: message1()
objet1: objet2:
ClasseA ClasseA
3: message3()
4: * message4() 2: [garde] message2()
objet3:
objet3: objet4:
ClasseB
ClasseB ClasseC
34
Isima
EXEMPLES
1 : new
2 : Effacer
: Commande
a:A b:B
{destroy} Client
1: Copier
2 : * new
CopieDeB : B
:LigneProduit
{transient}
35
Isima
EXEMPLE
Ascenseur :: appel
Appeler()
: Superviseur 6 : Démarrer ()
1: PréparerAPartir()
5 : prête : Moteur
: Cabine 2 : Allumer ()
3 : *Fermer () 4 : Fermée
: Lampe
: Porte
36
Isima
COMPARAISON COMMUNICATION/SEQUENCES
: Commande
4: besoinDeRéapprovisionner ()
2 *: préparer () 3 : estEnStock ()
5 : new
6 : new
: Réapprovision-
nement
: Livraison
37
Isima
PATRON OBSERVER
Subject
attach (observer) Observer
detach (observer) 0..*
notify ( ) update( )
ConcreteSubject ConcreteObserver
38
Isima
LE PATRON OBSERVER
4 - * upDate ()
3 - notify
5 – getInfo ()
Observateur:
sujet:ConcreteSubject
ConcreteObserver
1 - attachObserver()
6 - detachObserver()
2 – modifier {déclenchées par la création
Données (resp. la destruction) de l’Observer}
utilisateur:Utilisateur
39
Isima
REPRÉSENTATION DE LA COLLABORATION
40
Isima
EXERCICE
Au lieu de faire la queue pour affranchir vos lettres, vous préférez utiliser le
distributeur automatique, il faut :
Initialiser le distributeur (p. ex. un bouton sur l’écran tactile)
Poser une lettre sur la balance,
Choisir le tarif d’expédition sur l’écran tactile,
L’écran affiche alors le prix et demande si d’autres lettres sont à
affranchir.
Si oui, le même scénario se répète (à partir de poser une lettre),
Sinon il faut payer : le montant total s’affiche et vous devez
introduire les pièces.
La monnaie est rendue et les vignettes sont délivrées.
NB : Représenter le distributeur sous forme de plusieurs objets.
41
Isima
1 sert > *
Distributeur Client
achète
v
Balance Clavier Ecran Monnayeur 1..*
Vignette
distributeur
vendre
vignettes
42