Professional Documents
Culture Documents
Plan
Aper%u du processus. Techniques de mod#lisation. Concepts de base. Analyse du probl!me. Sp#ci$cation des besoins.
Aper%u du processus
Mod#liser, concevoir, impl#menter et tester, p#riodiquement Di&#rent chemins possibles ' l(int#rieur de la m#thode Le processus est non"lin#aire, it#ratif et parall!le
Techniques de mod#lisation
Techniques de mod#lisation
Dictionnaire Carte conceptuelle )Concept Map! Diagrammes UML )rappel* Instantan#s )Snapshots* Cas d(utilisation DSL
Dictionnaire )1/2*
Permet de $ger la terminologie du domaine d(application. Constitue le point d(entr#e et le r#f#rentiel initial du syst!me. Outil de dialogue informel, #volutif et simple ' r#aliser.
Dictionnaire )2/2*
Exemple de dictionnaire
Exemple pour un simulateur de vol :
Dictionnaire d'un simulateur de vol
Dfinition
Action de piloter un avion en enchanant des manoeuvres lmentaires Organe d'interaction entre le pilote et l'avion ou entre l'avion et le pilote Instrument qui permet d'agir sur la quantit de carburant injecte dans le moteur Package
Notion
Pilotage
Instrument
Instrument
Manette_gaz
Action
Mettre les gaz fond
Dfinition
Action qui permet dinjecter le maximum de carburant pour atteindre la vitesse maximale
100
Une carte conceptuelle est une repr#sentation graphique d(une base de connaissances d#claratives qui poss!de une organisation hi#rarchique.
Repr#sentation informelle )bien que structur#e* des termes en relation d(un domaine.
Vidothque
Membres
Catalogue
Client
Video
rserv
emprunt
prix
10
+ title : String + /size : Integer ~ version : Integer # contents : String - visibility : Boolean = true - tags : String [1..*] + render() + save() - optimize()
11
12
Instantan#s )1/2*
Un diagramme d(instances repr#sentant l(#tat d(un syst!me ' un moment donn#e. Repr#sentation du probl!me )m#tier*, non obligatoirement un logiciel:
Les objets et liens peuvent repr#senter aussi bien des $ches en papier que des tuples d(une base de donn#es.
13
Instantan#s )1/2*
laurent:Etudiant nom = "Dupont" prenom = "Laurent" age = 32 lessive:Matire
repassage:Matire
cirage:Matire
14
15
15
Cas d(utilisation
Un cas d(utilisation est un texte. /crire des bons cas d(utilisation est surtout une question de style.
17
18
19
Exemple )1/4*
Use Case: 5 Buy Goods -------------------------------------------------CHARACTERISTIC INFORMATION Goal in Context: Buyer issues request directly to our company, expects goods shipped and to be billed. Scope: Company Level: Summary Preconditions: We know Buyer, their address, etc. Success End Condition: Buyer has goods, we have money for the goods. Failed End Condition: We have not sent the goods, Buyer has not spent the money. Primary Actor: Buyer, any agent (or computer) acting for the customer Trigger: purchase request comes in.
20
Exemple )2/4*
MAIN SUCCESS SCENARIO 1. Buyer calls in with a purchase request. 2. Company captures buyers name, address, requested goods, etc. 3. Company gives buyer information on goods, prices, delivery dates, etc. 4. Buyer signs for order. 5. Company creates order, ships order to buyer. 6. Company ships invoice to buyer. 7. Buyers pays invoice. EXTENSIONS 3a. Company is out of one of the ordered items: 3a1. Renegotiate order. 4a. Buyer pays directly with credit card: 4a1. Take payment by credit card (use case 44) 7a. Buyer returns goods: 7a. Handle returned goods (use case 105)
21
Exemple )3/4*
SUB-VARIATIONS 1. Buyer may use phone in, fax in, use web order form, electronic interchange 7. Buyer may pay by cash or money order check
22
Exemple )4/4*
RELATED INFORMATION Priority: top Performance Target: 5 minutes for order, 45 days until paid Frequency: 200/day Superordinate Use Case: Manage customer relationship (use case 2) Subordinate Use Cases: Create order (use case 15) Take payment by credit card (use case 44) Handle returned goods (use case 105) Channel to primary actor: may be phone, le or interactice Secondary Actors: credit card company, bank, shipping service Channels to Secondary Actors: Due Date: release 1.0 ---------------------------OPEN ISSUES What happens if we have part of the order? What happens if credit card is stolen? --------------------------SCHEDULE
23
DSL
Domain speci"c language. Sp#ci$cation d(un langage ' partir du vocabulaire du domaine.
24
Concepts de base
Objets et Actions
25
Concepts de base
Objet: information + fonctionnalit#. Action: quelque chose qui se passe.
Les actions sont )ou peuvent 0tre* ind#pendantes des objets. Elles seront li#es aux objets plus tard. Les actions modi$ent les objets.
26
Concepts de base
Les actions sont au m0me niveaux que les objets Une conception bien d#coup#e demande une r#1exion pr#cise sur les actions et ce qu(elles r#alisent
27
Fractales
Une image fractale a la m0me apparence ' tous les niveaux Objets: d#partements d(a&aires, machines, composants logiciels, concepts de langage de programmation. Actions repr#sentent les interactions entre objets: accords d(a&aires, appels t#l#phoniques, tours en v#lo, etc.
28
Actions )1/2*
Actions == collaborations Les collaboration sont utilis#es pour mod#liser:
ce qu(il se passe ' l(int#rieur d(un composant logiciel. interaction entre composants. mod#lisation du domaine: comment les objets du monde r#el interagissent?
29
Actions )2/2*
Les Actions ont des participants )objets* Combien d(objets sont n#cessaires? Autant qu(il faut pour d#crire les actions. Les associations fournissent un vocabulaire utilis# pour d#crire les e&ets d(une action
30
Conjointe. sym#trique, ' n participants dite 2Cas d(utilisation3 )Use Case* pour l(analyse du probl!me
31
Un diagramme seul n(est pas su4sant. Il doit 0tre accompagn# par une explication dans un dictionnaire s#par#
32
Concepts de base
Les responsabilit#s ne sont pas assign#es aux objets d!s le d#but. /tapes:
33
*
Matire
tudiant
De nouveaux termes sont introduits pour d#crire l(e&et )ou la post"condition* Les #toiles indiquent qu(un #tudiant peut avoir plusieurs comp#tences La $gure est une indication )optionnelle* qu(un #tudiant est un r5le
35
Utilisation d(instantan#s )snapshots* pour visualiser une action Laurent:tudiant Les lignes #paisses sont utilis#es pour repr#senter une cr#ation de lien
lessive:Matire
repassage:Matire
jardinage:Matire
cirage:Matire Aurlie:tudiant
action(Aurlie, unEnseignant)::enseigne(repassage)
36
le mod!le statique )vocabulaire pour les actions* le mod!le dynamique )un guide claire des objets requis*
37
Ra4nements
Objets et Actions dans di&#rentes #chelles
38
Ra4nement
39
Ra4nement
Le diapo pr#c#dent montre une interaction Chaque bo6te a une structure similaire
objets encapsul#s d(une mani!re ordonn#e un ensemble de t7ches les donn#es sur lesquelles s(appuient les t7ches
40
Sujet
Compagnie de S#minaires
Le syst!me de s#minaires fait partie d(une plus grande organisation Il est possible de rentrer dans l(action et voir ses d#tails
41
Client
Sujet
fait cours
Compagnie de s#minaires
R#alise le cours
42
Composition
Assemblage
enseigne
Les actions plus petites peuvent s(e&ectuer en parall!le ou en s#quence Ce d#tail est donn#e s#par#ment )diagrammes de s#quences*
includes
includes
43
Actions, objets
Les ellipses sont des types d(actions qui d#$nissent toutes les interactions possibles Elles lient des acteurs )types d(objets*, qui d#crivent le r5le jou# par certaines instances
44
ibm: Client
Temps
45
Assemblage
Sujet
Operations
46
47
Operations
La possibilit# de faire des zooms avant et arri!re et d(avoir un aper%u g#n#ral ainsi que les d#tails $ns est essentielle ' une conception qui est:
Analyse du probl!me
Business Modeling
50
Analyse du probl!me/domaine
Mod#lisation du m#tier, et non de la solution propos#e Utilis#e pour comprendre le m#tier Peut servir pour di&#rents projets
51
52
Analyse du probl!me
Les exemples pr#c#dents sont typiquement des partie du mod!le du probl!me Questions initiales:
53
Analyse du probl!me
Ajouter ' la liste de questions: 2qui participe ' l(action?3 et 2quel est l(impact de l(action sur leur #tat?3 Les r#ponses )' ces questions* conduisent aux types d(objets et aux post"conditions Les types d(objets et les post"conditions conduisent aux associations et aux attributs qui illustrent les e&ets
54
Analyse du probl!me
55
Analyse du probl!me
* Sujet sujet * Cours quali$cations * cours 1 Panne d(instructeur * instructeur * Instructeur panne 1 * quand Date
Client *
Classe
Vacances
56
Analyse du probl!me
Un invariant, comme une post"condition, est #crit en suivant les liens ' partir d(un point de d#part Ils sont d#crits de mani!re informelle et #crits dans un langage de conditions bool#ennes
57
Analyse du probl!me
L (analyste a d#cid# que les vacances et les classes un cours sont des sortes de panne d(instructeur )non disponible*.
inv -- pour toute Classe, les qualications de linstructeur doivent inclure le cours: Classe::instructeur.qualications->includes(cours)
inv -- pour tout Instructeur et pour toute Date, le nombre de panne ! ! dinstructeurs ne peut pas dpasser 1 Instructeur:: d:Date :: panne[quand = d] <= 1
58
Analyse du probl!me
1998/7/8 Date
1998/6/4: Date
59
Analyse du probl!me
Les post"conditions des actions sont #crites en
termes d(associations statiques.
action (c:Client, s:CompagnieSminaires) :: programme (t: Cours, d: Date) post!-- une nouvelle Classe est cre avec une date, un client et un cours " " r: Classe.new [date = d, client = c, cours = t, ! ! " " " "
60
61
Besoins )1/2*
Objectif principal: comprendre le probl!me Livrables typiques:
Mod!le du domaine )collaborations, types, dictionnaire* Besoins fonctionnels: diagramme du contexte, cas d(utilisations, sc#narios Besoins non"fonctionnels: performance, etc.
62
Besoins )2/2*
Autres livrables:
Contraintes connues de plate"forme : mat#riel, syst!mes d(exploitation, etc. Contraintes du projet et planning: budget, d#lais, personnel, etc.
63
64
65
Instantan#s
: System de Sminaires
java : Subjet topic jo2: Cours cours ibm: Client jo : Instructeur pat : Instructeur
: Classe
1998/7/8 Date
1998/6/4: Date
66
Sous"syst!mes
Seminar System
Subject
Ventesprogrammer
*sujet *
Cours
check Sched
*qualifications
PanneInstructeur
stocker exam
course
* panne
instructor
*
Instructeur
Operations
arrange accom print materiasl
Classe
Vacances
quand Date
manage
Client
67
Un peu de lecture
+Catalysis,
68
Patrons de processus
D#veloppement ' partir de z#ro. Reengineering. D#veloppement avec des cycles courts. Travail en parall!le.
69
Patrons de processus
Am#lioration du processus existant Faire un mod!le du domaine Repr#senter le vocabulaire et les r!gles du domaine Faire participer les experts du domaine Cr#er un mod!le du domaine commun Choisir un niveau d(abstraction
70