Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Le Portail http://www.ista.ma Que vous soyez tudiants, stagiaires, professionnels de terrain, formateurs, ou que vous soyez tout ue simplement intress(e) par les questions relatives aux formations professionnelle aux mtiers, professionnelle, http://www.ista.ma vous propose un contenu mis jour en permanence et richement illustr avec un suivi
quotidien de lactualit, et une varit de ressources documentaires, de supports de formation ,et de documents en ligne ( supports de cours, mmoires, exposs, rapports de stage ) .
Le site propose aussi une multitude de conseils et des renseignements trs utiles sur tout ce qui concerne la recherche d'un emploi ou d'un stage : offres demploi, offres de stage comment rdiger stage, sa lettre de motivation, comment faire son CV, comment se prparer l'entretien dembauche etc. dembauche, Les forums http://forum.ista.ma sont mis votre disposition, pour faire part de vos expriences, ragir l'actualit, poser des question questionnements, susciter des rponses.N'hsitez pas interagir avec 'hsitez tout ceci et apporter votre pierre l'difice. r Notre Concept
Le portail http://www.ista.ma est bas sur un concept de gratuit intgrale du contenu & un modle collaboratif qui favorise la culture dchange et le sens du partage entre les membres de la communaut ista.
Notre Mission
Diffusion du savoir & capitalisation des expriences.
Notre Devise
Partageons notre savoir
Notre Ambition
Devenir la plate-forme leader dans le domaine de la Formation Professionnelle.
Notre Dfi
Convaincre de plus en plus de personnes pour rejoindre notre communaut et accepter de partager leur lus savoir avec les autres membres.
Nouvelles mthodes
Motivation 1) Prendre en compte des applications de plus en plus complexes, tant dans le monde de la gestion (introduction du multimdia) que des applications techniques (CAO, simulation, cartographie ...) qui se caractrisent par : le besoin de reprsentation dobjets complexes et volumineux lvolution frquente de la structure et du comportement de ces objets la gestion des exceptions. 2) Diminuer les cots de dveloppement et de maintenance (par la rutilisabilit).
Les 3 tapes de l'Orient Objet L'analyse oriente objet ("Analysis modelling") donne une description du domaine du problme, dcouvre les entits majeures du domaine.
OOA
OOD
La conception objet ("Design modeling") complte et transforme les spcifications des classes d'analyse, spcifie une solution informatique.
OOP
La programmation objet ("Implmentation modelling") conoit les modules logiciels en fonction des logiciel et matriel choisis.
Ces dfinitions sont celles de l'OMG (Object Management Group) Organisme but non lucratif fond en 1989 Plus de 700 entreprises adhrentes Connu pour la norme CORBA (IDL, IIOP )
Page 2
Historique
Les langages
Les mthodes
MAC
UML
SIMULA
SMALLTALK
ADA C++
67
72
83
84
86
96
97
Les premiers objets ont t dvelopps pour grer les interfaces graphiques. Les suivants doivent tre les objets mtiers, c'est--dire ceux que l'entreprise manipule dans le cadre de son activit.
Depuis 1986, on peut considrer que c'est l'poque des pionniers en ce qui concerne les mthodes OO. On assiste une profusion de publications. 1997, avec la naissance d'UML peut constituer le dbut de la priode de transition vers la gnralisation de cette mthode, qui doit permettre d'abaisser les cots perptuels de re-formation et r-quipement d'outils, chaque nouveau projet
Page 3
Les pionniers
Booch, du nom de son auteur : Grady Booch. Elle s'appelle aussi OOD pour Object Oriented Design, ce qui indique que la conception est son objectif principal. Repose sur la dualit graphe de classes / graphe d'objets. La mthode prconise dans sa dmarche de travail de raliser rapidement un prototype pour valider l'analyse et pour l'affiner. La faiblesse de la mthode rside dans son graphisme qui donne aux classes et aux objets une forme de nuage. C'est potique mais pas pratique du tout utiliser. La mthode Booch est intressante pour la puret de la mise en uvre des concepts de l'Orient Objet.
OMT, de James Rumbaugh. Elle repose sur les trois visions d'un systme: la vue statique qui est celle des classes et de leurs structure, la vue dynamique donne la reprsentation des tats, des messages, des actions et des vnements travers un graphe tats / transitions, la vue fonctionnelle montre la circulation des donnes, ce qui est surtout utile dans le cas de systme distribu. La faiblesse principale de cette mthode est lie aux difficults d'tablissement des cohrences entre les trois vues. La mthode est bien adapte l'analyse et la conception de systmes temps rels distribus. Le livre de James Rumbaugh sur OMT est assez facile comprendre.
Objectory ou OOSE du sudois Ivar Jacobson. Elle a t mise au point chez Ericsson. Cette mthode est plus fonctionnelle que rellement Oriente Objet. Elle bnficie d'un manuel gros, mal traduit, mais document et instructif. Elle dfinit 3 types d'objets : entits, contrles, interfaces. Elle est la premire prendre en compte la notion de cas d'utilisation. Elle a bien montr l'intrt de systmatiser les graphes d'interactions.
Page 4
OOA / OOD de Schlaer & Mellor. Elle conduit la description la plus dtaille et la plus prcise. L'implmentation est quasi immdiate. A l'usage, elle a souffert de sa complexit et surtout d'avoir adopt des reprsentations diffrentes pour la spcification et la conception. Elle est un peu passe de mode.
OOA de Coad & Yourdon Elle repose sur un graphe de classe trs pratique qui est galement utilis pour reprsenter les envois de message correspondant chaque cas d'utilisation de service complexe. Simple comprendre, explique dans un livre assez facile tudier, c'est une mthode bien adapte aux petits projets.
Objecteering ou Classe-Relation. Mthode d'une socit franaise Softeam ou travaille P. Desfray. Par rapport des mthodes comme OMT ou Booch, elle ajoute la notion d'hypergnricit. L'ide est intressante car l'approche Oriente Objet montre que tous les systmes informatiques semblent bien tre rductibles un certain nombre de types de base qui se conjuguent l'infini. Elle est intimement lie un AGL. Si elle dbouche aux USA, elle deviendra une option crdible.
OOM ou MERISE Orient Objet. Rochfeld et Bouzeghoub ont dvelopp un lifting de Merise qui intgre un noyau Orient Objet. A vouloir rajouter les graphes propres l'Orient Objet aux MCD et diffrentes reprsentations de Merise, il est difficile d'imaginer que le rsultat soit lger et souple.
Objets Naturels Mthode dveloppe chez Concis par Paul-Andr BRES. Elle prsente un apport intressant sur le modle des donnes de Merise. Le modle des Objets Naturels a pour fonction de formaliser les comportements d'objets qui sont construits partir du modle conceptuel des donnes de type Entit / Relation Etendu afin de dduire automatiquement les transactions interactives qui en dcoulent. Elle offre un AGL qui gnre les applications dans l'environnement de dveloppement de GUPTA Technologies (SQL Windows, Team Windows).
Page 5
Histoire rcente
Les trois locomotives en matire de mthodes Orientes Objets : Booch, Rumbaugh et Jacobson, ont travaills une convergence de leurs mthodes au sein de la socit amricaine RATIONAL. Leurs travaux ont aboutis la naissance d'UML (Unified Modeling Language).
Rvision, septembre 97
OOPSLA '95
Autres mthodes
Booch
OMT
OOSE
Partenaires
Les crateurs d'UML sont arrivs un consensus en terme de modlisation mais pas encore en temps que dmarche. La notation UML peut ainsi se substituer, sans perte d'information, aux notations des mthodes de Booch, OMT ou OOSE.
Par ailleurs de nombreuses entreprises ont annonc leur intention de soutenir UML: Microsoft, IBM, ORACLE, Unisys, softeam, Hewlett-Packard, et bien d'autres...
Page 6
Les diagrammes
Modles statiques Diagramme de classes et diagrammes dobjets. Il dcrivent la structure statique des objets et de leurs relations : agrgation, hritage ou association ; ainsi que les attributs et les oprations qui caractrisent chaque classe d'objets. Proposs par OMT et Booch. Modles dusage Diagramme de cas dutilisation (ou Use Cases). Ces cas d'utilisation constituent l'approche principale de la mthode OOSE de Jacobson. Un cas d'utilisation reprsente une partie du comportement du systme par rapport un acteur externe. Les cas d'utilisation donnent lieu l'laboration des scnarios. Modles dynamiques Diagramme d'tats (STD : State Transition Diagram de Harel). Dcrit le comportement des objets les plus importants ou les plus reprsentatifs. Deux diagrammes d'interaction: Diagramme de squence ou Event trace dans OMT, encore appel diagramme de suivi d'vnements. Met en vidence l'aspect temporel des interactions entre les classes. Diagramme de collaboration ou Event flow dans Booch. Montre les interactions (envoi de messages) entre des objets. Diagramme d'activit. Un peu part. Il drive la fois des statecharts de Harel, mais aussi des Work flow diagrammes existants bien avant l'orient objet. Modles architecturaux Diagramme de composants. Montre les lments physiques et leurs dpendances dans l'environnement de ralisation. (Booch). Diagramme de dploiement. Dcrit la configuration matrielle d'un systme. (Booch).
Page 7
Modles statiques
Diagramme de classe Il reprsente les lments de modlisation statique, tels que des classes, leur contenu et leurs relations. Par contre il ne peut pas dcrire les aspects dynamiques. Classes Une classe dcrit un groupe d'objets ayant des proprits similaires (attributs), un comportement commun (oprations), des relations communes avec les autres objets ainsi qu'une mme smantique. Le choix des classes est subjectif, il dpend fortement du contexte de l'application. Personne, socit, animal, processus et fentre sont des classes d'objets. Reprsentation graphique d'une classe :
Nom de classe Attributs Oprations ( )
Le premier compartiment contient le nom de la classe, le second les attributs et le dernier les oprations. Les compartiments peuvent tre supprims pour allger les diagrammes. Par dfaut, les attributs sont cachs et les oprations sont visibles.
Objets Chaque objet a une identit et peut tre distingu des autres. La Dupont, la Socit Simplex, Rintintin, le processus numro 7648 et la fentre du haut sont des objets. Gnralement, les objets (instances de classe) ne sont reprsents que pour donner des exemples.
Personne Nom Prnom Age Personne Dupont La 32 Personne Lebrun Marie 45 Personne Legendre Raoul 18
Classe
Objets
Les objets et les classes apparaissent souvent comme des noms communs dans les descriptions de problmes.
Page 8
Attributs Un attribut est une valeur de donne dtenue par les objets d'une classe. Chaque nom d'attribut est unique l'intrieur d'une classe (par opposition au fait d'tre unique parmi toutes les classes). Ainsi la classe Personne et la classe Socit peuvent avoir chacune un attribut adresse. Syntaxe complte : visibilit nom : type = valeur-initiale
Seul le nom est obligatoire en analyse. Visibilit : marqueur optionnel utilis en conception + public # protg - priv Type : type d'un langage de programmation en conception dtaille. Valeur-initiale : servira donner la valeur initiale d'un attribut la cration d'un nouvel objet.
Attributs de classe C'est une sorte de variable globale pour la classe. C'est en fait une valeur unique partage par tous les objets de la classe et accessible tous, ce qui vite les recopies et les risques d'incohrence. Pour le distinguer, il est prcd du symbole $ ou il est soulign.
Fentre
+ tailleDfaut : rectangle + taille : Area = (100,100) # visibilit : boolean = INVISIBLE
Page 9
Opration Une opration est un service que l'on peut demander un objet pour raliser un comportement. Tous les objets d'une classe partagent les mmes oprations. En analyse, on parle plutt dopration. En conception, on parle plutt de mthode. Une mthode est l'algorithme ou la procdure qui produit le rsultat de l'opration.
Syntaxe complte :
Seul le nom est obligatoire en analyse. Visibilit : marqueur optionnel utilis en conception + public # protg - priv Liste-paramtres : liste de paramtres formels, chacun tant spcifi comme suit : Nom : type = valeur-dfaut Type-retour : optionnel si l'opration ne retourne pas de rsultat (void du C++).
Fentre Objet gomtrique
La signature dfinit le type des arguments dentre et de sortie (liste des paramtres ncessaires l'excution de l'opration). Opration de classe Opration qui s'applique la classe elle-mme. C'est le cas de l'opration crer qui permet de gnrer une nouvelle instance d'objet.
Page 10
Liens et association Diagramme d'objets : Un lien est une connexion smantique entre des objets.
Pierre : Etudiant Un lien Mulhouse : Universit Un lien Jean-Paul : Etudiant
Strasbourg : Universit
Un lien Un lien
Anne : Etudiant
Laurence : Etudiant
Diagramme de classes : Un lien est une instance d'association. Une association dcrit un groupe de liens ayant une structure et une smantique commune.
Une association Universit Etudiant
Pour amliorer la lisibilit, l'association peut tre dcore par une forme verbale active ou passive. Le sens de la lecture peut tre prcis.
Universit Hberge > Etudiant
Universit
Etudiant
Remarque: Les associations sont souvent implmentes dans les langages de programmation sous forme de pointeurs d'un objet sur un autre. Un pointeur est un attribut qui contient une rfrence explicite vers un autre objet ou vers un ensemble d'objets.
Page 11
Association ternaire Une association peut tre binaire, ternaire, d'ordre quatre ou plus. Dans la pratique, la grande majorit des association sont binaires. On rencontre peu de ternaires, et encore moins (voire pas du tout) d'ordre quatre ou plus. Une association ternaire est ncessaire quand elle ne peut pas tre subdivise en associations binaires sans perte d'information.
Projet Langage Diagramme de classes Personne
C : langage
Classe ^ relie
< instance de
Objet ^ relie
Association
< instance de
Lien
Page 12
Multiplicit La multiplicit prcise combien d'instances d'une classe peuvent se rattacher une seule instance d'une classe donne. La notation gnrale adopte est : 1 0..1 0..* ou * 1..* 1..5, 10 obligatoire optionnel quelconque (cas gnral) au moins 1 entre 1 et 5, ou 10 min . . max
Remarque: La multiplicit est crite au bout du trait symbolisant l'association, ce qui est l'inverse de MERISE.
Agence
Nom Adresse
Vhicule
Immatriculation Puissance
Une agence gre plusieurs vhicules (0 ou n); un vhicule est attach une et une seule agence.
Personne
Nom Prnom 1..* < emploie 0..1
Entreprise
Raison sociale Activit
Page 13
Rle Un rle est une extrmit de l'association. Le nom de rle est un nom qui identifie de faon unique une extrmit de l'association.
Personne
Nom Prnom 1..* employ < emploie 0..1 employeur
Entreprise
Raison sociale Activit
L'utilisation des noms de rle est facultative mais elle prte moins confusion et est plus commode. Ces noms de rle peuvent se substituer au nom de l'association ou lui tre ajouts.
Les noms de rles sont ncessaires pour des associations entre deux objets d'une mme classe. Les noms de rles sont aussi utiles pour distinguer deux associations d'un mme couple de classes.
propritaire
*
Rpertoire
Utilisateur
*
utilisateur autoris
0..1
conteneur
*
contenu
Page 14
Exercice Une compagnie arienne propose des vols des passagers. Un vol a un aroport de dpart et un aroport d'arrive. Les aroports desservent des villes. Un commandant de bord, un copilote, des htesses et un avion sont affects chaque vol. Quand un passager rserve une place sur un vol, on lui attribue un numro de sige. Crer les classes et les associations ncessaires la modlisation de ce problme.
Passager
Cd de bord
1
Copilote
1
Htesse
*
Vol
* * *
Sige
Dpart 1 1
Arrive 1
Aroport
* Desservir *
Avion
Ville
Page 15
Contrainte C'est une relation smantique entre des lments du modle qui spcifie des conditions ou propositions devant rester vraies pour que le modle soit valide. { contrainte }
Contrainte d'inclusion
1..* Sige 1 {sous-ensemble} dirige
Elu municipal
1 maire
Mairie
1
Le maire doit faire partie des lus qui sigent la mairie. L'association dirige est un sous-ensemble de l'association sige.
Contrainte d'exclusion
Socit
*
Compte
{ or }
Personne
Contrainte d'ordre
{ordonn} 1 1..*
Pays
Dpartement
Les lments du cot "plusieurs" ont un ordre explicite qui doit tre prserv.
Page 16
Agrgation L'agrgation est une forme d'association forte dans laquelle un objet agrgat est fait de composants. Les composants font partie de l'agrgat. L'agrgation met en relation des instances d'objets. Deux objets distincts sont englobs, lun des deux est une partie de lautre. La dcision d'utiliser l'agrgation est affaire de jugement et frquemment arbitraire. Il n'est pas toujours vident de choisir entre association et agrgation.
Une agrgation peut tre fixe si le nombre et les types des sous-parties sont prdfinis.
Micro-ordinateur
1
Ecran
1
UC
0..1
Souris
1
Clavier
1
Chssis
1
Processeur
1..*
Mmoire
0..1
Ventilateur
Une agrgation variable a un nombre fini de niveaux mais le nombre de parties peut varier. 1..* 1..*
Socit Division Service
Une Socit est une agrgation de Divisions, qui sont leur tour des agrgations de Services. Une Socit est donc indirectement une agrgation de Services.
Page 17
Composition Une composition est une forme forte d'agrgation dans laquelle le cycle de vie des parties composantes est li celui du compos. Les composants n'existent pas seuls. Ils peuvent tre cres aprs le compos, mais ensuite elle vivent et meurent avec lui. Si on dtruit le compos, les composants n'existent plus. Une fois tablis, les liens ne peuvent pas tre changs.
Homme
Losange noir
1
Tte
1
Tronc
0..2
Bras
0..2
Jambe
Agrgat rcursif Un agrgat rcursif contient directement ou indirectement une instance de la mme sorte d'agrgat. Le nombre de niveaux potentiels est illimit. Un programme informatique est un agrgat de blocs, incluant ventuellement des expressions composes rcursives. La rcursion s'achve sur des expressions simples. Les blocs peuvent tre imbriqus sur un nombre arbitraire de niveaux.
Programme
Ce dessin illustre la forme habituelle d'un agrgat rcursif: une super-classe et deux sous-classes, l'une tant une classe terminale de l'agrgat et l'autre un assemblage d'instances de la super-classe abstraite.
1..*
Instruction
Bloc
Instruction lmentaire
Page 18
Gnralisation et hritage La gnralisation met en relation les classes et constitue une faon de structurer la description dun objet unique. La relation de classification correspond des phrases du type "est une sorte de". Une instance d'une sous-classe est simultanment une instance de toutes ses classes anctres. Principe de substitution de Liskov: une instance de l'lment plus spcifique peut tre utilis l o l'lment plus gnral est autoris.
Equipement
Nom fabricant poids cot Type d'quipement
Pompe
Pression d'aspiration pression de dbit taux d'coulement Type de pompe
Echangeur
Superficie diamtre longueur pression
Rservoir
Volume pression
Pompe centrifuge
Diamtre d'hlice nombre de pales axe de rotation
p. diaphragme
Matriel de diaphragme
Pompe immerge
Longueur de piston diamtre de piston nombre de cylindres
Les mots crits prs des triangles de gnralisation sont des discriminants. Un discriminant est un attribut de type numration qui indique que la proprit d'un objet a t rendue abstraite par une relation de gnralisation particulire. Une seule proprit doit tre discrimine la fois.
L'hritage est le mcanisme par lequel des lments plus spcifiques incorporent la structure et le comportement d'lments plus gnraux.
Page 19
Extension de la notation Les discriminants sont indispensables s'il existent plusieurs arbres de classification diffrents. Avion
motorisation
Rayon d'action
Planeur
AvionAMoteur
MoyenCourrier
LongCourrier
Contraintes sur la gnralisation Les deux seules contraintes prdfinies en UML pour la gnralisation sont : Disjoint Complete (ou incomplete)
Pice
{disjoint, complete}
Roi
Dame
Tour
Fou
Cavalier
Pion
Page 20
Exercice Reprsenter le modle objet d'une gestion technique de documents. Chaque document est compos d'un ou plusieurs feuillets. Un feuillet comporte du texte et des objets gomtriques qui constituent deux types d'objets graphiques supportant des oprations de type : copier, couper, coller et dplacer. Considrer les quatre objets gomtriques suivant : cercle caractris par un diamtre, ligne caractrise par ses points de terminaison, arc caractris par un rayon, un angle de dbut et un angle d'arc, rectangle caractris par les longueurs de ses cots. Indiquer les attributs: paisseur du trait et couleur de remplissage.
Feuillet
Document
Texte
groupe
1 dimension
Cercle Diamtre
Page 21
Package Un package est un regroupement d'lments du modle. Il peut comporter plusieurs types dentits (classes, associations, package). Un lment du modle, et plus particulirement une classe peut tre reprsente plusieurs fois dans un modle. Il est alors bon dindiquer le package dappartenance dune classe comme suit : NomPackage : : NomClasse Le nom dune classe est unique dans un package. Par contre il est possible davoir deux classes de mme nom dans des packages diffrents. Le systme entier peut tre vu comme un package unique de haut niveau contenant tout le reste. On peut aussi reprsenter les dpendances entre packages.
1
concerner Client
1
Commande
1
acheter
*
Produit
Page 22
Strotype Nouveau type d'lment de modlisation qui tend la smantique du mta-modle ! Un strotype permet de classer les lments du modle en grandes familles. Il peut tre associ tout lment du modle (classe, association, opration, attribut, package ) On peut dfinir ses propre strotypes; par exemple les classes dinterface, les classes de contrle, les classes entit. On peut mme y associer un(e) icne.
<< Interface>>
Pattern Modle gnrique rsolvant un problme classique et rcurrent. Solution qui a fait ses preuves, fonde sur l'exprience. Solution rutilisable dans des contextes diffrents. De plus en plus de Patterns sont disponibles au travers de livres et publications. Design Patterns Analysis Patterns L'agrgat rcursif qui modlise les structures arborescentes, est un exemple d'Analysis Pattern.
Page 23
Attribut d'association Un attribut d'association est une proprit des liens d'une association. Les associations plusieurs plusieurs sont la justification la plus contraignante de l'existence des attributs d'association. Un tel attribut est sans conteste une proprit du lien et ne peut tre rattach l'un ou l'autre des objets.
Accessible par
Fichier
Utilisateur
Permission d'accs
Autre exemple :
Travaille-pour
Personne
Nom N scurit sociale adresse
Socit
Nom adresse
Salaire fonction
Chaque personne travaillant pour une socit reoit un salaire et occupe une fonction.
Il est possible de ranger les attributs des associations un un et un plusieurs dans la classe oppose au cot "un". Cela n'est pas conseill, car la souplesse d'volution serait rduite si les multiplicits de l'association devaient changer.
Page 24
Qualification Le qualificatif est un attribut spcial qui permet de filtrer les lments de la cible. Cela rduit souvent la multiplicit effective d'une association. Les associations un plusieurs et plusieurs plusieurs peuvent tre qualifies.
Exemple :
Rpertoire
1 *
Fichier
Un rpertoire contient plusieurs fichiers. Un fichier ne peut appartenir qu' un seul rpertoire. Dans le contexte d'un rpertoire, le nom de fichier (attribut de fichier) spcifie un fichier unique dans la classe fichier.
0..1
Rpertoire
Nom de fichier
Fichier
Autre exemple :
Socit Socit
matricule
Socit
bureau
1..*
0..1
Personne
Personne
Personne
Page 25
Exercice Modliser la structure de l'arborescence des fichiers sous windows 95. Les fichiers, les raccourcis et les rpertoires sont contenus dans des rpertoires et possdent un nom. Un raccourci peut concerner un fichier ou un rpertoire. Au sein d'un rpertoire donn, un nom ne peut identifier qu'un seul lment (fichier, sous-rpertoire ou raccourci).
0..1
Elment
nom
Rpertoire 1
Raccourci * *
Page 26