Professional Documents
Culture Documents
Time to Market!
Variantes (Fonctionalits)
Validation
Validation Mise en uvre
Conception
Etude technique pralable Conception prliminaire Conception dtaille
Intgration
Intgration Tests d'Intgration
Ralisation
Codage Mise au point Tests unitaires
Conception V1 Ralisation
Exemple du RUP
RPW
Realtime ROOM Performance testing Business Engineering Configuration & change Mgmt
RUP 2000 RUP 5.5 Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0
2000
UML 1.4
1999
1998
1997
OMT Booch
UML 1.1
Rational Approach
Objectory 3.8
10
Best Practices
Point cls
Dvelopper seulement ce qui est ncessaire Minimiser la paperasserie flexibilit
besoins, plan, utilisation des ressources, etc
Apprendre de ses erreurs prcdentes Rvaluer les risques rgulirement tablir des critres de progrs
objectifs et mesurables
Automatiser
12
Architecture du processus
2 structures orthogonales Structure statique
Workers, artifacts, activities, workflows authoring et configuration du processus SPEMsi, ingnierie des mthodes et des processus
Structure dynamique
Structure du cycle de vie : phases, itrations Mise en oeuvre du processus : planification, excution gestion des activits, suivi de projet
13
Static structure
Supporting Disciplines
Configur. & Change Mgmt Project Management Environment
Iterations->
Preliminary Iteration(s)
Iter. #1
Iter. #2
Iter. #n
Iter. #m
Iter. #m+1
14
Inception: dfinition de la port du projet Elaboration: planification du projet, spcification des fonctionnalits, architecture de base Construction: ralisation du produit Transition: transfert du produit vers les utilisateurs
15
Itrations
Livraison dexcutables Inception Elaboration
Devel. Iteration
Construction
Devel. Iteration Devel. Iteration
Transition
Transition Transition Iteration Iteration
Une itration est une squence dactivits avec un plan bien tabli et un critre dvaluation, rsultant en la livraison dun logiciel excutable.
16
Transition 1 2
17
VALIDATION
Validation technique Validation par les utilisateurs
UML
Modle utilisateur Modle statique Modle dynamique Modle dimplantation
ELABORATION
Architecture Modles des objets et scnarios Rgles de transformation (Design patterns)
CONSTRUCTION
Modle dtaill des objets Scnarios dtaills Algorithmes Codage - Mise au point Intgration
18
Conception
passage du modle idal au monde rel
Ralisation et Validation
19
Diagramme de cas dutilisations Diagramme de classes Diagramme de paquetages Diagramme de squences Diagramme de collaborations Diagramme dtats-transitions Diagramme dactivits Diagramme dimplantation
Besoins Conception V&V Analyse Ralisation
20
21
10
Modlisation UML
Modlisation selon 4 points de vue principaux :
Vision utilisateur du systme
Cas dutilisation
Vision implantation
Diagramme de composants et de dploiement
23
11
Etude de cas
Un serveur de runions virtuelles
Adaptation du concept d'IRC un contexte de runions de travail au sein d'une entreprise gographiquement disperse
Cette tude de cas va nous servir de fil conducteur pour dcrire un processus d'analyse et de conception avec UML
24
25
12
13
Cas dutilisation
Grande dcoupe fonctionnelle
pilote les incrments dans la spirale chaque incrment correspond la ralisation d un cas d utilisation
28
Consultation
29
14
30
15
32
16
Classes potentielles
Serveur Application Runion Internet Objectif Droulement Version Projet Intervention Participant Mode Programme Plate-formes Personne Protocole Implantation Redondant serveur OK Implantation Non pertinent Action Implantation Non pertinent OK (?) Rle relation Personne-Runion Implantation Implantation Implantation OK Implantation
34
entre classes limines non pertinentes ou lies limplantation qui sont en fait des actions pouvant tre drives dautres relations Raffiner la smantique des relations ajouter les rles qualifier les relations (slecteur) spcifier la multiplicit
35
17
36
37
18
* * * 1
-anime
RunionStandard
RunionDmocratique
demandeParoleDans
38
Itrer la modlisation
Classes manquantes ou en trop
asymtries : ajout de classes par analogies scinder les classes disparates en classes plus lmentaires A quoi sert une classe si pas dattributs ou doprations?
Attributs
accder un objet par un attribut -> relation qualifie
Il faut parfois attendre davoir fait les autres vues pour pouvoir itrer
39
19
Diagrammes dynamiques
Pour chaque cas d utilisation
un scnario nominal (diagramme de squence)
tout se passe bien
Alternativement (Catalysis)
description par pre/post de l tat du systme avant/aprs chaque occurrence d vnement
40
erreur("dja connect")
Connexion Nouvelle
ok connect
41
20
SetAsOrganisateur(r1) OK
CreerR1Erron
r1 : runion
42
r1 : runion
Alice : Personne
OK
ferme("R1") ferme(Alice) OK
43
21
AnimerNonAutoris
{r1.organisateur<>Alice}
r1 : runion
Alice : Personne
Erreur("Non autoris")
44
45
22
r1 : runion
Paul : Personne
OK
sort("R1") sort(Paul) OK
46
SortieImpossible
{r1.participants.excludes(Paul)}
r1 : runion
Paul : Personne
Erreur("Non participant")
47
23
r1 : runion
Paul : Personne
48
EntreInterdite
{not rp.personneAutorise(Paul)}
rp : RunionPrive
Paul : Personne
49
24
50
planifier(p)
Planifie
ouvrir(p)[p=animateur]
Ouverte
sortir(p)[participe(p)]
cloturer(p)[p=animateur]
Ferme
51
25
planifier(p)
Planifie
Ouverte
sortir(p)[participe(p)]
after(dure)
Ferme
52
connecte(passwd)
Connect
Passif
demandeParole termine
connecte(passwd)
dconnecte
relche
Parlant
dtruire
Attente
Dconnect
dconnecte contribue
accordeParole
53
26
Conseils pratiques
Rflchir au problme avant de commencer
Soigner le nommage, insister sur le nommage des relations et des rles
Faire simple!
Things must be as simple as possible, but no simpler. A. Einstein viter toute complication nuisible
utiliser les qualifieurs viter les relations ternaires, quaternaires (trop complexe) se dgager de limplmentation : raisonner objets, classes, messages, relations, attributs, oprations
55
27
Cas d utilisation
Diagramme de classes
nommage correct des classes (noms) dfinitions prsentes dans un dictionnaire nommage de toutes les relations, prsence des cardinalits attributs seulement de types simples non duplication attributs/relations (utilisation hritage)
56
Diagrammes de squence
chaque opration (message reu par un objet) dfinie dans la classe correspondante du diagramme statique
Diagrammes d tats
chaque automate est attach une classe chaque attribut/opration utilise sur l automate doit tre dfini dans la classe englobante en suivant les transition de l automate, on doit pouvoir retrouver tous les scnarios
57
28