Академический Документы
Профессиональный Документы
Культура Документы
Approche objet
Inconvnients et remdes La gense Le cycle itratif et incrmental
Seulement 15 % (chiffres 99) des applications crites sont mises en place et fonctionnent ! (selon des enqutes ralises aux USA)
Pourquoi ? Evolution des spcifications en cours de dveloppement Complexit des applications Technologies en perptuelle mutation Retards de livraisons Dpassements de budgets
Manque de ractivit
Ltat du March
Quelle est la ralit du dveloppement aujourdhui ?
Est-ce que je peux partager mes systmes existants ? Puis-je intgrer de nouvelles applications ? Quelle est ladaptabilit de mon application (souplesse) ?
Etat actuel : des dpendances ingrables entre des applications peu ou pas documentes
UML : le remde
Pour penser et concevoir objet, il faut savoir prendre de la hauteur, jongler avec des concepts abstraits, indpendants des langages dimplmentation et des contraintes purement techniques.
Il nous faut donc : Un langage qui permette de
reprsenter des concepts abstraits (graphiquement par exemple)
Historique dUML
UML 1.3
Standardisation OMG
Novembre 1997 Version finalise en dcembre 1999
UML 1.1
UML 1.0 UML 0.9 UML 0.8 Booch 93 OMT - 2 OMT - 1
Jim Rumbaugh
Janvier 1997
Juillet 1996
Octobre 1995
Booch 91
Grady Booch
OOSE
Ivar Jacobson
Il peut tre utilis avec tous les processus, travers le cycle de vie de dveloppement, et avec diffrentes technologies dimplmentation.
UML
Bien qu UML nimpose pas de processus , ses auteurs prconisent nanmoins lutilisation dune dmarche
Guide par les besoins des utilisateurs du systme Centre sur larchitecture logicielle Itrative et incrmentale (en opposition au cycle fonctionnel en cascade )
Cycle en cascade
Schma directeur Etude pralable Etude dtaille Etude technique Ralisation logicielle Application informatique installe dans la nouvelle organisation Rectification des anomalies Amliorations Evolutions Plan de dveloppement moyen terme des systmes dinformations Dossier de choix avec proposition et valuation de n solutions
Spcifications fonctionnelles compltes futur S.I.O. (vue utilisateur) Spcifications techniques compltes du futur S.I.I. (vue info.) pour la ralisation Bases de donnes gnres Programmes raliss et tests
Mise en service
Maintenance
Cycle itratif
Le dveloppement itratif et incrmental permet de construire un logiciel par pas successifs, chaque pas tant appel cycle. A la fin dun cycle, on obtient une nouvelle version du logiciel.
Chaque cycle est une succession de phases: Etude dopportunit (Inception in english)
Elaboration
Construction Transition
But : Etablir les besoins et dcider de leur prise en compte ou pas En sortie: refus du projet ou prise en compte avec : o Formalisation des exigences, des besoins o Critres permettant dvaluer le succs de cette itration
Les critres doivent tre mesurables (outils et conditions de mesure)
o Un plan de risque initial pour guider les choix de dveloppement Eventuellement: o Un prototype de conception o Un modle de domaine (10 20% du modle final)
La phase dlaboration
Buts : o Finaliser lanalyse du problme o Construire larchitecture du systme o Traiter les risques majeurs du projet
La phase de construction
Buts : o Finaliser le dveloppement du logiciel o Fournir lutilisateur une version oprationnelle du logiciel En sortie :
La phase de transition
Buts : o mise en uvre dune version bta chez les utilisateurs pour tests grandeur nature En sortie :
Perspective de gestion
Pilotage de projet Construction
Itration fonctionnelle Itration fonctionnelle Itration fonctionnelle Itration de transition Itration de transition
Perspective technique
Transition
Le nombre ditrations varient en fonction de la complexit
Les diagrammes
Modlisation des vues statiques dun systme
Le diagramme des cas dutilisation Le diagramme de classes Le diagramme de composants Le diagramme de dploiement
Ils se basent sur des diagrammes o des acteurs interagissent avec le systme de l'extrieur ou de l'intrieur
Types dacteur :
Les acteurs principaux : personnes qui utilisent les fonctions du systme. Les acteurs secondaires : personnes qui effectuent des tches administratives ou de maintenance. Les matriels extrieurs sauf la machine o se trouve lapplication (tels que distributeur de billets). Les autres systmes tels que par exemple le rseau des cartes bancaires
Il est impratif de bien dfinir les frontires du systme pour dfinir correctement les acteurs.
Quelles sont les tches de lacteur ? Quel acteur cre, sauvegarde, modifie, efface ou simplement consulte cette information ? Quel use case cre, modifie, efface cette information ? Lacteur devra-t-il informer le systme des changements venant de lextrieur ? Lacteur doit-il tre inform sur certain tat du systme ? Tous les besoins fonctionnels sont-ils pris en compte ? ?
Diagramme de cas d'utilisation les relations entre cas dutilisation ? La relation de communication :
Elle est reprsente par une flche entre linitiateur de Communique linteraction et celui qui la reoit changement
adresse
La relation dutilisation :
Client
Grer Client
Une instance du cas source comprend le comportement dcrit <<utilise>> dans le cas destination
Editer facture Calcul remise
La relation dextension :
Le cas source tend le comportement dcrit dans le cas destination
<<tend>> Grer Client Grer personne
Association
Organisation concours
Juge preuves
Classes et objets
Un objet est un membre dun systme orient objet.
Cest une entit atomique qui possde :
une identit qui le caractrise de faon non ambigu, un tat reprsent par le contenu de ses attributs et les liens quil a avec les autres objets, un comportement qui regroupe les comptences dun objet et dcrit ses actions et ses ractions (messages reus , messages envoys).
Les objets communiquent entre eux par des messages. La persistance des objets est la capacit pour un objet de sauvegarder son tat dans un systme de stockage de linformation.
Classes et objets
Une classe est un regroupement dobjets ayant les mmes proprits ou attributs, les mmes comportements, les mmes relations avec les autres objets.
Un objet est une instance dune classe.
Une classe nous permet de mieux grer la complexit car cest une dfinition abstraite mettant en lumire les points communs entre les objets quelle regroupe.
Le nom dune classe provient directement du domaine. Il commence par une lettre majuscule : Commandes, Clients, LigneCommandes
Classes et objets
Classes et objets
Une classe est reprsente par :
Stagiaires
idStagiaire strNomStagiaire nStage strAdresse .
Nom de la classe
Attributs
Comportements
Classes et objets
Une classe a au moins un strotype :
Classe "Boundary" ou classe la frontire du domaine Classe entit Classe de contrle Classe utilitaire Meta classe Classe d'exception
Une classe "boundary" modlise : la communication entre les intervenants autour du systme et ses propres tches.
Classes "boundary" typiques :
Interface utilisateur
Protocole de communication (interface systme) Interface d'impression Capteurs
Comment les dcouvrir ? En examinant chaque couple "acteur physique et scnario". On dcouvre une classe interface.
Durant le maquettage, ces classes peuvent tre redfinies en fonction des mcanismes de l'interface utilisateur.
Des prototypes et des maquettes de fentres peuvent tre crs pour communiquer le "look and feel" de la classe boundary l'utilisateur.
Une classe "entity" modlise les informations et les comportement associs (gnralement persistante).
Les caractristiques d'une telle classe sont : Elle reflte une ralit, Elle a besoin des tches internes du systme, La valeur de ses attributs est souvent fournie par un acteur, Son comportement est indpendant des intervenants.
Classes et objets
Une classe "contrle" supervise d'autres classes, assure la coordination entre classes
Elle cre, initialise et dtruit les objets contrls,
Elle contrle le squencement, ou coordonne l'excution des objets contrls. Elle n'a pas de "responsabilits" ceci est l'apanage des classes entity et boundary
Elle contrle la concurrence entre classes contrles, Elle est l'implantation d'un objet intangible, Au dpart , on cre une classe "contrle" pour chaque use-case; cette classe gre le flot d'vnements dans le use-case, Au fur et mesure de l'avancement de l'analyse, les classes "contrles" peuvent tre supprimes, dcoupes ou regroupes.
Classes et objets
Diagrammes de classes
Diagramme principal qui est la vue de plus haut niveau avec l'ensemble des classes de l'application Mais on peut avoir des vues logiques plus spcialises si ncessaire : Vue des classes participant un scnario Vue des classes "prives" dans un package Vue d'une classe avec ses attributs et ses oprations Vue d'une hirarchie d'hritage
Classes et objets
Les relations
Les objets contribuent au comportement du systme en collaborant avec d'autres objets; cette collaboration est reprsente par des relations. Il existe deux grands types de relations
L'association L'agrgation
Classes et objets
Les relations : l'association
Socits travaille pour Personnes
Inscriptions dateInscription
Classes et objets
Arit des associations
Agences Voyages
Sites touritiques
Touristes
Classes et objets
Les relations : l'agrgation
L'agrgation est une relation de type compos composant, matre esclave.
FrameSaisie
ComboPays
PanelRgion
PanelPays
Ne pas utiliser l'agrgat pour une association : se poser la question quand je dtruis le "compos" est ce que je dtruis le "composant" . Si oui, c'est un agrgat, sinon c'est une association Exemple : quand je dtruis la voiture, est ce que je dtruis la carrosserie ? Ne mettre en agrgation que si c'est vraiment utile.
Classes et objets
Les relations : la gnralisation
La gnralisation est une relation entre un lment gnral (la super classe) et un lment plus spcifique.
Personnes strNom strPrenom datNaissance strAdresse
Dans cet exemple de gnralisation, les attributs de Client sont ceux de Personnes plus ceux de Client.
Dans Personnes, on retrouve les attributs qui sont communs aux classes Clients, Fournisseurs, Salaris.
Fournisseurs strSecteur
Classes et objets
Les relations : les rles
Socit
Employeur Employ
Personnes
Classes et objets
Les relations : les cardinalits
Chaque rle d'une association porte une indication de multiplicit indiquant combien d'objets de la classe considre peuvent tre lis un objet de l'autre classe (c'est la mme
notion que les cardinalits merise sauf que l'indication se fait l'inverse).
Collaborateur
De m n occurences
Socit
< Travailler pour
0..* Personnes
Encadrer
Employeur 1
0..* Employ
0..1 Suprieur
Classes et objets
Contraintes sur les relations
Les contraintes sont reprsentes par des expressions places entre accolades.
Association
< appartenir
Personnes
0..* Membre
(Sous-ensemble)
0..* Bureau
Classes et objets
Exemple
Stagiaires datEntree datSortie cNiveauEntree affectation() iincriptionCours() 0..* creation() modification() suppression() Professeurs +enseigne 1..* 1..* Cours
+participant 0..*
participer
Personnes
strNom strPrenom datNaissance strAdresse
0..* 0..*
pr requis
Centres
Package Interface
Package A
Package X
Diagrammes d'interaction
C'est un diagramme qui donne une reprsentation graphique des interactions entre objets.
Il existe deux types de diagrammes d'interaction : Le diagramme de squence (fonction du temps), Le diagramme de collaboration( reprsente les flots de donnes). Chacun de ces deux diagrammes reprsente la mme chose vue diffremment.
Diagrammes d'interaction
Diagramme de squence
Un diagramme de squence montre les interactions entre objet dans le temps avec :
les objets participant l'interaction,
Ligne de vie de l'objet
Nom: Classe
: Classe
la squence des messages changs qui peuvent tre : o synchrone : ils sont alors symboliss par
Diagrammes d'interaction
Diagramme de squence
Nommer un objet dans un diagramme de squence :
Nom Nom: Classe : Classe
Gwendal
: Stagiaires
Objet B
Message2(p1,p2)
Objet B
Priode d'activit
Message2()
Diagrammes d'interaction
Diagramme de squence
Objet A
Reprsentation possible de la boucle While Tant que condition Envoie de Message1 *[condition]Message1()
Objet B
Objet C
[non condition]Message3()
Il est possible d'crire un script la gauche du diagramme en langage naturel ou en pseudo code
:Stagiaires
SaisieHeure : Jpanel
: Pointages
: Stagiaires
1: SaisieAction ( )
3: afficheMsg()
4: afficheMsg(nStage)
8: afficheMsg(nStagiaire)
Diagrammes d'interaction
Diagramme de collaboration
6: CtlStagiaireExist(nStagiaire)
SaisieHeure : Jpanel
7: retour(bExiste)
: Stagiaires
9: createMvtPointage
C'est un diagramme qui donne une reprsentation graphique des interactions entre objets.
:Pointages
Arriv visteur Dcision d'exploitation Date ouvertue - 1 mois[ si pas de remise en tat ]
Site visit
date fermeture
Date fermeture
Diagramme dactivits
Les diagrammes d'activits sont crs pour illustrer le flot d'vnements l'intrieur d'un cas d'utilisation.
C'est une variante du diagramme d'tats transitions. Une activit est reprsente par
mettre appel de cotisations Complter informations salaris Enregistrer paiement Payer cotisations Enregistrer informations salaris
Appel mis
Appel 1 relance
mettre 2me relance Appel 2 relance Mettre en contentieux
Appel pay
Appel contentieux
Contrat suspendu
Rsiliation du contrat
Contrat rsili
Diagrammes de composants
Les diagrammes de composants illustrent lorganisation et les dpendances parmi les composants logiciels. Les symboles utiliss sont :
Accueil
dll
corps
Package :
spcification
corps
Diagrammes de composants
Les symboles (suite) :
Tches : spcification
corps
(exe)
Dpendances :
pointe de l'utilisateur des service vers le fournisseur de service
Interfaces :
Diagrammes de composants
Crer groupe
Consultation groupe
Le dploiement du systme
Le diagramme de dploiement visualise la distribution des composants dans lentreprise. Les symboles utiliss sont :
Serveur2
modem
LaserJet
Le dploiement du systme
<<TCP/IP>> Site central
exemple
Site rgional
Infographie
Application1 Application 2
FIN