Professional Documents
Culture Documents
2A - Anne acadmique : 2009 - 2010 Rdig par Abdelhadi AIT ADDI Matre de confrence Dpartement Info IUT A Tl : 04 74 47 21 46 Mobile : 06 64 98 77 59 Mail : addi@e-businesspartners.fr
Prsentation du cours
Vue d'ensemble
Besoins Analyse Conception Codage Test
Prsentation du cours
Objectifs
Appliquer une dmarche d'analyse itrative pilote par les cas d'utilisation Matriser les concepts et la notation UML pour l'analyse Dfinir les besoins avec les cas d'utilisation
Prsentation du cours
Objectifs
Construire des diagrammes de classes d'analyse Construire des diagrammes de squence d'analyse Construire des diagrammes d'tats pour les classes d'analyse
Prsentation du cours
Ce qu'est et n'est pas UML UML = Langage de modlisation
UML Mthode
Prsentation du cours
Dfinition d'UML
Comprendre et dcrire les besoins Spcifier des systmes, simples ou complexes Concevoir et construire des solutions Documenter (textes et graphiques) un systme Communiquer entre les membres de l'quipe projet
Prsentation du cours
Dfinition d'UML
Le type de systme logiciel, matriel, organisation, etc. Le domaine mtier gestion, ingnierie, finance, etc. Le processus de dveloppement cascade, itratif, RAD, etc.
Prsentation du cours
UML est un standard OMG
L'Object Management Group (OMG) a retenu UML comme le langage de modlisation objet standard, pour la spcification et la conception L'OMG est dsormais responsable de ses volutions Site officiel : www.omg.org
Prsentation du cours
Le processus de dveloppement
QUI fait QUOI, QUAND et COMMENT ? Il existe une grande varit adapter en fonction :
Du projet : Modification de l'existant ? Petit projet ? Temps rel ? Des gens : Expertise ? Exprience ?
Prsentation du cours
Points-cls : Expression des besoins
Inutilisables, Inutiles
Parmi les symptmes les plus frquents sur les projets informatiques ayant chou :
L'incapacit traiter des exigences volutives La mauvaise comprhension des besoins des utilisateurs finaux.
Prsentation du cours
Points-cls : analyse
Le manque de connaissances mtiers peut provoquer des erreurs ou des dtails importants Vous allez rsoudre le mauvais problme !
Prsentation du cours
Rsum ; Rflexion
UML Notation standardise pour la ralisation de modles. Processus Enchainement des tapes et gestion du dveloppement. Expression des besoins et analyse sont des activits indispensables avant la conception et le codage.
Dcrire les concepts fondamentaux des processus de dveloppement unifis Positionner l'expression des besoins et l'analyse dans ce type de processus Comprendre l'intrt d'UML dans ce cadre.
Le processus unifi (UP) est rapidement devenu le standard de fait du processus de dveloppement du logiciel industriel Nous sommes un moment particulier dans l'histoire des mthodes de dveloppement logiciel.
UP combine la plupart des meilleurs pratiques modernes UP vient de ceux qui sont perus comme les meilleurs experts
Livres, Outils.
UP est flexible :
Suppose que nous pouvons dfinir tous les besoins ds le dbut du projet. Combat le changement par un effort d'avoir bon ds le dpart, plutt que de considrer la gestion du changement comme activit de base du processus.
Est focalis sur les documents et les runions Retarde la rsolution des risques (ex : intgration) Amne des conflits entre les diffrentes parties :
Dveloppement itratif Centr sur l'architecture Pilot par les risques Gestion des exigences
Inception :
tudes de faisabilit du projet (Macro estimation des besoins) Dfinir la vision du produit et business case
laboration
Construire l'architecture de base et dfinir la plupart des besoins Exigences dtailles Prototype dtaill Dtail des uses cases Diagrammes de classes, squence, ...
Construction
Transition
Identifier les acteurs d'un systme Identifier les cas d'utilisation d'un systme Construire le diagramme de cas d'utilisation
Positionnement de la phase
Le cahier des charges est souvent insuffisant Les besoins et les contraintes sont parfois mal exprims
De complter et /ou de reformuler le cahier des charges De dterminer les frontires du systme D'aider au dimensionnement du projet.
De dterminer les frontires du systme De reprsenter les interactions utilisateurs / systme De structurer les besoins fonctionnels en ensembles cohrents.
Ont l'expertise du domaine, sont les garants du bienfond du modle Ont la responsabilit de la description textuelle des cas d'utilisation
Les analystes ont pour rle de modliser les informations fournies par les experts mtier avec les concepts et les diagrammes UML appropris :
Doivent poser des questions aux experts mtier pour complter et formaliser l'expression de besoin (diagrammes dynamiques, etc).
Qui utilise le systme ? Quelles sont les interactions Utilisateurs / Systme ? Quels services le systme doit-il fournir ?
Qui attend un ou plusieurs services du systme A qui le systme fournit une interface d'accs Qui interagit avec le systme par l'envoi / rception des messages C'est une personne ou un autre systme informatique
Le rle qu'ils jouent vis vis du systme Leurs relations avec les cas d'utilisation.
Un grand nombre de personnes physiques peuvent se connecter la station, mais il n'y a que deux rles potentiels vis vis du systme : utilisateur et administrateur.
Une mme personne physique peut se connecter successivement comme utilisateur puis comme administrateur. Plusieurs personnes physiques diffrentes peuvent se connecter en tant qu'utilisateur.
Un acteur peut jouer diffrents rles selon le le cas d'utilisation ou la fonctionnalit qu'il demande au systme.
Utilisez le stick man pour les acteurs humains Utilisez le rectangle avec le mot-cl pour les autres.
Il exprime les interactions acteur / systme Il apporte une valeur ajoute notable aux acteurs concerns Il correspond une intention complte dans l'utilisation du systme par les acteurs concerns. La faon dont le systme ralise les services est masque
Un acteur dmarre le cas d'utilisation par un vnement dclencheur Plusieurs acteurs peuvent participer au mme cas d'utilisation
Des acteurs secondaires peuvent tre sollicits L'acteur principal est le bnficiaire du cas d'utilisation
Frontire du systme
Mcanicien
Rparer Association
Cas d'utilisation
Pr-condition : exemple
Rechercher les entits externes qui communiquent avec le systme : Oprateurs humains Autres systmes connects
Rechercher les diffrentes faons dont il utilise le systme Rechercher dans le cahier des charges les services attendus du systme
Contrler qu'il fournit une valeur ajoute notable aux acteurs Contrler qu'un vnement externe en dclenche l'excution
Un cas d'utilisation doit reprsenter une tche mtier pour les acteurs Un cas d'utilisation n'est pas une fonction atomique :
Exercice
Distribution d'argent tout porteur de carte de crdit (visa ou carte de la banque) Consultation de solde de compte, dpt en numraire et dpt de chque pour les client de la banque porteur d'une carte de crdit de la banque. Toutes les transactions sont scurises (autorisation) Il est parfois ncessaire de recharger le distributeur...
N'oubliez pas !
Exercice
Identifiez les acteurs du GAB Trouvez des noms de rle vocateurs Dcrivez chaque rle en une phrase Trouvez des noms de cas d'utilisation vocateurs du service rendu Spcifiez le ou les acteurs lis chaque cas d'utilisation Dcrivez la valeur ajoute en quelques phrases.
Regroupement en packages
La structuration du modle des besoins consiste regrouper les cas d'utilisation en packages Package = mcanisme gnral pour regrouper des lments UML et structurer les modles Il peut contenir :
Des lments UML : cas d'utilisation, classes, composants, etc. Des diagrammes
Regroupement en packages
Plusieurs critres de regroupement sont possibles : Par domaine d'expertise mtier Par acteurs concerns Par incrment raliser
Regroupement en packages
Exemple du GAB Retrait Visa Porteur de CB Visa Maintenance Oprateur de maintenance Packages
Savoir dcrire la description textuelle dtaille d'un cas d'utilisation Apprhender la taille d'un cas d'utilisation Distinguer cas d'utilisation essentiels et rels
Un scnario correspond l'excution d'un ou plusieurs enchanements joignant le dbut du cas d'utilisation une fin normale ou non. Les enchanement parcourus lors d'un scnario sont slectionns par :
Les messages envoys par les acteurs L'tat et les actions du systme.
La fiche de description textuelle n'est pas normalise en UML Nous prconisons pour notre part la structuration suivante :
Sommaire d'identification (obligatoire) inclut titre, rsum, version, responsable, acteur,... Description des enchanements (obligatoire) dcrit les enchanement nominaux, alternatifs, les exceptions mais aussi les pr-conditions et les post-conditions
Ajoute les contraintes d'interface homme-machine : ce qu'il est ncessaire de montrer, en jonction avec les oprations que l'utilisateur peut dclencher...
Ajoute les informations suivantes : frquence, volumtrie, disponibilit, fiabilit, intgrit, confidentialit, performance, concurrence, etc.
Titre : commence par un verbe Rsum : une ou plusieurs phrases dcrivant le cas d'utilisation Acteurs : l'acteur dclenchant et les acteurs participants Pr-conditions : Conditions d'environnement. Ce qui doit tre vrai au niveau du systme pour que le cas d'utilisation puisse dmarrer Description des enchanements : le cas d'utilisation commence lorsque l'acteur X envoie le message Y au systme [.....] Squences d'intractions
Post-conditions : Ce qui a chang dans le systme de faon visible la fin normale du cas d'utilisation. Autre sections : pour spcifier des contraintes ou des exigences non-fonctionnelles.
Un cas d'utilisation spcifie plusieurs enchanements d'vnements Un enchanement nominal Des enchanements alternatif(s) Des enchanements d'exception
Lorsqu'un enchanement nominal ou alternatif est excut, les post-conditions sont atteintes Lorsqu'un enchanement d'exception est excut, les postconditions ne sont pas atteintes
Insister sur les vnements entre les acteurs et le systme sans dcomposer le traitement effectu l'intrieur du systme Donner la priorit aux choses que les acteurs peuvent percevoir (vue boite noire du systme)
Toute discussion sur le traitement interne ou sur les dcisions de conception est possible mais devrait tre faite en en mesurant les consquence Ne pas insister sur les interactions entre acteurs
Dcrivez la partie obligatoire du cas d'utilisation : Retirez de l'argent (avec carte visa) Utilisez le type essentiel
Cas d'utilisation
Ce sont des descriptions narratives dont le plan-type n'est pas standardis Un cas d'utilisation contient potentiellement plusieurs scnarios Il est utile de distinguer les niveaux essentiel et rel Voyez vous comment utiliser les cas d'utilisation dans votre travail ?
Rflexion
Savoir crer des diagrammes de squence de niveau systme Utiliser les diagrammes d'activit pour la description de cas d'utilisation complexes
L'objectif des cas d'utilisation est favoriser le dialogue avec les utilisateurs La description textuelle peut devenir complexe, ambigu, difficile matriser
condition de prsenter et d'expliquer les diagrammes au cours de runions avec les utilisateurs Si l'on se limite dcrire le systme avec une vision boite noire Si l'on garde toujours la lisibilit comme objectif prioritaire
Diagramme d'tats
tat tat
tat
On fait un diagramme d'activit par scnario ou par cas d'utilisation On fait un diagramme de squence par scnario Le diagramme de collaboration reprsente l'espace Le diagramme de squence reprsente le temps Le diagramme d'tat permet de dtecter les tats alatoires
Le diagramme de squence systme illustre la succession temporelle des vnements du systme causs par des messages venant des acteurs Il peut tre utilis en considrant le systme comme une bote noire, et en montrant les interactions avec les acteurs, dans le cadre d'un scnario d'un cas d'utilisation particulier
Reprsentation graphique
c:client
de l'agence y : GAB Introduction carte Demande code Code (valeur)
Axe du temps
Nommez les messages venant des acteurs avec des termes de niveau utilisateur, non en terme technologique
Assurez la cohrence entre la description textuelle du cas d'utilisation et le diagramme de squence systme
Diagramme d'activit
Un diagramme d'activit reprsente les tapes d'une procdure C'est un graphe orient d'activits et de transition
Les transitions sont franchies lors de la fin des activits Des tapes peuvent tre ralises en parallle ou en squence
Comprise par les utilisateurs, mais sujette des interprtations Compris par les utilisateurs
Rsum ; rflexion
La description textuelle des cas d'utilisation peut tre complte par des diagrammes dynamiques, principalement :
Des diagrammes de squence de niveau systme pour les scnarios les plus intressants Un diagramme d'activit par cas d'utilisation
Savoir relier les cas d'utilisation les uns aux autres avec des relations
Les cas d'utilisation peuvent tre organiss et relis afin de factoriser et simplifier leurs description textuelle ou graphique UML dfinit trois type de relations standardises entre cas d'utilisation :
Une dpendance d'inclusion Une dpendance d'extension Une relation de gnralisation / spcialisation
Le cas de base en incorpore explicitement un autre, un endroit spcifi dans ses enchanements. Le cas d'utilisation inclus n'est jamais excut seul, mais seulement en tant que partie d'un cas d'utilisation de base plus vaste. On utilise cette relation pour viter de dcrire plusieurs fois le mme enchanement en factorisant le comportement commun dans un cas d'utilisation part.
Pour tous les cas d'utilisation, l'acteur principal doit tre authentifi. Le processus d'authentification implique un flot d'vnements entre l'acteur et le systme : saisie d'un login, puis d'un mot de passe, avec les diffrents cas d'erreur possibles.
Dposer de l'argent
include include
Retirer de l'argent
Authentification client
include
Consulter solde
Le cas de base en incorpore implicitement un autre, un endroit spcifi indirectement dans celui qui tend. Le cas de base peut fonctionner seul, mais peut aussi tre complt par un autre, sous certaines conditions, et uniquement certains points particuliers de son flot d'vnements appels points d'extension. On utilise principalement cette relation pour sparer le comportement optionnel (les variantes) du comportement obligatoire. Attention au sens des flches de dpendances include / extend !
Dans le cas d'utilisation Retirer de l'argent, le client peut avoir envie de consulter son solde avant de choisir le montant de retrait. Il peut galement se connecter sur le GAB uniquement pour consulter son solde.
Retirer de l'argent
extend (Vrification montant)
Consulter solde
Les cas d'utilisation descendants hritent de la smantique des parents Les descendants peuvent ajouter ou modifier les interactions hrites
On utilise cette relation pour formaliser des variations importantes sur le mme cas d'utilisation
Dposer du numraire
is a (Vrification montant)
L'acteur parent dfini un rle commun Les descendants hritent des associations avec les cas d'utilisation
Identification
Acteur parent : abstrait en italique Rle gnral
Cas d'utilisation X
Dpendance d'inclusion include Dpendance d'extension extend Gnralisation-spcialisation Quel intrt ? Quels risques voyez-vous ?
Rflexion