Documente Academic
Documente Profesional
Documente Cultură
Thmes
Motivations lorigine dUML. Introduction au formalisme UML.
Modlisation de structure. Modlisation de comportement.
La complexit logicielle
Exemple dapplication industrielle
Complexit de la ralisation
Difficults techniques de la programmation. Dveloppement en parallle plusieurs. Besoin de crer une solution simple demploi.
Exigences complexes
Solution dploye
Analyse
Solution valide
Dploiement
Architecture logicielle
Solution teste
Acceptation
OMT (Rumbaugh) 1991 Many others... Booch 1994 OOSE (Jacobson) 1992
Odell 1994
UML 1.1
UML 1.2
UML 1.4
Quest ce quUML
UML : Unified Modeling Language
Langage de Modlisation Unifi. Appliqu lanalyse et la conception des logiciels. Forte coloration oriente objet. Langage essentiellement graphique. Facile lire et comprendre.
En clair
UML: norme qui dfinit les diagrammes et les conventions utiliser lors de la construction de modles dcrivant la structure et le comportement dun logiciel. Les modles sont des diagrammes constitus dlments graphiques et de texte. UML nest pas une mthode, mais un langage.
Diagramme 13
Diagramme structurel
Diagramme comportemental
ActivityInitial
Oprateur Dbut
Station de contrle
Dfinir un protocole de test Vrifier la v alidit des rsultats include Biochimiste Analyser les rsultats include Interprter les rsultats
alt
alt
Cas dutilisation
ActivityFinal
Fin
Activit
State3
Diagrammes comportementaux
1: request 1.2: Reply Object2 Object3
Object1
Object2
Request
Process Reply
Etat
1.1: transmit
Idle Actif
Interaction
0 10 20 30 40 50 60 70 80 90 100
Object7
Station de contrle
TimeLine1
Temporel
Communication
Node1
interface CommunicationControle
Package3
use
AxeNumerique realize 3 RobotTransfert
Package2
use
Package1
1
manifest
manifest
Component1
Component2
Module de chargement
Diagrammes structurels
Obj ect8 Obj ect9
Class1 Class2
rolebinding Collaboration
Class3
Stockage climatis
Obj ect10
Structure composite
Composant Objets
Spcifier
de manire prcise et complte, sans ambigut.
Construire
les classes, les relations SQL peuvent tre gnres automatiquement
Documenter
les diffrents diagrammes, notes, contraintes, exigences seront prsents dans un document.
Conception de la structure
Diagramme de classes
Conception du comportement
Diagramme de squence
Cas dutilisation
Principes
Dfinition
Description dun cheminement complet dutilisation du logiciel. Aboutit un rsultat concret pour lutilisateur.
Utilisation
Analyse de la fonctionnalit. Identifier les faons dutiliser le systme.
Cas dutilisation
Symboles
Cas dutilisation
Exemple
Dfinir un protocole de test Vrifier la v alidit des rsultats include Biochimiste Analyser les rsultats include Interprter les rsultats
Prparer la machine pour le protocole de test Raliser le protocole de test Operateur include
include
include
include
Diagrammes dactivits
Principes Dfinition
Description dun flot dactivit. Utilisation des lignes deau (swimlane) pour structurer. Met en vidence les interactions pour raliser une tche.
Utilisation
Analyse de la fonctionnalit. Trs utilis pour expliciter un cas dutilisation.
Diagrammes dactivits
Symboles
Acteur SousSyst me1 SousSy stme2
Dbut
Acti on1
Action3 Parallle
Action2 Parallle
Fi n
Diagramme dactivits
Exemple
Oprateur Dbut Station de contrle
Fin
10
Diagramme dactivits
Exemple
Module de chargement Robot de transfert Sockage climatis
Diagrammes de classes
Principes Dfinition
Vue structurelle du logiciel Reprsentation de classes et de leurs relations Proche de limplmentation
Utilisation
Trs utilis pour la conception de la structure du logiciel Prfrer des vues simples explicitant quelques aspects du logiciel Outil de travail itratif
11
Diagrammes de classes
Symboles
Cla ss 2 (composant) Cl as s1 # + # + AttributPriv: int AttributProtg: int AttributPublic: int MthodePrive() : void MthodeProt ge() : void MthodePubli que() : void Util ise Cla ss4 1 * Cla ss 3 (Agrgable)
Diagrammes de classes
Exemple structure du contrle de la machine
ContrleurAxeNumerique 3
ContrleurBeckhoff
Contrl eurB&R
RobotTr ansfert
Sorti eTOR
1 Pince 2
Entre eTOR 2
12
Diagrammes de classes
Exemple dfinition des squences
ListeP alette Pale ttes
PaletteTMO
Workflow
Actions
DposeRactif
Incubation
Mes ure
Diagrammes de squences
Principes Dfinition
Vue comportementale du logiciel Reprsentation des appels de mthodes entre objets Proche de limplmentation
Utilisation
Trs utilis pour dcrire un comportement du logiciel. Prfrer des vues simples explicitant une squence particulire. Ne lutiliser que lorsquil y a un vrai travail danalyse de squence.
On ne documente pas tous les enchanements dappels !
13
Diagrammes de squences
Symboles
Diagrammes de squences
Exemple - Edition
14
Diagrammes de squences
Exemple
15
Pourquoi modliser ?
Modle
Vue simplifie de la ralit. Permet de comprendre synthtiquement le systme dvelopper.
Le modle permet de
Visualiser le systme Spcifier la structure et le comportement du systme.
comme il est ou comme il devrait tre. ce quil fait ou ce quil devrait faire.
Valider le modle vis vis des clients Fournir un guide pour la construction du systme. Documenter le systme et les dcisions prises.
16
Exemple
Systme de commande daxe numrique
Commande de machines Gestion d'entreprise
Contrl eurAxe + + + + + Acceleration: double AxisID: int Speed: double Brake() : void Move() : void + + + +
Contrl eurAxe NumroArticle: int PrixVente : double QuantitMinimaleFabrication: int LancerFabrica tion() : void
Exemple
Contrl eurAxe + + + + UDPChannel: socket Brake() : void Move(doubl e) : void SetAcceleration (double) : void SetSpeed(dou ble) : void
+ + + + + +
Contre-exemple
Contrl eurAxe UDPChannel: socket BuildBrakeMessage() : void BuildMoveMessage() : void ConvertPositionToIn ternalUnit() : void IsCommunicationCha nnelReady() : void SendMessag e() : void
17
D E
18
Digital Output
Hirarchies principales
Composition des objets
Fait partie de
19
Notion de classe
Ensemble dobjets qui partagent le mme comportement. Partagent donc le mme code source ! On retrouve ainsi la notion de classe des langages OO.
20
21
22
3 Caractristiques
Identit
C++: cest ladresse en mmoire de lobjet.
Etat
C++: cest la runion des valeurs des champs de lobjet.
Comportement
C++: cest lensemble des mthodes de la classe de lobjet.
Test de validit
Un objet de ClasseA utilise un objet de ClasseB
Exemple
Lobjet Contrleur daxe numrique utilise lobjet socket UDP pour communiquer.
ContrleurAxeNumerique Util ise Socke tUDP
23
Test de validit
Le sous-objet a exactement la mme dure de vie que le contenant. Un objet de ClasseA est compos dun objet de ClasseB.
Exemple
Le systme de commande de la machine est compos de 4 contrleurs daxe numrique , de 20 entres TOR et de 10 sorties TOR .
Commande Machine 4 ContrleurAxeNumerique
Test de validit
Le sous-objet peut avoir une dure de vie diffrente du contenant. Un objet de ClasseA peut contenir un objet de ClasseB.
Exemple
Un workflow contient des actions .
Workflow Action
24
Test de validit
Un objet de la sous classe est un objet de la classe.
Exemples
Une opration de fraisage est une opration dusinage . Une sortie TOR Beckhoff est une sortie TOR .
ContrleurAxeNumerique
ContrleurBeckhoff
Contrl eurB&R
25
Justifications
Facilit
La structure du logiciel dcoule naturellement de la structure du monde rel.
Stabilit
La nature profonde de la ralit est assez stable. Donc le logiciel sera galement stable dans le temps. Pas de refonte complte pour la prise en compte de nouvelles fonctionnalits
Comprhension
La structure du logiciel sera aisment comprhensible partir de la connaissance du mtier.
Modlisation d'applications industrielles avec UML
26
27
Avec linterface hommemachine, loprateur dite une -machine, squence en ajoutant des actions, pour lesquelles il doit saisir les paramtres dusinage. dusinage. Lexcution dune squence dactions dactions consiste verrouiller les portes de scurit, mettre sous tension les axes numriques, puis excuter les actions lune aprs lautre.
Modlisation d'applications industrielles avec UML
Les agrgations
peut contenir des Une squence peut contenir de nombreuses oprations.
Les gnralisations :
Est un type de Le fraisage est un type dopration ralisable sur ces machines.
Les spcialisations
Plusieurs types de Il y a plusieurs types dutilisateurs : oprateur, technicien de maintenance.
Modlisation d'applications industrielles avec UML
28
Comment procder ?
Lanalyse et la conception
Phase danalyse : clarifier les objectifs
Clarifier exhaustivement les exigences remplir. Formaliser le comportement attendu du logiciel. Le faire valider par le client.
Dmarche gnrale
Abstraction : crer des vues simples comprendre. Dcomposition hirarchique vers plus de dtail. Utilisation dun langage facile comprendre par le client.
En savoir plus
sur UML et la conception oriente objet www.uml.org
29
Application rpandue
Les logiciels graphiques vectoriels
ObjetGraphique
30
Quavons-nous appris ?
Vos questions
31