Home
Analyse, Conception et Programmation par Objets
Contents
1. lt dinclude gt gt i 1 Tourner le volant lt lt includ gt gt Voiture lt lt include gt gt tablir le contact N Passer une vitesse Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 123 UML mod le fonctionnel Diagramme de s quence cas d utilisation exemple dabCL1 Distibuteur de billets introduireCarte saisirCode 7435 Fe afficher Saisissez votre code choisirRetra it v rifierCode 7435 J 772 code OK afficherMenuPrincipal choisirMontant 200 Le afiicherMenuRetraits KI Le v rifierR serve 200 7 r serve OK ES afficher Pour r cup rer vos billets reprenez votre carte ejecterCarte Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 125 UML mod le fonctionnel Exemple de factorisation par la relation include j Distributeur de billets Consulter compte 4 lt lt include gt gt Retirer argent N Client Effectuer virement Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 124 M thodologie pour l analyse et la validation M thodologie pour l analyse et la validation Rappel le cycle en V M thodologie introduction Les tapes de l analyse Pr p
2. Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 155 UML mod le d implantation Hyperg n ricit L hyperg n ricit est un m canisme de Modelio base de r gles langage J permettant de rendre param trable la g n ration de code et de documentation D d automatiser au maximum la phase de conception technique et de codage Principe gt on utilise les directives pr d finies sous Modelio pour annoter les l ments de mod lisation lors de la phase de conception si besoin on peut d finir de nouvelles directives et modifier le jeu de r gles pilotant la g n ration de code gt l id e est de sp cifier des principes un niveau global quitte les invalider localement le code g n r tient alors compte des directives choisies Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 157 UML mod le d implantation Directives ou tagged values M canisme g n ral permettant d annoter le mod le en vue principalement de son implantation Tout l ment du mod le peut tre annot package classe op ration param tre association etc Sous Modelio directives interpr t es par des r gles d hyperg nericit D Exemples de directives pr d finies pour les op rations o virtual et inline C seulement JavaNat
3. R partition des co ts de maintenance Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 1 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 2 Les concepts objets D fis des langages et m thodes objets Quatre d fis principaux R duire les co ts de d veloppement des logiciels R duire les co ts de maintenance Faciliter la r utilisation de composants logiciels d j r alis s Accro tre la qualit du logiciel et une r volution en cours pour les Informaticiens D veloppement de biblioth ques de composants logiciels r utilisables Construction d applications par assemblage de composants selon des m thodes rigoureuses et prouv es Travail un plus haut niveau d abstraction que le code Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 3 Les concepts objets Modularit D composabilit modulaire d composition d un logiciel complexe en sous syst mes moins complexes lt gt Composabilit modulaire utilisation d l ments existants pour construire de nouveaux logiciels Compr hensibilit modulaire compr hension de chaque module pris isol ment gt Protection modulaire chaque module est responsable de ses dysfonctionnements et les traite localemen
4. t d instances minimum et maximum pouvant tre li es une instance de la classe Exemples 2 0 2 1 1 10 50 100 description string Salaire integer Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 47 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 48 UML mod le des classes UML mod le des classes Association orient e j Exercice associations orienter L orientation sp cifie un sens d utilisation c d la classe qui utilise vs la classe qui est utilis e Assureur Une association peut ainsi tre orient e dans un sens tre orient e dans les 2 sens Fichier R pertoire ne pas tre orient e A l issu de l analyse toutes les associations devraient tre orient es et sauf cas tr s particulier dans un seul Professeur sens D Exemple Biblioth que Ouvrage Isi l propulsion propu seut R acteur 1 1 ci Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 49 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 50 UML mod le des classes Visibilit d une association orient e j Une association orient e peut tre o priv e o prot g e o public gt Exemple propulseur direct
5. Disque_Dur P V hicule_Transposrt_ A rien Pr condition Post condition altitude gt 600 pieds re Avion_Tourisme H licopt re Post condition i d coller d coller 1 t altitude gt Bande_Magnetique 2 E 1000 pieds Post condition A Pr condition altitude gt 1600 Pr condition piste gt 300 m pieds piste gt 5 m Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 69 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 70 UML mod le des classes UML mod le des classes R gles relatives aux orientations des liens entre classes Orientations mutuelles exercice j Les orientations mutuelles sont viter Fe i Jaaa Critiquer am liorer cette mod lisation g ne p dagogique difficult s pour d veloppement tests et int gration Humain gt Degr de gravit o niveau conceptuel grave o niveau contextuel g nant o niveau op rationnel acceptable D mauvais Exemples p pouse Rappel d pendances mutuelles entre packages strictement interdites Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 71 Analyse conception et programmation par objets CCSI Mines ParisTech imprim
6. d utiliser le syst me Un cas d utilisation correspond une s quence d interactions entre le syst me et un ou plusieurs acteurs Un jeu de cas d utilisation permet de d crire de mani re informelle le service rendu par le syst me dans sa globalit autrement dit ils fournissent une expression fonctionnelle du syst me Un cas d utilisation porte un nom Notation un ellipse autour du nom du cas d utilisation Les diagrammes de cas d utilisation permettent de visualiser les liens entre acteurs et cas d utilisations ainsi que les liens entre cas d utilisation Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 118 UML mod le fonctionnel UML mod le fonctionnel Diagramme de cas d utilisation exemple j Relations entre cas utilisation j Inclusion MOI gt permet une approche top down de la sp cification des besoins utilisateurs indique qu un cas d utilisation Se d placer se d compose en plusieurs autres G n ralisation permet de d finir un cas d utilisation comme un cas Ecouter de la musique Eee particulier d un autre plus g n ral et ou plus abstrait Conducteur gt Extension n T l phoner permet la gestion des variantes pouvant tre ajout es ou pas une fonctionnalit Garagiste initiale mais qui ne sont pas strictement n cessaires la comp
7. Conception Int gration R alisation Relative rigidit cycle classique car relativement facile ma triser et mettre en oeuvre Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 21 Analyse et conception Cycle en cascade Encha nement lin aire des phases Analyse N Conception R alisation Int gration N Validation Cycle tr s rigide retour en arri re extr mement co teux Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 20 Analyse et conception Cycle en spirale ou it ratif j Chaque phase du cycle est ponctu e par une analyse des risques encourus sur la phase suivante Si les risques sont importants l quipe aura recourt du prototypage Chaque it ration fournit une nouvelle version du syst me pas forc ment compl te Analyse d taill e Conception Analyse pr liminaire agrsion 2 Validation Int gration Cycle puissant mais d licat ma triser Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 22 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 Analyse et conception M thodes d analy
8. CCSI Mines ParisTech imprim le 15 septembre 2011 140 M thodologie pour l analyse et la validation A7 Sp cifier en d tail le mod le gt Compl ter la sp cification de chaque classe attributs et op rations pour chaque op ration liste des param tres et type de retour pour chaque attribut et param tre son type pour chaque association orientation cardinalit s et r le s d pendances vers d autres classes caract re de classe des attributs ops assocs Sp cifier lorsque c est n cessaire o les invariants des classes et des packages o les automates d tats des classes les pr post conditions des op rations les diagrammes d activit s des op rations Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 142 M thodologie pour l analyse et la validation A7 Sp cifier en d tail le mod le suite gt Appliquer les r gles d emploi du mod le des classes suppression des cycles etc Ajouter les pr cisions documentaires utiles la clart de la mod lisation Par contre il est inutile en phase d analyse de sp cifier gt les visibilit s les accesseurs pour les attributs et les associations les constructeurs sauf si ils sont non triviaux Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembr
9. Mines ParisTech imprim le 15 septembre 2011 133 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 134 M thodologie pour l analyse et la validation M thodologie pour l analyse et la validation A2 tablir le dictionnaire ou glossaire Pr cision sur le dictionnaire Moyen pour tablir et figer la terminologie du domaine D finition Traduction Nom de l application UML informatique Point d entr e et r f rentiel initial de l application gt Outil de communication avec les clients Outil pour assurer la coh rence entre analyse conception et r alisation Pr ciser les noms et les d finitions propres l application remplir les 2 premi res colonnes D Rangement par ordre alphab tique Justifier toute absence de terme ventuellement constitu de deux parties Retirer les synonymes et qualifier les homonymes 1 dictionnaire des notions Valider le dictionnaire avec le client 2 dictionnaire des actions Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 135 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 136 M thodologie pour l analyse et la validation M thodologie pour l analyse et la validation A3 Identifier et d finir les classes d interface j A4 Structur
10. ajout de raccourcis dans les chemins entre classes d pend pas de la plate forme utilis e pour l acc s aux op rations les plus fr quemment invoqu es AbstractButton button fac createButton AbstractButton button2 fac createButtont acc l ration des acc s au niveau des associations de cardinalit lev e ou variable via ordonnancement des instances ou liaison directe vers certaines instances AbstractLabel lab fac createLabel d placement d attributs vers la classe qui les utilise directement D suppression des classes inutiles via rapatriement des donn es m thodes dans la classe utilisatrice ajout de dispositifs pour m moriser les r sultats des op rations co teuses en temps cache pour bufferiser certains acc s co teux etc Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 179 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 180 M thodologie de la conception l int gration M thodologie de la conception l int gration Conception d taill e r sum Conception d taill e bilan j La conception d taill e consiste en A la fin de cette tape un certains nombre de choix techniques d licats toutes les d cisions de d tail ont t prises et document es o param trage et encapsulation des comp
11. destinataire Groupe Professeur 1 Mati re Enseignement enseignant Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 63 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 64 UML mod le des classes UML mod le des classes R gles relatives aux attributs j R gles relatives aux attributs 2 j Identifiant d une classe valeur caract risant un objet Tout attribut d une classe devrait tre du type d une le sous ensemble minimal des attributs n cessaires pour classe l mentaire sinon association distinguer de fa on certaine 2 instances quelconque de la classe e g num de s curit sociale vs nom pr nom Un attribut doit avoir une signification pour toutes les instances de la classe dans laquelle il est d fini La valeur d un attribut n appartenant pas l identifiant 7 de la classe ne doit pas d pendre fonctionnellement o d un attribut n appartenant pas non plus T o d un sous ensemble strict de T Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 65 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 66 UML mod le des classes UML mod le des classes R gles
12. et ou un descriptif textuel Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 114 UML mod le fonctionnel UML mod le fonctionnel 1 Acteurs 2 Cas d utilisation 3 Diagrammes de cas d utilisation 4 Relations entre cas d utilisation Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 115 UML mod le fonctionnel Acteurs exemple j Propri taire Constructeur N N N Voiture Conducteur lt lt actor gt gt Garagiste Passager Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 117 UML mod le fonctionnel Un acteur est une entit ext rieure au syst me et amen e interagir avec lui D Un acteur est une classe avec st r otype actor Un acteur peut repr senter un utilisateur direct du syst me humain ou un autre syst me On distingue o les acteurs primaires ceux pour qui le syst me est directement pr vu o les acteurs secondaires ceux dont l existence est la cons quence des besoins des utilisateurs primaires Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 116 UML mod le fonctionnel Cas d utilisation ou use cases j gt Un cas d utilisation est une mani re particuli re
13. g nie logiciel Shari L Pfleeger Software Engineering Theory and Practice 2nd Edition Prentice Hall 2001 659p Carlo Ghezzi Mehdi Jazayeri Dino Mandrioli Fundamentals of Software Engineering Prentice Hall 2003 604p Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 200
14. le 15 septembre 2011 72 UML mod le des classes UML compl ments au mod le des classes Exercice le plombier et l picier Comme pour les associations viter dans la mesure du possible les utilisations contextuelles mutuelles UML compl ments au mod le Exercice critiquer am liorer cette mod lisation des classes Epicier Plombier 1 Interfaces vendre_victuailles r parer_plomberie 2 Classes param trables faire_r parer_plomberie acheter_victuailles 3 Attributs associations d riv s et identifiants 4 Responsabilit s etc Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 73 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 74 UML compl ments au mod le des classes UML compl ments au mod le des classes Interfaces notations j Deux notations pour interfaces et liens de r alisation Concept similaire aux interfaces Java Une interface porte un nom 1 Notation compacte E n liste des op rations publiques peut lister des signaux notamment des exceptions ClasseUtilisatrice ne comporte ni attributs ni associations Z ne peut pas tre instanci e Tj ClasseR alisatrice o 13 12 sert sp cifier un type abstrait pouvant tre implant par une ou plusieurs classes 2 Nota
15. le dynamique Diagramme d tats Sc nario Diagramme d activit s e parfois utile ee tr s utile eee indispensable Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 148 UML mod le d implantation UML mod le d implantation Composant Diagramme de composants Noeud et liaison Diagramme de d ploiement Directives Hyperg n ricit Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 150 UML mod le d implantation UML mod le d implantation Diagramme de composants j l ment physique du syst me D finition des composants logiciels en terme de codes source ou ex cutable fichier de donn es composition et de d pendances St r otypes pr d finis lt lt executable gt gt ex cutable ServeurJeuEnR seau library file document table lt lt executable gt gt EntityBean et SessionBean Clientjoueur support pour les EJB en cours de standardisation Liens possibles entre composants d pendance et composition Comme une classe un composant peut r aliser une ou plusieurs interface s Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 151 Analyse conception et programmation
16. 2 0 Soit une classe Carr h riti re d une classe Rectangle son invariant peut s crire en Java largeur hauteur Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 40 UML mod le des classes Une op ration est d finie par o son nom o ses param tres nom type valeur par d faut mode de passage passage par valeur In passage par r f rence pour un r sultat Out passage par r f rence d une valeur qui pourra tre modifi e Inout o son type de retour ventuel o son action sur l instance courante modification possible mode par d faut op ration constante propri t query Une op ration peut tre de classe notation soulign gt Une op ration peut tre abstraite notation en italique ou tiquette abstract Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 42 UML mod le des classes UML mod le des classes Classe attribut op ration exemple Pr Post conditions j Pr conditions d une op ration ensemble des conditions pr alables l ex cution de l op ration date_paye date Post conditions d une op ration ensemble des indice integer 0 conditions devant tre v rifi es l issue de l ex cution facteur real de l op ration augmen
17. Analyse et conception M thodes d analyse et de conception historique UML RUP ou quivalent OMT OOA Classe relation M thodes objets O00D HOOD OOSD SA RT Diagrammes Etat Transition R seaux de P tri M thodes comportements Entit Relation MERISE IA NIAM M thodes donn es Data flow SADT SA SD Structure Chart M thodes fonctionnelles hi rarchiques Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 24 UML introduction UML introduction Fondements Historique et perspectives Disponibilit 4 Exemple 5 Contenu d UML Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 26 UML introduction UML introduction Principales qualit s du mod le objet Unified Modeling Language UML o association donn es traitements encapsulation gt Langage de mod lisation universel o s paration entre interface et implantation R sultat de la convergence en 1995 des m thodes public priv OMT James Rumbaugh o organisation hi rarchique des classes h ritage OOA OOD Grady Booch Objectory OOSE Ivar Jacobson Principales limites du mod le et des langages objet Standard industriel sous la direction de l Object o mod lisation des relations non hi rarchiques Management Group OMG depuis UML 1 1 1997 o vision dynamique de
18. Critiquer am liorer le diagramme suivant CONDITION m Soci t Cabinet recutement Mr X Personne non CONDITION m2 demande Dir achats proposerEntrevue 15 mars 14h CONDITION1 m3 entrevue CONDITION2 m4 d cideEmbauche Mr X CONDITION3 m5 _ false notifierRefus Mr X notifierRefus Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 105 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 106 UML mod le dynamique Diagramme de collaboration notations Classe1 1 m1 2 m2 x y J 3 m2 x2 y2 4 m3 objetMachin Classe2 1 1 create Na 2 1 81 x y Na 3 1 82 x2 y2 Na 41830 Na 4 1 1 destroy Sa JobjetTruc Classe3 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 107 UML mod le dynamique Diagrammes d activit s utilisation Deux contextes d utilisations distincts 1 Macroscopique Mod lisation d un flux de traitements workflow o permet de d composer les activit s du point de vue des acteurs du syst me d tailler expliciter les activit s m tiers o diagramme associ typiquement un cas d utilisation ventuellement un pack
19. classes r le des associations etc Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 113 UML mod le dynamique Diagramme d activit s autre exemple Consommateur Serveur Cuisinier Choisir table Apporter carte arriv e nouveau client client pr t commander Demander choix Passer commande Noter commande Pr parer commande Mod lisation d un workflow Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 112 UML mod le dynamique R sum et mode d emploi du mod le dynamique Si besoin titre documentaire expliciter le contexte g n ral m tier travers un ou plusieurs diagramme s d activit s Expliciter les interactions utilisateur syst me travers un ou plusieurs sc nario s macroscopique s Identifier les classes ayant des comportements syst matiques r agissant des conditions particuli res Pour ces classes d finir un ou plusieurs diag d tats Pr parer un jeu de sc narios d taill s pour tester illustrer la faisabilit des principales fonctionnalit s en termes d encha nements de m thodes diag de s quence et ou diag de collaboration Si besoin et titre documentaire sp cifier le fonctionnement des principales ops de chaque classe travers un diag d activit
20. d pendance et l lister les l param tres 1 Classe param tr e ensemble d associations partant d une classe effectifs Classes objets actifs pour mod liser les applications Classe param tr e differament multi thread es notation rectangle bord gras Multi objets collection d instances similaires dans un diagramme d instance D S mantique identique aux templates C et Java Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 81 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 82 UML mod le dynamique UML mod le dynamique 7 x Occurrence instantan e d une situation donn e UML mod le dynamique significative pour le syst me Les v nements peuvent tre o internes au syst me mis par un objet v nements A N o externes capteur physique bouton d une IHM etc Diagrammes d tats Diagrammes de s quence Un v nement peut appara tre dans les diagrammes Diagrammes de collaboration FER x r s o de s quence de collaboration d activit Diagrammes d activit o de classes v nements signaux seulement voir Importance des commentaires plus loin R sum et mode d emploi du mod le dynamique Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 8
21. et ses d clinaisons RUP EUP o une m thodologie ad hoc adapt e aux besoins sp cifiques d une quipe pour un projet donn D Principales m thodologies compatibles UML o g n rales g n riques UP RUP Catalysis o agiles XP Scrum Crystal cf bibliographie Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 130 M thodologie pour l analyse et la validation M thodologie pour l analyse et la validation L analyse en 8 tapes A1 Expression des besoins Requirements Elicitation Identifier les utilisateurs du syst me au sens d acteurs Huit tapes pas forc ment s quentielles UML entit externe au syst me et amen e interagir A1 Expression des besoins avec lui A2 tablir le dictionnaire gt Pour chaque type d utilisateur 1 Identifier les besoins fondamentaux ceux dont la A3 Identifier et d finir les classes d interface e N satisfaction motivent la r alisation du syst me AA Structurer le mod le 2 Identifier les besoins op rationnels ensemble des ARTE ae A5 Construire les premiers sc narios actions que l utilisateur devra effectuer pour satisfaire chacun de ses besoins fondamentaux A6 V rifier la coh rence de l analyse pr liminaire Mod liser les utilisateurs en termes d acteurs A7 D tailler le mod le Mod liser l
22. fix par montant lt accessible aux seules instances de la classe ainsi qu aux instances des classes d riv es Post condition Le solde du compte a bien t diminu de Priv notation nom pr fix par montant lt accessible seulement aux instances de la classe Exemple Salaire date_paye date indice integer 0 facteur real augmenter iIn montant euro calculer_salaire euro donner_avance ln montant euro payer calculer moyenne salaires euro Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 45 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 46 UML mod le des classes UML mod le des classes Association Classe d association j Permet d attacher des propri t s attributs et ou p v hicule_propuls propulseur ne 8 z Are Avion l R acteur op rations directement l association liant deux classes 1 1 propulsion 2 Attention une classe d association ne peut tre reli e Une association peut avoir H H S qu une seule association par contre elle peut tre en o un nom relation avec d autres classes o deux r les gt Exemple o une orientation voir p 49 p zo iy E ARE employeur employ o deux cardinalit s la cardinalit indique les nombres Consultant
23. l analyse 1 d identifier les classes qu on pourrait viter de r aliser from scratch gt Principes be pour ces classes d valuer la pertinence d une o regrouper par fonctionnalit r alisation from scratch selon des crit res d finir o minimiser le nombre de d pendances entre a i parmi sous syst mes o fiabilit performance portabilit tenir compte de l architecture du syst me monolithique distribu e voir C4 o minimisation des risques des co ts et ou d lais tenir compte des objectifs de conception notamment en termes de performances gt Remarque utiliser un framework peut conduire des choix impos s en termes de flux de contr le notamment se 5 voir C7 Utiliser les diagrammes de composants pour pr senter la d composition en sous syst mes su p y Bien comprendre les diff rences entre o biblioth ques de classes o frameworks o patterns Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 161 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 162 M thodologie de la conception l int gration A propos de design patterns gt Synonymes patron ou sch ma de conception Origine ouvrages de l architecte Christopher Alexander The Timeless Way of Building A Pattern Langua
24. notes organisation et ou projet en terme de processus de d veloppement D Les relations d pendances associations g n ralisations gt L extensibilit st r otypes propri t s contraintes commentaires Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 31 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 32 UML introduction UML mod le des classes Contenu d UML neuf types de diagramme Aspects fonctionnels UML mod le des classes o Diagramme de cas d utilisation ou use case diagram Expression des besoins An Aspects structurels Packages o Diagramme de classes An Co Classes o Diagramme d instances ou d objets An o Diagramme de composants Co Attributs op rations invariants et i pr post conditions o Diagramme de d ploiement gt Co i Associations et agr gations Aspects dynamiques o Diagramme d tats transitions ou statechart G n ralisation diagram gt An Co Instances et diagrammes d instances o Diagramme de s quence ou sc nario An 3 R gles d emploi du mod le des classes o Diagramme de collaboration gt An o Diagramme d activit s An Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15
25. objets CCSI Mines ParisTech imprim le 15 septembre 2011 96 UML mod le dynamique UML mod le dynamique Diagrammes d tats pr cisions sur les tats Diagrammes d tats tats composites Pour chaque tat possibilit de sp cifier D Permet de simplifier les automates d tats en consid rant jet E j TT des tats compos s de sous tats o une action ex cut e l entr e dans l tat o une action ex cut e la sortie de l tat D Le diagramme d tat correspondant un tat SA composite doit comporter au maximum un tat initial o une activit effectuer tant qu on reste dans l tat P p a et un tat final o des transitions internes qui ne d clenchent donc pas les actions ci dessus o des v nements dont le traitement est retard gt Exemple Appel en attente entry incr menterCompteurClientsEnAttente exitdecr menterCompteurClientsEnAttente do jouerMusiqueDouce after 90 seconds jouerMessageExcusePourAttente toucheClavier n defer Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 97 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 98 UML mod le dynamique UML mod le dynamique Diagrammes d tats quatri me exemple j Sc narios ou diagrammes d interactions D Exemples de trait
26. package P1 Cas particuliers composition classe d association import P2 association de classe public class C1 extends C2 f si f tected ArrayList R new ArrayList lt C3 gt Cf la doc Modelio pour plus de d tails sur la traduction protected AfraylisisCis R Anew ArrayListeC3z0 o en Java des concepts UML Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 187 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 188 M thodologie de la conception l int gration Tests Document de conception plan type j Pr sentation g n rale Situation et objectifs documents de r f rence etc Architecture Contraintes d implantation architecture technique principes d implantation D finitions Conception g n rale Tests de fiabilit D D finition compl te du mod le package par Tests fonctionnels package package P Tests non fonctionnels classes C1 C2 Cn chacune accompagn e le cas ch ant de ses Profiling et optimisation invariants pr post conditions Tests de portabilit diagrammes d tats package Po Quand s arr ter de tester 4 Tra abilit 5 Plan d int gration Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 189 Analyse co
27. par objets CCSI Mines ParisTech imprim le 15 septembre 2011 152 UML mod le d implantation UML mod le d implantation Diagramme de d ploiement 1 Ressource mat rielle utilis e lors de l ex cution D finition des noeuds en tant qu unit s physiques exemples PC serveur Web Imprimante d ex cution pas de st r otypes pr d finis D finition des liaisons en tant que liens de communication PE ServeurUnix serveur Distinction classe vs instance exemple PC vs monPC PC Les noeuds peuvent accueillir des composants ou plus pr cis ment des instances de composants Donn es encod s selon protocole Lambda Les noeuds sont reli s par des liaisons exemples Ethernet Internet possibilit de sp cifier le d bit Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 153 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 154 UML mod le d implantation Diagramme de d ploiement 2 D finition de la r partition des composants sur les diff rents noeuds serveurDuJeu ServeurUnix Jeu ServeurJeuEnR seau serveur client client unAutrePC PC unMac Mac SE ASE ER nul n m Ci rh Jeu ClientJoueur Jeu ClientJoueur unPC PC Jeu ClientJoueur
28. programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 utilisation conceptuelle ou op rationnelle include C4 hxx P contextuelle 185 UML Java classe attribut publique attribut prot g attribut priv op ration g n ralisation association package invariants pr et post conditions classe publique attribut prot g avec m thodes publiques d acc s attribut prot g avec m thodes d acc s prot g s idem mais tout priv fonction membre h ritage attribut de type ArrayList m thodes d acc s paquetage if condition throw new RuntimeException Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 186 M thodologie de la conception l int gration M thodologie de la conception l int gration R alisation acc s aux associations depuis Java R alisation g n ration de code Java Pour chaque association 6 m thodes sont automatiquement package P1 ajout es la classe utilisatrice cela d pend toutefois de la configuration du projet Soit par exemple une classe CI C2 utilisant une classe C2 avec comme r le R on a les 6 m thodes suivantes d finies dans C1 int cardR C2 getR int void setR int C2 void appendR C2 void eraseR int Cl java void eraseR C2
29. tre d une op ration en UML d pendance op rationnel utilisation dans le corps de la m thode en UML d pendance gt Exemple Mammif re Personne Nourriture propri taire A gt Couteau rovcrene Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 56 UML mod le des classes Diagrammes d instances ou diagrammes d objets j gt Possibilit d y m langer classes et instances gt D signation des instances nom_de_l instance Nom de la Classe ou bien nom de l instance ou bien Nom_de_ la Classe Utilisation o permet de visualiser les valeurs des attributs o permet de visualiser la totalit des instances lorsqu on en conna t l avance le nombre o permet d illustrer sur des exemples la pertinence des diff rents liens o permet de visualiser l tat du syst me un instant donn o facilite la compr hension de structures de donn es complexes r cursives Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 58 UML mod le des classes Diagrammes d instances exemple j payeDeMrMachinMars2001 Virement Id integer 1263636737 compteMrMachin Compte_particulier Num integer 03003 03080 13462345 06 compteCieLambda Compte_societe Num integer 0305
30. 2 01367 00031487 02 Question il y a plusieurs anomalies dans ce diagramme lesquelles Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 59 UML mod le des classes R gles relatives aux packages j Pas de d pendances mutuelles entre 2 packages ni de cycles dans les liens entre packages gt Voir les packages comme moyen de structuration strict en vue d un d coupage du travail de conception programmation en quipes s par es Dans un m me package ne pas ouvrir la visibilit sur les classes priv es d un package ni par h ritage ni par une association publique mauvais Exemples Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 61 UML mod le des classes R gles d emploi du mod le des classes j D Un mod le peut tre correct c est dire coh rent par rapport aux notations et la syntaxe sans qu il soit pour autant valide c d sans correspondre au probl me que l on veut mod liser gt Il ne sera pas surprenant que le mod le objet construit ait besoin de nombreuses r visions It rer pour clarifier les noms ajouter des d tails prendre en compte correctement les contraintes structurelles Choisir les noms avec soin Ils sont importants Ils doivent tre pr cis descriptifs non ambigus gt Documenter syst mati
31. 3 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 84 UML mod le dynamique UML mod le dynamique Quatre types d v nements j v nements de type signal j Un signal est un objet mis de mani re asynchrone par v nements asynchrones X srli i y un objet metteur destination d un autre objet o v nement signal stimulus asynchrone r cepteur d clenche r action chez le destinataire pas de valeur de retour possible mais possibilit Un signal peut tre d origine interne ou externe au d mettre un autre signal en r ponse au premier syst me o v nement temporel expiration d une Exemple de signal interne une exception Java temporisation s aa Exemple de signal externe une action de l utilisateur o v nement modification passage vrai d une via IHM ou l action d un capteur physique expression bool enne En tant qu objet un signal doit tre instance d une classe v nements synchrones portant le st r otype signal classe d finir dans le mod le des classes o v nement appel appel d une op ration se ne Aussi il peut comporter des attributs et des op rations d clenche l op ration chez le destinataire 2 sp cifiques valeur de retour possible vers l appelant Possibilit de visualiser les missions p
32. 5 M thodologie de la conception l int gration C4 d finir le d ploiement des composants Valider un choix d architecture o nombre nature et caract ristiques des noeuds o nature et caract ristiques des liaisons o le cas ch ant OS SGBD etc gt D finir le d ploiement des composants sur les noeuds o traiter les probl mes induits par le d ploiement transferts des donn es synchronisation s curit etc o se souvenir que le logiciel survit g n ralement au mat riel gt minimiser l impact d un portage sur une autre architecture Utiliser les diagrammes de d ploiement pour pr senter l architecture noeuds et liaisons et le d ploiement des composants sur les noeuds Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 164 M thodologie de la conception l int gration C6 d cider une politique de contr le d acc s gt Il s agit de g rer les diff rences d acc s ventuelles entre les diff rents acteurs o acc s plus ou moins tendu aux fonctionnalit s du syst me acc s aux donn es cr es par l utilisateur lui m me acc s aux donn es cr es par les autres utilisateurs acc s aux donn es internes au syst me acc s aux donn es confidentielles ou strat giques Identifier les donn es et fonctionnalit s accessibles chaque acteur Mettr
33. Plan Analyse Conception et Programmation par Objets Les concepts objets Analyse et conception UML introduction Norbert Kajler et Fabien Moutarde UML mod le des classes Norbert Kajler Fabien Moutarde mines paristech fr UML compl ments au mod le des classes Ann e 2011 2012 UML mod le dynamique Derni re mise jour le 15 septembre 2011 UML mod le fonctionnel M thodologie pour l analyse et la validation A UML mod le d implantation WL M thodologie de la conception l int gration Mines ParisTech Tests 60 Bd Saint Michel Bibliographie 75272 Paris Cedex 06 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 i Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 ii Les concepts objets Les concepts objets Crise du logiciel Les concepts objets Pourquoi la programmation par objets Qualit du logiciel Modularit Abstraction et encapsulation 41 8 FRR ss Modifications dans les exigences des utilisateurs A Objet message m thode 17 4 Modifications de formats de donn es 12 4 Corrections d erreurs en urgence Classe et instance 9 Corrections d erreurs de routine H ritage Modifications du mat riel r Polymorphisme Documentation Am lioration d efficacit Autres
34. age une classe ou une collaboration 2 Microscopique Mod lisation d une op ration flowchart o visualise la s quence d instructions correspondant au corps de la m thode programmation visuelle o diagramme associ typiquement une op ration Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 109 UML mod le dynamique Diagrammes d activit s Graphe orient associ une activit Permet de sp cifier le fonctionnement interne d une activit en la d composant en o actions e g envoi de signal appel d op ration cr ation destruction d objet valuation d une expression sous activit s chacune pouvant tre sp cifi son tour par un diagramme d activit s Rappel les activit s sont d composables et interruptibles alors que les actions ne le sont pas Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 108 UML mod le dynamique Diagrammes d activit s principes et notations Actions et sous activit s se repr sentent de la m me mani re en tant que sommet du graphe tandis que les arcs indiquent l encha nement depuis l tat initial jusqu l tat final Les sous activit s peuvent comporter des champs entryetexit Contrairement aux diagrammes d tats les transitions s effectuent d s
35. ages sur l Objet UML les patterns etc 3 Quelques URLs Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 197 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 198 Bibliographie Ouvrages de r f rence sur le langage de mod lisation UML VF Eyrolles Grady Booch James Rumbaugh Ivar Jacobson The Unified Modeling Language User Guide Addison Wesley 2005 500p James Rumbaugh Ivar Jacobson Grady Booch UML 2 0 Guide de r f rence Campus Press 2004 774p Jos Warmer Anneke Kleppe The Object Constraint Language Precise Modeling with UML 2nd ed Addison Wesley 2003 232p Sur les m thodologies Unified process Ivar Jacobson Grady Booch James Rumbaugh The Unified Software Development Process Addison Wesley 1999 463p VF Eyrolles Jim Arlow Ila Neustadt UML 2 and the Unified Process 2nd ed Addison Wesley 2005 592p pour d couvrir les m thodologies l g res Kent Beck eXtreme Programming Campus Press 2002 230p Alistair Cockburn Crystal Clear A Human Powered Methodology for Small Teams Addison Wesley 2004 312p Henrik Kniberg Scrum et XP depuis les Tranch es CAMedia Inc 2007 150p Disponible gratuitement en ligne www infoq com minibooks scrum xp from the trenches Analyse conception et programm
36. aration de la validation R sum pertinence des diff rents l ments d UML Document d analyse Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 126 M thodologie pour l analyse et la validation Rappel le cycle en V Mise en parall le des phases de construction et de v rification Expression des besoins et Analyse E ti nem prepararon Validation E Int gration Pa tests unitaires NT R alisation Conception r liminaire Conception d taill e Cycle bien adapt aux petits projets au del penser au cycle en spirale Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 127 M thodologie pour l analyse et la validation M thodologie contenu R pond aux questions suivantes Quelles sont les diff rentes phases du cycle de vie et comment s encha nent elles D Comment s y prendre pour identifier les besoins structurer le syst me en classes et packages planifier les moyens mettre en oeuvre pour chaque phase Quand utiliser quel diagramme plus quels st r otypes et ou annotations et pour quoi faire Quelles sont les productions dues l issue de chaque phase quels documents logiciels et ou donn es Qui r alise quoi dans chaq
37. ation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 199 Bibliographie Quelques URLs http www omg org Site de l OMG Documentation sur UML normalis par 1 OMG http www modeliosoft com Site sur l outil Modelio voir aussi www softeam fr http www rational com Site de la division d IBM qui commercialise les outils Rational le RUP UML Resource Center http www extremeprogramming org http www xprogramming com Sites d di s l Extreme Programming XP http www agilemodeling com Site de r f rence pour l Agile Modeling AM Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 201 Bibliographie Quelques ouvrages sur l Objet UML les patterns etc pour approfondir UML et les patterns Bernd Bruegge Allen H Dutoit Object Oriented Software Engineering Using Uml Patterns and Java 2nd edition Prentice Hall 2003 800p Michael R Blaha James Rumbaugh Mod lisation et conception orient es objet avec UML 2 Pearson Education 2005 585p pour approfondir les patterns Erich Gamma Richard Helm Ralph Johnson John Vlissides Design Patterns Addison Wesley 1995 395p VF Eyrolles Eric Freeman Elisabeth Freeman Kathy Sierra Bert Bates Design patterns t te la premi re O Re lly 2005 639p pour approfondir gestion de projets amp
38. des occurrences d v nements Il est d fini par un automate d tats fini c d un graphe orient dont les noeuds sont des tats et les ar tes des transitions Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 91 UML mod le dynamique Diagrammes d tats tats et transitions j Les diagrammes d tats sont d finis par des tats situations caract ristiques et stables du fonctionnement des instances de la classe o Cas particuliers les tats initial et final gt des transitions mani res dont un objet passe d un tat un autre Une transition peut o correspondre l arriv e d un v nement o avoir une condition de garde o donner lieu l ex cution d une op ration de la classe et ou l mission d un v nement Notation Evti condi m Evt2 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 93 UML mod le dynamique Diagrammes d tats principes gt Un diagramme d tats est g n ralement associ une classe peut aussi tre relatif un use case ou au syst me global Une classe peut avoir plusieurs diagrammes d tats gt Un diagramme d tats doit tre d terministe pour chaque tat les transitions sortantes doivent correspondre o des v nements diff rents o ou alors tre gard e
39. dice integer 0 facteur real Types l mentaires pr d finis en UML boolean char integer real string Possibilit de d finir de nouveaux types l mentaires au niveau d une classe ou d un package Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 39 UML mod le des classes Invariant de classe exemple j La contrainte associ e l attribut valeur a t d clar e comme un invariant Une simple annotation but documentaire Remarque outre l invariant on a associ une note l attribut valeur En fait on peut associer une note toute entit UML et ce dans n importe quel diagramme Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 41 UML mod le des classes Invariant de classe j gt Ensemble de contraintes d int grit que doit satisfaire l ensemble des instances de la classe Ces contraintes expriment tout ce qui ne peut pas tre exprim par les attributs et les op rations D Expression syntaxique uniquement sous forme textuelle et ou sous forme d expressions bool ennes dans le langage d implantation final e g C ou Java ou en langage OCL Object Constraint Language Exemples L invariant de la classe NombrePai r est que le modulo 2 de la valeur de l attribut value doit tre nul ou en Java value
40. e Comportement emprunter rendre d missionner Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 Les concepts objets Encapsulation Technique consistant regrouper en une m me entit un objet des donn es et les proc dures pour manipuler ces objets Les donn es ou attributs sont appel es la partie statique de l objet les proc dures ou m thodes sont appel es la partie dynamique Exemple LR Classe Polygone Attributs ar tes couleur des bords couleur du fond M thodes dessiner effacer d placer Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 7 Les concepts objets Abstraction de donn es exercice Pourquoi l abstraction de donn es est une bonne pratique Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 9 Les concepts objets Interface et implantation S paration stricte entre l implantation de l objet ou partie priv e et son interface ou partie publique Classe Rectangle Public int calculerSurface void dessiner int h 1 x y int calculerSurface return h 1 void dessiner L interface doit tre aussi simple et s re que possible La partie priv e est r serv e au concepteur d veloppeur de l objet in
41. e 2011 143 M thodologie pour l analyse et la validation Qualit de l analyse d taill e reviewing Liste non exhaustive de questions se poser tous les termes du dictionnaire sont ils bien d finis et compr hensibles par l ensemble des intervenants Pour chaque classe est elle n cessit e directement ou indirectement par un cas d utilisation Si oui dans quel cas d utilisation des instances de cette classe sont elles cr es modifi es d truites Pour chaque attribut quel est son type quand est il initialis modifi Pour chaque association quand est elle travers e sa multiplicit et son orientation sont ils justifi s Y a t il des entit s portant le m me nom et si oui pourquoi d notent elles bien des notions identiques Toutes les entit s sont elles bien d crites avec un m me niveau de d tail les cas d erreurs sont ils tous d crits et trait s idem pour phases d initialisation et d arr t du syst me Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 145 M thodologie pour l analyse et la validation A8 V rifier la qualit de l analyse d taill e V rifier o la correction o la completude o et la consistance de la mod lisation sinon retour en A1 ou A7 penser utiliser l outil si il permet la recherche automatique de d fauts dans la mod lisatio
42. e classe d riv e NE PEUT h riter que d une m re gt complete toutes les classes filles sont sp cifi es gt incomplete la liste des classes filles est incompl te Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 54 UML mod le des classes Contraintes sur la g n ralisation exemples j disjoint incomplete Animal disjoint Mammif re Oiseau Carnivore D S7 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 UML mod le des classes Utilisation contextuelle et op rationnelle exemple Soit la m thode manger de la classe Chien manger Nourriture repas Utilise les classes couteau fourchette Couteau prendre Fourchette prendre Fourchette immobiliser repas Couteau couper repas Utilisation contextuelle de nourriture Utilisation op rationnelle de couteau et fourchette Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 UML mod le des classes Liens entre classes r sum j Trois niveaux pour les liens d utilisation entre classes 1 conceptuel liens forts et permanents entre objets en UML association et g n ralisation contextuel param
43. e en place les m canismes pour g rer les diff rents niveaux d acc s au syst me fonctionnalit s et donn es Mettre en place les m canismes pour authentifier les utilisateurs Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 166 M thodologie de la conception l int gration C8 identifier les conditions aux limites j M thodologie de la conception l int gration C7 d cider la nature du flux de contr le global j gt Il s agit pour chaque composant qui s ex cute sur un gt Il s agit de pr ciser processus propre de choisir parmi o les phases de d marrage et d arr t du syst me i Pis CERN o le mode proc dural le programme encha ne les o le cas ch ant l interruption du syst me actions selon un ordre strictement d termin en o le cas ch ant les modes de fonctionnement d grad s panne de disque dur de courant de r seau ou simple maintenance s interrompant seulement lorsqu il attend des donn es de l utilisateur ou d un autre programme adapt aux syst mes l IHM en mode texte typique des langages proc duraux Les aspects prendre en compte incluent le mode r actif une boucle globale traite les vitessede demarage v nements selon leur arriv e et les transmet aux int grit des donn es en toutes circonstances objet s concern s bloquag
44. ement au sein du syst me Invalide compose n in invalide Associ s un package une classe ou un cas d utilisation d croche aa En composition compose n n valide S expriment sous la forme d une s quence d envois de messages et ou signaux entre des objets objets concrets after 15 seconds ou prototypes occup A gt Diagrammes utiles pour Tonalit occup e o v rifier la compl tude de l analyse mettre en vidence appelant raccroche a gt des incoh rences etc i connect f appel raccroche o documenter l analyse illustrer le fonctionnement d une partie du syst me ogue Sonnerie g appel d croche o pr parer des jeux de test Diagramme d tats de la classe T l phone avec visualisation du contenu de l tat composite Actif Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 99 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 100 UML mod le dynamique UML mod le dynamique Diagramme de s quence vs de collaboration Diagramme de s quence notations objetMachin Classe2 Deux types de diagrammes s mantiquement quivalents T 1 disponibles en UML pour exprimer des sc narios create objetTruc Classe3 les diagrammes de s quence pour mettre en vidence la dimension
45. er le mod le Point de d part cas d utilisation et dictionnaire D finir les associations entre classes gt Identifier les classes et les op rations associ es qui D finir les g n ralisations entre classes satisfont les besoins op rationnels des utilisateurs ces classes sont les classes d interface ou boundary Indiquer les classes abstraites classes n D finir l organisation en packages Poursuivre dans cette voie en consid rant individuellement chaque classe C identifi e o C peut elle r aliser ses services de mani re autonome Sinon de quoi a t elle besoin Quelle autre classe pourrait satisfaire ce besoin o quelles op rations suppl mentaires la classe C peut elle fournir pour constituer une entit coh rente Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 137 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 138 M thodologie pour l analyse et la validation A5 Construire les premiers sc narios Point de d part 1 les cas d utilisation 2 les classes d interface identifi es en A3 D finir les sc narios sous forme de diagrammes de s quences et ou de collaboration D Remarque lors de l analyse les sc narios sont pertinents la fois pour o pr ciser le cahier des charges et les use cases sc nari
46. es besoins par des cas d utilisation A8 V rifier la qualit de l analyse d taill e D crire bri vement sous forme textuelle chaque cas d utilisation Identifier aussi les besoins non fonctionnels vitesse des traitements capacit d acc s simultan etc Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 131 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 132 M thodologie pour l analyse et la validation M thodologie pour l analyse et la validation Exercice l ascenceur j Pr cisions sur l analyse fonctionnelle Soit un ascenceur dans un petit immeuble d habitation de 5 Utiliser le vocabulaire du client exclusivement tages plus 2 niveaux en sous sol Quels sont o pas de termes typiquement informatiques classe les utilisateurs instance attribut association g n ralisation etc z 5 f BEN les besoins fondamentaux o l ensemble de l analyse fonctionnelle doit tre j srati i aa les besoins op rationnels facilement compr hensible par le client Fournir une vue strictement externe du syst me r aliser on ne s int resse donc pas encore son architecture Clarifier la mani re d un contrat ce que le syst me doit faire et ce qu il ne doit pas faire Analyse conception et programmation par objets CCSI
47. es comporte trois classes Rappel une classe peut tre publique priv e ou prot g e au sein de son package Une classe peut comporter des attributs des op rations et un invariant Une classe peut tre en relation avec Compte_particulier des classes du m me package des classes publiques appartenant des packages visibles depuis le package courant la classe Compte est abstraite italique Une classe peut tre abstraite au sens Java C la classe Compte est la classe m re des deux autres notation nom de la classe en italique classes du package Ou alors criture de la propri t abstract sous le nom Remarque l ext rieur de leur package de d finition les noms de classes sont pr fix s par le nom du package Remarque deux classes peuvent porter le m me nom i Exemple Comptes Compte_societe condition de ne pas appartenir au m me package Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 37 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 38 UML mod le des classes Un attribut poss de o un nom o un type o ventuellement une valeur par d faut Un attribut peut tre de classe static en C Java notation nom et type de l attribut soulign D Exemple date_paye date in
48. es d acc s namespace assert condition M thodologie de la conception l int gration R alisation acc s aux associations depuis C Pour chaque association 4 m thodes sont automatiquement ajout es la classe utilisatrice cela d pend toutefois de la configuration du projet Soit par exemple une classe C1 utilisant une classe C2 avec comme r le r on a les 4 m thodes suivantes d finies dans C1 inte card r C2x get_r int i 0 void append_r const C2 void erase_r const C2x Autres possibilit s g rer les associations la main en annotant l association par la directive ou tagged value own cas particuliers composition classe d association association de classe Cf la doc Modelio pour plus de d tails sur la traduction en C des concepts UML Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 183 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 184 M thodologie de la conception l int gration R alisation g n ration de code C M thodologie de la conception l int gration R alisation d UML Java package P1 include P1 hxx include C2 hxx include C3 hxx include C1 hxx include C5 hxx Analyse conception et
49. es d acc s s lectifs maintenance adapt aux syst mes l IHM relativement simple x Hs g ne occasionn e aux autres syst mes lorsque le les threads le programme se compose de processus logiciel est arr t interrompu en cours de d marrage l gers qui s ex cutent en et r agissent des n v nements diff rents information des diff rents acteurs lorsque le syst me adapt au syst mes complexes n est pas dans un tat de fonctionnement normal l gant intuitif mais d licat mettre au point Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 167 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 168 M thodologie de la conception l int gration M thodologie de la conception l int gration Conception pr liminaire r sum La conception pr liminaire consiste en 1 un certains nombre de choix strat giques globaux stockage des donn es et contr le des droits d acc s frameworks et classes pr existantes s lectionn es nature du flux de contr le organisation du syst me en sous syst mes choix de l architecture en terme de noeuds et liaisons 2 un certains nombre d ajouts et de modifications dans les mod les issus de l analyse ajouts des diagrammes de composants et de d ploiement modifications des autr
50. es diagrammes pour prendre en compte les choix ci dessus ainsi que les conditions aux limites pr cisions documentaires relatant les choix de conception et les raisons de ces choix tra abilit Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 Conception pr liminaire bilan A la fin de cette tape toutes les d cisions globales strat giques ont t prises et document es tous les packages sont identifi s et chaque classe appartient un package et un seul gt il sera donc possible de parall liser la suite du d veloppement en confiant chaque package une quipe gt il est possible et souhaitable de pr parer sans attendre l int gration Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 170 M thodologie de la conception l int gration Int gration ordonnancement des travaux j Se baser sur les d pendances entre packages Test P6 Test P5 Assemblage P4 P6 Test P4 P6 Assemblage P3 P6 Test P3 P6 Assemblage P4 P5 P2 Test P2 P4 P5 Assemblage P1 P3 P4 Test P1 P3 P4 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 171 M thodologie de la conception l int gration C9 compl ter la
51. et classes r utilis s j gt Il s agit de o param trer les frameworks et les classes r utilis es o modifier la mod lisation pour tenir compte des frameworks et biblioth ques de classes utilis es Aussi il est prudent o d anticiper l volution des frameworks et classes r utilis es o de pr voir leur remplacement ventuel par d autres plus performants ou moins co teux On tachera donc de d coupler au maximum ces classes des autres classes du syst me Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 174 M thodologie de la conception l int gration M thodologie de la conception l int gration Pattern Adapter Exercice le pattern Singleton lt lt description gt gt A r SRR Target Comment faire en sorte qu une classe ne puisse tre x instanci e qu une fois au maximum Client InterfaceFournisseur ClasseExistante lt lt description gt gt Adapter ou Wrapper lt lt comment gt gt Dans cet exemple Client n a besoin que des m thodes me1 me2 et me3 de ClasseExistante Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 175 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 176 M thodologie de la conception l int gration M thodo
52. ge Objectifs o identifier nommer diffuser les meilleures pratiques o acc l rer la communication et les prises de d cisions durant les phases d analyse et surtout de conception D Comporte syst matiquement titre diagramme propos description exemple s et si besoin contre indications patterns connexes etc gt Exemples de patterns composite abstract factory adapter MVC etc Cf exemples plus loin dans le cours et Bibliographie Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 163 M thodologie de la conception l int gration C5 d cider le mode de stockage des donn es gt Il s agit de ma triser la gestion des donn es stock es en m moire permanente sur disque donn es stocker entre 2 ex cutions du programme donn es trop volumineuses pour la m moire vive donn es partager avec d autres programmes donn es sensibles qu il faut tre s r de pr server m me en cas de crash Identifier les donn es stocker objets persistants D cider mode de stockage parmi simple fichier BDD relationnelle BDD objet Crit res o taille et nature des donn es stocker o complexit des requ tes o performance souhait e temps d acc s et m moire Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 16
53. ication du quoi c d description 1 Cycle de vie d un logiciel d taill e du syst me r aliser 2 M thode d analyse et de conception Conception d finit comment le syst me sera r alis et comment il se d compose en modules 3 Atelier de G nie Logiciel R alisation codage de chacun des modules 4 Analyse et conception bj ts Int gration test unitaire de chaque module et int gration des diff rentes modules dans le syst me Validation v rification de la conformit globale du logiciel produit par rapport sa sp cification Maintenance volution Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 17 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 18 Analyse et conception Analyse et conception par objets Description du monde r el Analyse xN Mod les d objet et interactions P Conception x Architecture d taill e du syst me et des modules 2T R alisation LL Syst me r alis avec un langage objets Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 19 Analyse et conception Le cycle en V Mise en parall le des phases de construction et de v rification pr paration Analyse Validation N Es
54. ion o par type d acteurs o par cas d utilisation o ou par packages Compl ter et finaliser les sc narios de validation et le cas ch ant les jeux de tests correspondant Planifier la phase de validation en termes de temps et de moyens n cessaires Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 147 M thodologie pour l analyse et la validation Document d analyse plan type j Pr sentation g n rale Situation et objectifs documents de r f rence etc Sp cification pr liminaire Dictionnaire Repr sentation globale de l application D Description r sum e D finition des utilisateurs Cas d utilisation et acteurs exemples sc narios Sp cification d taill e gt D finition du mod le des classes par package package p classes C1 C2 Cn chacune accompagn e le cas ch ant de ses invariants diagramme d tat package p2 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 149 M thodologie pour l analyse et la validation R sum pertinence des diff rents l ments d UML Phase Mod le fonctionnel Acteur et use case Mod le des classes Package Classe Attribut Op ration Association Visibilit Invariant Pr Post condition Mod
55. ion Le conducteur doit pouvoir manipuler le volant mais pas le moteur Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 51 UML mod le des classes G n ralisation sp cialisation j Expression du lien est sous classe de entre classes G n ralisation simple 1 super classe au maximum ou multiple Toutes les propri t s d une super classe sont vraies pour chaque classe fille L invariant d une sous classe comprend celui de sa super classe D Exemple de g n ralisation simple NV Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 53 UML mod le des classes Cas particulier d associations les agr gations Une agr gation d note l id e de faire partie de On distingue o l agr gation partag e ou agr gation Exemple Groupe de travail Personne o l agr gation de composition ou composition Exemple Voiture Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 52 UML mod le des classes Contraintes sur la g n ralisation UML permet d ajouter des pr cisions sur les liens de g n ralisation Plusieurs contraintes sont pr d finies gt overlapping une classe d riv e peut h riter de plus d une m re gt dis joint un
56. ion m0 0 1 ces transparents m3 c3 a1 string livres et sites web sur UML cf Bibliographie http www ensmp fr CC Docs Besoin d un outil adapt dition des diagrammes gestion des coh rences entre diagrammes g n ration de la doc et du code etc AGL comme Rational Software Modeler Rose Modelio Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 29 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 30 UML introduction UML introduction Contenu d UML survol rapide Contenu d UML hi rarchie des concepts Une notation unifi e Les diagrammes voir p 33 facilite la compr hension communication d une Ra Les choses ou things mod lisation gs o structurelles Un m ta mod le compl tement sp cifi classes interfaces collaborations cas d utilisation classes actives composants noeuds sp cifie formellement la s mantique d UML o dynamiques ou behavioral facilite la r alisation d outils et l change d une interactions automates mod lisation entre outils o groupantes Attention UML n impose pas de processus de packages d veloppement ou m thodologie sp cifique o annotantes possibilit d adapter UML aux sp cificit s de chaque
57. iser frameworks et biblioth ques de classes syst me complet maximiser les performances temps de r ponse C4 D finir le d ploiement des composants sur les noeuds PS nombre de transactions besoin en m moire etc C5 D cider le mode de stockage des donn es maximiser la fiabilit robustesse disponibilit s curit etc C6 D cider une politique de contr le d acc s PA PAES re i maximiser l extensibilit la portabilit l ergonomie C7 D cider la nature du flux de contr le global etc C8 Identifier les conditions aux limites Attention ces objectifs sont souvent incompatibles avant passage la conception d taill e ou object temps de r ponse vs besoin en m moire design rapidit vs taille de l ex cutable rapidit de r alisation vs autres crit res On pourra s appuyer sur les besoins non fonctionnels identifi s au d but de l analyse Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 159 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 160 M thodologie de la conception l int gration M thodologie de la conception l int gration C2 d composer le syst me en sous syst mes C3 r utiliser frameworks et biblioth ques de classes gt Il s agit gt S appuyer sur la d composition en packages issue de
58. ive D Exemples de directives pr d finies pour les attributs o JavaShort JavaLong JavaGenerateAccessor o amp g n ration d un pointeur vs r f rence C o short long const create fullaccess array C D Exemples de directives pr d finies pour associations o JavaGenerateAccessor ordered Java o access fullaccess ordered C Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 156 M thodologie de la conception l int gration M thodologie de la conception l int gration 1 Conception pr liminaire et int gration 2 Conception d taill e et tests unitaires 3 R alisation d UML C Java 4 Document de conception Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 158 M thodologie de la conception l int gration M thodologie de la conception l int gration Conception pr liminaire ou system design C1 identifier les objectifs de conception D Expliciter et ordonner les objectifs de conception parmi Huit tapes pas forc ment s quentielles C1 Identifier les objectifs de conception r duction des co ts de d veloppement et ou d installation et ou de fonctionnement C2 D composer le syst me en sous syst mes r duction des d lais de livraison du prototype et ou du C3 R util
59. jets CCSI Mines ParisTech imprim le 15 septembre 2011 194 Tests Tests Profiling et optimisation j Tests de portabilit Si besoin en cas de performances insuffisantes gt Compilation et tests fonctionnels et performance de Etude dynamique du code l ex cution mise en chaque ex cutable sur les diff rentes architectures vis es vidence des parties du code optimiser en priorit o mat riels x OSs x autres logiciels asse t on du temps l ex cution ne Dan E Ar Si n cessaire tester avec des p riph riques d E S utilisation d outils tels que prof Unix ou Rational PurifyPlus IBM diff rents o cran basse vs haute r solution o cran couleur vs monochrome o claviers de type diff rents Oo Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 195 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 196 Tests Bibliographie Exercice quand s arr ter de tester j Les tests permettent de d celer des erreurs jamais de garantir qu il ne reste plus d erreurs dans le code gt Comment valuer le nombre N d erreurs non encore d cel es dans le programme Bibliographie 1 Ouvrages de r f rence Est il possible d avoir une id e a priori de la fiabilit du logiciel produit 2 Quelques autres ouvr
60. l application Versions utilis es UML 1 5 gt UML 2 0 2005 o m thodologie d couverte des classes g n ration et i Extensions Profiles documentation du code reverse engineering etc UML Profile for Enterprise Distributed Object Computing EDOC m thodes d analyse et de conception objets telles UML P for Schedulability Performance and Time que OMT OOAD Classe Relation UML RUP UML UML Testing Profile Catalysis etc Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 27 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 28 UML introduction UML introduction Disponibilit Formalisme utilis dans UML Essentiellement graphique Standard disponible librement sur le site Web de l OMG http www omg org uml Notations sp cifiques pour chacun des concepts UML documentation de r f rence tr s technique plut t packages classes relations instances tats etc destin e des utilisateurs avertis auteurs d ouvrages gt Exemple concepteurs d outils UML notamment P Support par de nombreux AGL Rational Software Modeler Modelio Rhapsody Together permettant la mod lisation g n ration de code C Java C etc g n ration des documentations retro conception C2 i e Documentat
61. l tion du cas d utilisation de d part Changer les bougies dont la pr sence ou l absence d pend par exemple du mat riel utilis pour le d ploiement du syst me Faire la vidange NOTA BENE penser au crit re de sous partie strictement n cessaire pour discriminer entre relations d inclusion et d extension Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 119 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 120 UML mod le fonctionnel UML mod le fonctionnel Relations entre cas d utilisation exemple Double int r t de la relations include j Parmi les trois sortes de relations entre cas d utilisation PE la relation include est la plus utile car elle permet tout la fois de hi rarchiser et de factoriser les cas Faire la vidange side l d utilisation lt lt extend gt gt R parer automobile J Garagiste N e xs lt lt include gt gt ks Changer plaquettes de frein si R parer une Formule 1 Changer l aileron Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 121 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 122 UML mod le fonctionnel Exemple de hi rarchisation par la relation include
62. lement via les classes dont elle D Une classe abstraite ou pas peut implanter z ro une ou h rite inclut au minimum le code correspondant plusieurs interfaces l ensemble des m thodes d finies dans l interface D Inversement une m me interface peut tre implant e par VD P P P Lien d implantation entre une classe abstraite et une z ro une ou plusieurs classes interface D Seules les classes non abstraites peuvent tre instanci es s mantique moins claire que dans les autres cas permet de combiner un sous typage abstrait et ou un d but de concr tisation Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 79 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 80 UML compl ments au mod le des classes UML compl ments au mod le des classes Classes param trables ou classes templates Responsabilit s En vrac i Responsabilit s d une classe mention pour les classes param tre s formel s ANT lt lt comment gt gt A d interface sous le nom de la classe du ou des cas I Le st r otype d utilisation qu elle prend en charge cf transparent 137 cr lt lt bind gt gt est sur la recherche des classes d interface pr d fini en UML pour sp cifier la 3 nature de cette Contraintes Xor ou exclusif au niveau d un
63. logie de la conception l int gration C11 Restructurer j Pattern AbstractFactory j Il s agit pour chaque diagramme de classes de traiter les cas suivants AbstractFactory suppression des g n ralisations multiples si le langage cible ne les permet pas createlabel createButton transformation des associations n aires en associations A binaires PcFactory MacFactory remplacement des classes d association par des classes ordinaires createLabel createLabel createButton createButton le tout en maintenant dans la mesure du possible la lisibilit des diagrammes l l En fonction des objectifs il peut s agir aussi de l AbstractButton pr parer la r utilisation de certaines classes augmenter la portabilit du syst me PcLabel vis vis des classes techniques d IHM par exemple Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 177 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 178 M thodologie de la conception l int gration M thodologie de la conception l int gration Pattern AbstractFactory utilisation j C12 Optimiser j AbstractFactory fac newPcFactory Les techniques suivantes devront tre utilis es bon escient La suite du code est portable ne
64. m re s ou super classe s Classe Tour Attribuits Selon les langages objets position couleur f M thodes une ou plusieurs classe s racine s h ritage simple ou multiple d placer plus ou moins grand nombre de classes pr d finies Analogie avec le concept type variable Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 11 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 12 Les concepts objets Les concepts objets H ritage simple exemple Relation client vs Relation d h ritage Vision hi rarchique Relation client a un Classe V hicule Attributs nb_passager objets M thodes avancer Exemples relation de composition de collaboration entre les une voiture a 4 roues une voiture a 1 moteur Attributs puissance Relation d h ritage est un relation de sp cialisation relation hi rarchique entre relation d h ritage les objets Exemples Vision ensembliste Na une voiture est un v hicule V hicule une Twingo est une voiture Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 13 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 14 Les concepts objets Les concepts objets Polymorphisme Ava
65. mmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 192 Tests Tests Tests fonctionnels j Tests non fonctionnels j Impossible de tout tester surtout dans le cas d une IHM V rifier les performances du logiciel graphique par contre on peut o temps de calcul Tester un maximum de points nn RU ne ni o besoin m moire l ex cution pr voir du temps pour les tests o en cas d IHM graphique r activit de l IHM fluidit Faire tester par un maximum de personnes diff rentes des animations informaticiens et non informaticiens i o etc Accumuler les cas de tests batterie de centaines voire milliers de cas de tests Cas particulier des tests de charge Automatiser l application et l analyse des cas de tests o de plus en plus n cessaires Web e commerce utiliser des outils adapt s y compris des robots o n cessite un outil ad hoc pour simuler des milliers pour tester les IHMs voire des millions de requ tes pendant un temps d fini Batterie de tests r appliquer syst matiquement sur i Mie o r sultats souvent impr visibles avant le test chaque nouvelle version du code x gt tester sur un prototype le plus t t possible tests de non r gression Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 193 Analyse conception et programmation par ob
66. n Compl ter le dictionnaire en pr cisant les formes de mod lisation UML des termes et les noms informatiques utilis s colonnes n 3 et n 4 Nom Traduction Nom UML D finition informatique Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 144 M thodologie pour l analyse et la validation Pr cisions sur l analyse d taill e Les objectifs sont assez oppos s ceux de l analyse fonctionnelle o utilisation d un langage davantage informatique cas d utilisation et sc narios mais aussi diagrammes de classe diagrammes d tats etc obtention d une vue la fois externe et interne du syst me r aliser niveau de d tail dans la compr hension des besoins qui va bien au del de ce qui int resse g n ralement l utilisateur c d l aspect contractuel de l analyse fonctionnelle Ne doit pas comporter de redondances d incoh rences ou d impr cisions en effet il s agit de bien mesurer la complexit interne de la chose r aliser et de d limiter l espace des d cisions prendre lors de la phase suivante conception Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 146 M thodologie pour l analyse et la validation Pr paration de la validation D D finir une strat gie en vue de la validat
67. nception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 190 Tests Tests Tests de fiabilit gt Il faut comprendre les tests comme la recherche Analyse dynamique du code lors de l ex cution active et syst matique de diff rences entre le D d tection d incoh rences dans les classes entit s de fonctionnement suppos du programme et son non respect du mode d emploi des m thodes fonctionnement effectif en termes de fonctionnalit s de gt Test syst matique des pr post conditions et invariants fiabilit etde performances Nota Bene il vaut mieux pr venir que gu rir On appelle cas de test ou test case un ensemble 3 je d tection de probl mes m moire surtout utile pour compos des l ments ci dessous FF P P langages sans garbage collector comme C ou C 1 nom du cas de test on D d tection des parties de code jamais parcourues 2 input donn es et ou commandes l ex cution lors des tests y code suspect inutile et ou jamais test 3 oracle r sultat attendu T P tou AS zia Utilisation d outils tels que Rational PurifyPlus IBM et destin mettre en vidence une faute dans une partie du programme Relecture syst matique du code cf m thodologie XP Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 191 Analyse conception et progra
68. ntage du polymorphisme D Propri t d une m thode de pouvoir se comporter de gt En programmation structur e Pascal C etc mani re diff rente sur des objets de classes diff rentes pour chaque pi ce faire selon t de 1 j Polymorphisme statique E E ES cas Tour deplacer Tour double mult double double cas Roi deplacer Roi double mult int double cas Fou deplacer Fou int mult int int fin selon f fin pour Polymorphisme dynamique Serr S Piece p gt En programmation par objets C Java etc p new Tour ou new Roi ou o D finition d une classe abstraite Piece o D finition des sous classes Tour Roi Fou avec p deplacer se pour chacune une m thode deplacer sp cifique hr D placer pour chaque pi ce p faire L PAU p deplacer fin pour Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 15 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 16 Analyse et conception Analyse et conception Cycle de vie d un logiciel D un probl me sa solution Informatique Expression des besoins sp cifications fonctionnelles description d taill e des fonctionnalit s souhait es du Analyse et conception point de vue des futurs utilisateurs Analyse sp cif
69. os utilisables aussi pour la validation o d tailler les appels de m thodes entre les classes sc narios utilisables aussi pour les phases suivantes conception r alisation et tests unitaires Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 139 M thodologie pour l analyse et la validation A6 V rifier la coh rence de l analyse pr liminaire V rifier la coh rence entre 1 le contenu du dictionnaire 2 les cas d utilisation 3 les sc narios 4 les l ments mod lis s jusqu ici dans les diff rents diagrammes de classe Il s agit notamment de v rifier la coh rence entre la vision externe les cas d utilisation et interne diagrammes de classe du syst me Attention il est fr quent de devoir boucler plusieurs fois sur les tapes A1 A6 avant de parvenir une analyse pr liminaire satisfaisante Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 141 M thodologie pour l analyse et la validation AS exemple C1 C2Control T T Usager i i 2 besoinOpil l I I 1 serviceta creerBidule gt create gt besoinOpib l saisirDonn es ____ data remplirBidule data service1b remplir data Analyse conception et programmation par objets
70. osants classes frameworks r utilis s chaque entit est compl tement sp cifi e o nature des optimisations effectuer i TOEN il est donc temps de passer la r alisation de chaque gt ackage un certains nombre d ajouts et modifications dans les P 8 mod les issus de la conception pr liminaire il est possible et souhaitable de pr parer les tests o restructurations des diff rents diagrammes de classes unitaires pour notamment prendre en compte les choix techniques ci dessus sp cification finale des APIs contraintes pr post conditions exceptions visibilit s ajouts de pr cisions documentaires notamment descriptions techniques des m thodes Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 181 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 182 M thodologie de la conception l int gration R alisation d UML C UML C classe attribut publique attribut prot g attribut priv op ration g n ralisation association package invariants pr et post conditions class attribut prot g avec m thodes publiques d acc s attribut prot g avec m thodes d acc s prot g s idem mais tout priv fonction membre h ritage public par d faut collection liste tableau avec m thod
71. ossibles de signaux dans un diagramme de classe l aide d une d pendance portant le st r otype send Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 85 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 86 UML mod le dynamique Exemple de signaux dans un diagramme de classes j lt lt signal gt gt ContextePhysique lt lt signal gt gt PbTemp rature temp rature integer LE lt lt signal gt gt lt lt signal gt gt TropFroid TropChaud lt lt signal gt gt lt lt signal gt gt BeaucoupTropFroid BeaucoupTropChaud lt lt signal gt gt PbHumidit Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 87 UML mod le dynamique v nements temporels ou time events j Permet de sp cifier le passage d une certaine quantit de temps Instant de r f rence par d faut l entr e dans l tat courant voir plus loin D Exemples o after 30 seconds o after 2 ms since exiting EnVeille fait r f rence la sortie de l tat de nom EnvVeille Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 89 UML mod le dynamique Cas particulier de signal les exceptions gt Instance d une classe portant le st
72. que l action ou sous activit pr c dente est termin e Possibilit d inclure les instances cr s modifi es ou d truites au sein de l activit en dessinant un lien de d pendance vers l instance depuis l l ment du diagramme d activit qui l a cr modifi e ou d truite gt Notations sp cifiques pour branchement conditionnel concurrence fork amp join partionnement en lignes d eau ou swimlane Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 110 UML mod le dynamique Diagramme d activit s exemple EA val lt seuil reima Mod lisation d une m thode Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 111 UML mod le dynamique Importance des commentaires Outre les diagrammes vus jusqv ici et afin de pr ciser le mieux possible la dynamique du syst me Penser d crire les traitements en attachant des descriptifs textuels aux op rations complexes Ces descriptifs peuvent tre de diff rentes sortes 1 Summary bref r sum e g 1 ligne 2 Description sp cification explication d taill e du traitement Comment commentaire technique destin au concepteur programmeur Prendre soin d utiliser exactement les termes employ s pour la description du mod le nom des
73. quement le mod le des classes Un diagramme sp cifie la structure d un mod le mais ne peut pas d crire notamment les raisons qui ont pouss certains choix Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 60 UML mod le des classes R gles relatives la d finition de classes Une classe doit correspondre une certaine r alit de la chose mod liser o ne pas faire appara tre de classes inutiles o ne pas dupliquer de classes o chaque classe doit pouvoir se justifier par les op rations qu elle fournit de mani re exclusive et ou repr senter un concept clairement identifi du syst me Les classes et les associations doivent correspondre des l ments stables par opposition des tats des d pendances etc Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 62 UML mod le des classes UML mod le des classes R gles relatives la d finition de classes exercice R gles relatives l arit des associations Que penser de cette mod lisation On vitera l criture d associations d arit gt 2 Ceci n est nullement restrictif toute association n aire peut se transformer en n associations binaires Exemple chose_enseign e Mati re emballage contenu Professeur i Suite_De_Pages enseignant
74. r otype exception Exemple lt lt exception gt gt PilePleine NS lt lt throw gt gt Re Fajouter 5 enlever lt lt exception gt gt PileException lt lt exception gt gt PileVide Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 88 UML mod le dynamique v nements modification ou change events D Permet de repr senter un changement d tat ou la satisfaction d une condition La condition qui d finit un v nement modification peut faire r f rence aux attributs et aux op rations de la classe recevant l v nement plus ceux des classes visibles depuis cette derni re gt Exemples o when temperature gt 30 o when nblinstances 1000 o when client cpt solde gt calculerSeuil Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 90 UML mod le dynamique Diagrammes d tats ou statechart diagram j Exprime les r gles d utilisation des op rations de la classe ainsi que les aspects r actifs du syst me o permet de contr ler l ordre d ex cution des op rations au sein d une classe o permet de sp cifier que certaines op rations ne peuvent s appliquer que lorsque l objet est dans un certain tat et ou certaines contraintes sont satisfaites o permet de tenir comptes
75. relatives la g n ralisation R gles relatives la g n ralisation exercice Que penser de ces g n ralisations Ne pas factoriser artificiellement des concepts diff rents Rappel une instance ne peut jamais changer de classe Objet Avec Nom _Et Age penser aux tats dans ce cas nom string age integer Se souvenir que toute classe d riv e h rite de l ensemble des propri t s de la classe de base F R Personne Plan te El ment _G rable Compte_Bancaire Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 67 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 68 UML mod le des classes UML mod le des classes R gles relatives la g n ralisation exercice 2 R gles relatives aux pr post conditions Une classe fille doit permettre l exploitation de chaque Critiquer am liorer cette mod lisation ue du op ration dans tous les cas autoris s au niveau de la classe m re P riph rique gt maintient ou r duction des pr conditions Aussi une op ration sp cialis e doit pouvoir accomplir controler 3 vI attendre au moins ce qu accomplit son quivalent dans la classe lire de base ecrire __ piste gt 3 km de maintient ou augmentation des post conditions x gt Exemple
76. s par des conditions incompatibles Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 92 UML mod le dynamique Diagrammes d tats exemple emprunter En rayonnage retourner Diagramme d tats de la classe Livre Remarquer l tat initial les 2 autres tats les 2 transitions chacune tant d clench e par un v nement de type appel Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 94 UML mod le dynamique UML mod le dynamique Diagrammes d tats deuxi me exemple Diagrammes d tats troisi me exemple j EnVeille d butEmbarquement embarquerPassagers d barqu rPassagers i r tropChaud temp ratureSouhait e temp ratureSouhait e autorisationRejoindreLaPist rejoindrePiste demandeAutorisationD collage temp ratureOK Pr tAD coller temp ratureOK rejoindreA rogare autorisationDeD collage d coller tropChaud temp ratureSouhait e Chauffage Refroidissement tropFroid temp ratureSouhait e Las pe R autorisationDAtt rissage atterir Diagramme d tats de la classe Thermostat changerCap Diagramme d tats de la classe Avion Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 95 Analyse conception et programmation par
77. se et de conception gt M thodologie ou software development process Objectifs o permettre la sp cification du logiciel l aide d un langage de mod lisation e g UML o guider les diff rents intervenants lors des diff rentes phases du d veloppement logiciel o conduire un meilleur contr le des facteurs conomiques pertinents qualit co t d lais risques D N cessite en pratique o un outil logiciel pour saisir manipuler v rifier les sp cifications exprim es dans le langage de mod lisation ainsi que pour superviser le d roulement du projet o une formation pr alable des intervenants au projet Exemple de m thodologies OMT Booch UP RUP Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 23 Analyse et conception Atelier de G nie Logiciel ou AGL gt Un AGL rassemble typiquement o des diteurs graphiques et syntaxiques permettant de saisir v rifier l ensemble d une mod lisation un ou plusieurs g n rateurs de code un g n rateur de documentation une suite d outils de G nie Logiciel tels que gestionnaire de versions gestionnaire de tests analyseur de performances gt Exemples d AGL Rational Software Modeler Rose Together Modelio Visual Paradigm Entreprise Architect Alternatives gratuites Bouml StarUML 25
78. septembre 2011 33 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 34 UML mod le des classes UML mod le des classes Packages exemple Un package peut comporter d autres packages gt Encapsulation des classes en distinguant Banque o les classes priv es classes strictement internes au package o les classes prot g es Transactions gt Comptes classes pouvant tre utilis es par des classes appartenant des packages fils o les classes publiques classes pouvant tre utilis es par des classes de S Dans chaque diagramme n c ntr le librement le n importe quel package niveau de d tail Banque Liens de g n ralisation de r f rencement et de Comptes composition entre packages un package peut encapsuler Transactions Compte d autres packages Compte_particulier Compte_societe Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 35 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 36 UML mod le des classes UML mod le des classes Packages et classes exemple Une classe appartient un et un seul package Le package Compt
79. sp cification Il s agit de terminer la description de tous les l ments implanter r examen des classes notamment les classes techniques ajout es lors de la conception finaliser les APIs interfaces de programmation travailler au niveau des signatures en v rifiant la coh rence ordre des param tres nommage expliciter les pr post conditions de chaque m thode pr ciser les exceptions pr ciser les visibilit s ajouter les directives d implantation ventuellement d crire le corps de chaque m thode en utilisant les m thodes d acc s et de manipulation des relations et des attributs voir plus loin Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 173 M thodologie de la conception l int gration Conception d taill e ou object design ou class design Quatre tapes pas forc ment s quentielles C9 Compl ter la sp cification C10 Frameworks et biblioth ques de classes C11 Restructurer C12 Optimiser avant passage la r alisation Objectif rapprocher par tapes successives la mod lisation issue de l analyse pr liminaire de sa concr tisation informatique venir Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 172 M thodologie de la conception l int gration C10 Frameworks
80. t Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 5 Les concepts objets Qualit du logiciel Facteurs externes concernent utilisateurs et d veloppeurs Validit aptitude satisfaire exactement les t ches d finies par sa sp cification Robustesse capacit fonctionner m me dans des conditions anormales Extensibilit facilit d adaptation d un logiciel aux changements de sp cification Compatibilit aptitude pouvoir tre combin d autres logiciels Efficacit portabilit facilit d utilisation etc Facteurs internes concernent uniquement les d veloppeurs R utilisabilit possibilit de r utiliser des l ments d un logiciel pour r aliser de nouvelles applications V rifiabilit facilit de pr paration r alisation des proc dures de certification Modularit lisibilit etc Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 Les concepts objets Processus d abstraction j Processus de structuration simplification de la r alit D finition des fronti res conceptuelles Suppression des d tails non significatifs pour l application gt Concentration sur la vue externe de l objet Exemple abstraction du concept d usager dans une biblioth que Attributs num ro nom pr nom adress
81. temporelle dans l encha nement des interactions entre objets gt les diagrammes de collaboration pour mettre en vidence comment les objets coop rent pour mener bien le sc nario Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 101 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 102 UML mod le dynamique UML mod le dynamique Diagramme de s quence exemple et exercice j Diagramme de s quence autre exemple Critiquer am liorer le sc nario suivant 5 T l phone I Jean Employ Patron salaireDeJean Usager T T demanderAvance 4000 d crocher l donnerAvance 2000 composer 9294 demander 9294 nnerAttenteDeConnexion sonnerOccup rembourser 2000 rembourserAvance 2000 raccrocher Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 103 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 104 UML mod le dynamique UML mod le dynamique Diagramme de s quence exercice Diagramme de s quence notations pour switch amp while
82. ter In montant euro calculer_salaire euro Elles sont toujours sous forme syntaxique donner_avance iIn montant euro payer calculer moyenne salaires euro o texte usage documentaire o expression en langage OCL o expression bool enne exprim e dans le langage d implantation e g Java ou C Question il y a plusieurs anomalies dans cette sp cification lesquelles Elles comprennent toujours implicitement l invariant de la classe Cas particuliers o pour le constructeur l invariant n est pas ajout la pr condition mais il l est la post condition o pour le destructeur l invariant est ajout la pr condition mais ne l est pas la post condition Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 43 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 44 UML mod le des classes UML mod le des classes Pr Post conditions exemple j Visibilit des attributs op rations et associations Public notation nom pr fix par l ment accessible tous Soit l op ration PSRS Package notation nom pr fix par d biterCompte montant in Euros lt accessible aux seules instances des classes appartenant au m me package Pr condition Le solde du compte est sup rieur 25 pi a Prot g notation nom pr
83. tion d taill e Possibilit de g n ralisation entre interfaces Lien d implantation ou de r alisation entre une ClasseUtilisatrice classe C et une interface I la classe C implante les op rations list es dans I lt lt interface gt gt Lien de d pendance entre une classe C et une interface I classe C utilise le type abstrait d fini par I gt NOTA BENE en termes de m ta mod le UML une interface est une classe avec le st r otype interface autreOp ration Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 75 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 76 UML compl ments au mod le des classes UML compl ments au mod le des classes Interfaces exemple Simulateur Matrice get In l integer In c nteger real afficher ajouter In mMatrice S mult In mMatriceXQ Calculateur MatriceCarr e puissance in n integer N N N s lt lt thraw gt gt NS N lt lt throw gt gt N a MatriceCarr e I l l lt lt th roWz gt MatriceCreuse MatriceCreuse MatriceDense convertirEnDense MatriceDense lt lt exception gt gt get In l integer In c integer real lt lt throw gt gt MatrixException afficher T gt ajo
84. ue phase Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 129 M thodologie pour l analyse et la validation M thodologie introduction M thodologie ou software development process o d marche menant de la sp cification d un besoin la r alisation d un logiciel ou la modification d un logiciel existant o comporte de nombreux aspects techniques mais aussi gestionnaires planification du d veloppement optimisation des co ts et des d lais ma trise des risques Guide les diff rents intervenants quilibre trouver entre o des contraintes destin es assurer la ma trise des co ts des d lais et le respect des sp cifications o la cr ativit indispensable notamment lors des phases d analyse et de conception Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 128 M thodologie pour l analyse et la validation M thodologie et UML j gt UML n inclut pas de m thodologie Toutefois o UML sugg re l utilisation d une m thodologie bas e sur les cas d utilisation o les auteurs d UML proposent la m thodologie RUP Rational Unified Process Il faut en fait distinguer o le langage de mod lisation UML o les r gles d utilisation des diff rents mod les o les m thodologies g n riques comme l UP
85. uter In m Matrice EE mult In mMatriceR _ Z lt ihrows lt lt throw gt gt MatriceCarr eCreuse MatriceCarr eDense MatriceCarr eCreuse puissance in n integer Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 77 Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 78 UML compl ments au mod le des classes UML compl ments au mod le des classes R sum interfaces classes classes abstraites R sum g n ralisations et liens d implantation En UML et en Java D G n ralisation entre deux interfaces gt une interface quivaut un type abstrait n inclut aucune relation de nature sous type type entre deux types implantation abstraits une classe non abstraite quivaut un type abstrait G n ralisation entre deux classes accompagn d une implantation compl te la sous classe h rite la fois le type abstrait et P l implantation correspondant la classe m re une classe abstraite est un concept interm diaire qui p P quivaut type abstrait accompagn d une implantation 5 Lien d implantation entre une classe non abstraite et incompl te ou vide une interface relation de nature type concret type abstrait Remarques la classe ventuel
86. visible aux utilisateurs de la classe Abstraction de donn es partie publique constitu e exclusivement de m thodes pas de donn es Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 8 Les concepts objets Objet Message M thode j Les objets sont des entit s autonomes communicantes qui s changent des messages Messages TE US Objet Br attributs m thodes Valeurs E Message requ te d une action que doit r aliser l objet Messages envoy s dam r cepteur Les messages sont mis en oeuvre par les m thodes de l objet r cepteur D La d nomination message objet met en vidence l id e que l objet est responsable de l ex cution de la requ te port e par le message Analyse conception et programmation par objets CCSI Mines ParisTech imprim le 15 septembre 2011 10 Les concepts objets Les concepts objets Classe et instance j Re K Relation entre deux classes A et B permettant de d finir gt Classe mod le d objets ayant les m mes types de Je la classe B partir de la classe A propri t s et de comportements gt Chaque instance d une classe poss de ses propres La classe m re transmet ses attributs et ses m thodes valeurs pour chaque attribut ses classes filles Exemple D La classe fille ou sous classe est un cas particulier de la gt ou des classe s
Download Pdf Manuals
Related Search
Related Contents
User Guide Advanced Wireless Camera Kit (K2) manual de instruções (pt) 取扱説明書 functions - northwick.eu 2007年 - リーテム wartungsarbeiten an fahrgestell und motor - KTM Copyright © All rights reserved.
Failed to retrieve file