Modélisation Orientée Objets Avec UML - GitHub Pages

1y ago
7 Views
2 Downloads
1.61 MB
70 Pages
Last View : 11d ago
Last Download : 3m ago
Upload by : Kian Swinton
Transcription

Modélisation orientée objets avec UMLGuillaume LaurentENSMM2007G. Laurent (ENSMM)UML20071 / 70

Plan du cours1Introduction2Vue fonctionnelle3Vue statique4Vue dynamique5Démarche de modélisation6Programmation Orientée Objet en C 7BibliographieG. Laurent (ENSMM)UML20072 / 70

IntroductionGenèse de UML (Unified Modeling Langage)Jusqu’au milieu des années1990, de nombreux modèlesobjets sont proposés :Booch’91 de GradyBoochObject ModelingTechnique (OMT) deJames Rumbaugh en1991 puis 1994Object-OrientedSoftware Engineering(OOSE) de IvarJacobson en 1992Source P.A. MullerUnification des méthodes par Rumbaugh, Jacobson et Booch et naissanced’UML 1.0 en 1997UML 2.0 en septembre 2004G. Laurent (ENSMM)UML20073 / 70

IntroductionQu’est-ce que UMLUML est un langage universel de modélisation objetsUML est une notation, un outil de communication visuelle (diagrammes)UML est une norme maintenue par l’organisation à but non lucratif OMG(Object Management Group) et disponible gratuitement sur www.uml.orgUML n’est pas un processus de développementUML n’est pas un langage de programmationG. Laurent (ENSMM)UML20074 / 70

IntroductionLes diagrammes UMLDiagrammes de cas d’utilisation : décrivent les services rendus par le systèmedu point de vue de l’utilisateurDiagrammes de classes : décrivent les classes d’une application et leursrelations statiquesDiagrammes d’objets : montrent l’état d’une application à un instant donnéDiagrammes de composants : sont une vue modulaire de l’application enregroupant les classes qui collaborentDiagrammes de déploiement : modélisent l’aspect matériel de l’applicationDiagrammes de collaboration : sont une représentation spatiale desinteractions entre objetsDiagrammes de séquence : sont une représentation temporelle desinteractions entre objetsDiagrammes d’états-transitions : représentent le comportement d’un objetsous la forme d’un automate à étatsDiagrammes d’activités : représentent le comportement d’une opérationG. Laurent (ENSMM)UML20075 / 70

IntroductionInterventions des diagrammes sur les axes de modélisationG. Laurent (ENSMM)UML20076 / 70

Vue fonctionnelleDiagrammes de cas d’utilisation2.1 Diagrammes de cas d’utilisation2Vue fonctionnelleDiagrammes de cas d’utilisationG. Laurent (ENSMM)UML20077 / 70

Vue fonctionnelleDiagrammes de cas d’utilisationDiagrammes de cas d’utilisationIdentifier les acteursUn acteur représente un rôle joué par une entité extérieure au système(humain ou autre système) et qui interagit directement avec le système étudiéUn utilisateur peut être représenté par plusieurs acteursPlusieurs utilisateurs peuvent être représentés par le même acteurIdentifier les cas d’utilisationUn cas d’utilisation représente un service complet attendu du systèmeUn cas d’utilisation a un début et une fin clairement identifiésUn cas d’utilisation est décrit par une forme verbaleG. Laurent (ENSMM)UML20078 / 70

Vue fonctionnelleDiagrammes de cas d’utilisationDiagrammes de cas d’utilisationExemple des cas d’utilisation d’un distributeur de boissonsG. Laurent (ENSMM)UML20079 / 70

Vue fonctionnelleDiagrammes de cas d’utilisationDiagrammes de cas d’utilisationRelation d’utilisation (include)Relation d’extension (extend)G. Laurent (ENSMM)UML200710 / 70

Vue fonctionnelleDiagrammes de cas d’utilisationDiagrammes de cas d’utilisationRelation de spécialisationG. Laurent (ENSMM)UML200711 / 70

Vue fonctionnelleDiagrammes de cas d’utilisationExercicesEx.1 Modéliser les cas d’utilisation d’un logiciel de jeu d’échecsEx.2 Modéliser les cas d’utilisation d’une caisse enregistreuse (extrait de UML parla pratique, Pascal Roques, Eyrolles)Le déroulement normal d’utilisation de la caisse est le suivant :Un client arrive à la caisse avec des articles à payerLe caissier enregistre le numéro d’identification de chaque article, ainsi que laquantité si elle est supérieure à unLa caisse affiche le prix de chaque article et son libelléLorsque tous les achats sont enregistrés, le caissier signale la fin de la venteLa caisse affiche le total des achatsLe client choisit son mode de paiement : liquide (le caissier encaisse l’argentreçu, la caisse indique la monnaie à rendre au client), chèque , carte de crédit(la caisse transmet une demande d’autorisation à un centre d’autorisation)La caisse enregistre la vente et imprime un ticket.Le caissier donne le ticket de caisse au client.Lorsque un paiement est terminé, la caisse transmet les informations sur lenombre d’articles vendus au système de gestion de stocks.Tous les matins, le responsable du magasin initialise la caisse pour la journée.G. Laurent (ENSMM)UML200712 / 70

Vue statiqueDiagrammes d’objets3.1 Diagrammes d’objets3Vue statiqueDiagrammesDiagrammesDiagrammesDiagrammesG. Laurent (ENSMM)d’objetsde classesde composantsde déploiementUML200713 / 70

Vue statiqueDiagrammes d’objetsConcept d’objetUn objet est une entité atomique définie par l’union de :Etat : attributs (données membres, champs)Comportement : façon dont un objet évolue, décrit sous formes d’opérations(méthodes, fonctions membres)Identité : propriété qui permet de distinguer tout objet des autres (référence enjava, adresse en C )Un objet peut représenter une entité physique (par ex. une voiture), virtuelle(par ex. un compte en banque) ou conceptuelle (par ex. un complexe)Un comptebanquaireUne voiture01/04/04Guillaume1 5i985kgs157 1Un objetrouge5:individu80cvG. Laurent (ENSMM)UML200714 / 70

Vue statiqueDiagrammes de classes3.2 Diagrammes de classes3Vue statiqueDiagrammesDiagrammesDiagrammesDiagrammesG. Laurent (ENSMM)d’objetsde classesde composantsde déploiementUML200715 / 70

Vue statiqueDiagrammes de classesConcept de classeNotion de catégorie ou de type d’objetsFactorise les caractéristiques communes à une catégorie d’objetsUn objet est une instance d’une classeG. Laurent (ENSMM)UML200716 / 70

Vue statiqueDiagrammes de classesEncapsulation et visibilité des attributs et des opérationsIntérêt de l’encapsulationPermet de cacher les détails d’implantation des attributs d’un objetEmpêche un client de modifier directement l’état d’un objet (i.e. sesattributs), obligation d’utiliser les opérations3 niveauxPublic : attributs accessibles et modifiables par n’importe quelle autre classe,opérations utilisables par n’importe quelle autre classe,Privé : attributs inaccessibles pour toute autre classe, opérations inutilisablespour toute autre classe,Protégé : attributs accessibles et modifiables uniquement par les classesdérivées, opérations utilisables uniquement par les classes dérivées.G. Laurent (ENSMM)UML200717 / 70

Vue statiqueDiagrammes de classesAttributs de classe et classes génériquesAttributs (ou opérations) communs à l’ensemble des instances d’une classe(attributs static en C )Classes génériques avec type paramétrable (classes template en C )G. Laurent (ENSMM)UML200718 / 70

Vue statiqueDiagrammes de classesAssociations de classesReflet d’une relation bidirectionnelle entre deux classes (ou plus)Pour pouvoir envoyer des messages (i.e. utiliser les opérations), la classecliente doit être associée avec la classe serveurPossibilité de décrire les rôlesG. Laurent (ENSMM)UML200719 / 70

Vue statiqueDiagrammes de classesAssociations de classesMultiplicité des associationsG. Laurent (ENSMM)UML200720 / 70

Vue statiqueDiagrammes de classesClasses d’associationUne association peut être représentée par une classe (pour être enrichie parexemple)Les associations n-aires peuvent souvent être réduitesG. Laurent (ENSMM)UML200721 / 70

Vue statiqueDiagrammes de classesAgrégations de classesL’agrégation est une association non symétrique :Relation de dominance et de subordinationUne classe fait partie d’une autre classeUne action sur une classe implique une action sur une autre classeUne classe peut appartenir à plusieurs agrégatsG. Laurent (ENSMM)UML200722 / 70

Vue statiqueDiagrammes de classesCompositions de classesLa composition est une agrégation forteRelation d’appartenance stricte équivalente à l’attributionUne classe ne peut pas appartenir à plusieurs compositionsUne classe composée ne peut exister sans son propriétaireG. Laurent (ENSMM)UML200723 / 70

Vue statiqueDiagrammes de classesNavigationPar défaut, les associations sont navigables dans les deux directionsUne association peut ne nécessiter qu’un seul sens de navigation :B nevoit pas AB ne peut envoyer de message à AG. Laurent (ENSMM)UML200724 / 70

Vue statiqueDiagrammes de lisation de la classe existante par ajout d’attributs et/ouajout/redéfinition de méthodesHéritage, dérivation par extensionRelation EST UNG. Laurent (ENSMM)UML200725 / 70

Vue statiqueDiagrammes de classesPolymorphismePermet d’utiliser un nom unique pour désigner des instances de classesdifférentes issues d’une même arborescenceChaque objet désigné par ce nom réagit de manière propre à la réception d’unmême messageG. Laurent (ENSMM)UML200726 / 70

Vue statiqueDiagrammes de classesNotion de paquetages (package)Regrouper les classes (ou autres diagrammes) liées entre ellesFaire apparaı̂tre (et minimiser !) les dépendances entre paquetagesG. Laurent (ENSMM)UML200727 / 70

Vue statiqueDiagrammes de classesExerciceEx.1 Soit le dessin géométrique ci-dessous :Modéliser cette situation par un diagramme d’objetsModéliser un dessin géométrique par un diagramme de classesG. Laurent (ENSMM)UML200728 / 70

Vue statiqueDiagrammes de classesExerciceEx.2 Modéliser les phrases suivantes par un diagramme de classesUn répertoire contient des fichiersUne pièce a des mursUne transaction bancaire est un achat ou une venteUne enveloppe a une adresse et un timbreLes lapins, les hirondelles, les lions, les requins, les autruches, les vautours,les truites, les pingouins sont des animaux qui se déplacent de manièresdifférentes.Des poupées russes (gigognes)Un pays possède plusieurs villes et une seule capitaleG. Laurent (ENSMM)UML200729 / 70

Vue statiqueDiagrammes de classesExerciceEx.3 Modéliser la structure statique d’un logiciel de jeu d’échecs en se focalisantsuccessivement sur :L’échiquier et les piècesLes joueurs et leurs piècesUne partie(extrait de UML par la pratique, Pascal Roques, Eyrolles)G. Laurent (ENSMM)UML200730 / 70

Vue statiqueDiagrammes de composants3.3 Diagrammes de composants3Vue statiqueDiagrammesDiagrammesDiagrammesDiagrammesG. Laurent (ENSMM)d’objetsde classesde composantsde déploiementUML200731 / 70

Vue statiqueDiagrammes de composantsDiagrammes de composantsPermet de décrirel’architecturestatique d’uneapplication enterme de modules(fichiers sources,fichiers compilés,etc.)Les dépendancesentre modulespermettentd’identifier lescontraintes decompilation et demettre en évidencela réutilisation descomposantsG. Laurent (ENSMM)UML200732 / 70

Vue statiqueDiagrammes de déploiement3.4 Diagrammes de déploiement3Vue statiqueDiagrammesDiagrammesDiagrammesDiagrammesG. Laurent (ENSMM)d’objetsde classesde composantsde déploiementUML200733 / 70

Vue statiqueDiagrammes de déploiementDiagrammes de déploiementMontre la disposition physique des différentes ressources matérielles (noeuds),leurs interconnexions et la répartition des programmes sur ces matérielsUn système est généralement décrit par un petit nombre de diagrammes dedéploiement (généralement un seul suffit)G. Laurent (ENSMM)UML200734 / 70

Vue dynamiqueDiagrammes de collaboration4.1 Diagrammes de collaboration4Vue dynamiqueDiagrammes de collaborationDiagrammes de séquenceDiagrammes d’états-transitionsDiagrammes d’activitésG. Laurent (ENSMM)UML200735 / 70

Vue dynamiqueDiagrammes de collaborationConcept de messageMessage : quand un objet (le client) demande à un autre objet (le serveur)d’effectuer une de ses opérations, on parle de messageCréditerENSMMDemander le nombred'heures er:CoursDocG. Laurent (ENSMM)UML200736 / 70

Vue dynamiqueDiagrammes de collaborationDiagrammes de collaborationReprésentent les interactions (échanges de messages) entre objets selon unpoint de vue spatialExtension des diagrammes d’objets par l’ajout de la représentation desmessages échangésVues généralement partielles et focalisées sur une collaboration de quelquesobjetsLes messages sont numérotés pour indiquer l’ordre des envois1 : Demander dedonner un cours:vacataireG. Laurent (ENSMM)2 : 737 / 70

Vue dynamiqueDiagrammes de collaborationDiagrammes de collaborationItérations1 : Translater*[i: 1.n] 2 : Translater:dessin:polygone:pointMessages conditionnels[X 3] : MessageABRésultats et paramètres (ou arguments)1 : val : MessageAG. Laurent (ENSMM)2 : Afficher(val)BUMLB200738 / 70

Vue dynamiqueDiagrammes de collaborationDiagrammes de collaborationExécutions parallèles et synchronisationA.1 : M1XA.2 : M2YZA.2 , B.3 / C.1 : M7AB.2 : M4UB.1 : M3VB.4 : M6G. Laurent (ENSMM)BWB.3 : M5UML200739 / 70

Vue dynamiqueDiagrammes de collaborationDiagrammes de collaborationDeux objets peuvent échanger un message ssi les classes de ces objets sont enrelation (association, agrégation ou composition)M1A:AB:BLe sens des messages entre deux objets est bidirectionnel ssi aucun sens denavigation n’est préciséM1A:AB:BM2Le sens des messages entre deux objets est unidirectionnel ssi un sens denavigation est préciséM1:AA:BBM2:AG. Laurent (ENSMM)UML:B200740 / 70

Vue dynamiqueDiagrammes de collaborationExerciceEx.1 Décrire à l’aide d’un diagramme de collaboration l’enchaı̂nement nominal dedistribution d’une boisson pour un distributeur de boissons dont la structureest définie par le diagramme de classes ci-dessousG. Laurent (ENSMM)UML200741 / 70

Vue dynamiqueDiagrammes de séquence4.2 Diagrammes de séquence4Vue dynamiqueDiagrammes de collaborationDiagrammes de séquenceDiagrammes d’états-transitionsDiagrammes d’activitésG. Laurent (ENSMM)UML200742 / 70

Vue dynamiqueDiagrammes de séquenceDiagrammes de séquenceReprésentent les interactions (échanges de messages) entre objets selon unpoint de vue temporelLe contexte des objets n’est pas représentéUn autreobjetUn objetUn objetMessage synchroneCréerUn autreobjetMessage asynchroneMessageréflexifG. Laurent (ENSMM)DétruireUML200743 / 70

Vue dynamiqueDiagrammes de séquenceDiagrammes de séquenceActivationUn autreobjetUn objetUn objetMessage(retour r expliciteG. Laurent (ENSMM)UML200744 / 70

Vue dynamiqueDiagrammes de séquenceDiagrammes de séquenceStructures de contrôlesABSi [X]MessageSinonMessageCABC[X] message[non X] messageFinSiTantque [X]Message*[X] messageFinTantqueG. Laurent (ENSMM)UML200745 / 70

Vue dynamiqueDiagrammes de séquenceExercicesEx.1 Réaliser le diagramme de séquence correspondant au diagramme decollaboration du distributeur de boissons (cf. T41)Ex.2 Réaliser le diagramme de séquence système du cas d’utilisation traiter lepassage en caisse de l’exercice sur la caisse enregistreuse (cf. T12)G. Laurent (ENSMM)UML200746 / 70

Vue dynamiqueDiagrammes d’états-transitions4.3 Diagrammes d’états-transitions4Vue dynamiqueDiagrammes de collaborationDiagrammes de séquenceDiagrammes d’états-transitionsDiagrammes d’activitésG. Laurent (ENSMM)UML200747 / 70

Vue dynamiqueDiagrammes d’états-transitionsDiagrammes d’états-transitionsPermettent de modéliser des automates d’états déterministesReprésentent le comportement interne d’un objet (évolution de son état), enréponse aux interactions avec d’autres objetsReprésentation des états :G. Laurent (ENSMM)UML200748 / 70

Vue dynamiqueDiagrammes d’états-transitionsDiagrammes d’états-transitionsTransitions et événementsGardes (événements conditionnels)G. Laurent (ENSMM)UML200749 / 70

Vue dynamiqueDiagrammes d’états-transitionsDiagrammes d’états-transitionsGénéralisation d’étatsSuper-états décomposés en plusieurs états disjoints (décomposition disjonctive)Même démarche que la spécialisation/généralisation des classes, les sous-étatshéritent des caractéristiques de leur super-étatG. Laurent (ENSMM)UML200750 / 70

Vue dynamiqueDiagrammes d’états-transitionsDiagrammes d’états-transitionsGénéralisation d’étatsFacilite la représentation et permet d’occulter les détailsG. Laurent (ENSMM)UML200751 / 70

Vue dynamiqueDiagrammes d’états-transitionsDiagrammes d’états-transitionsAgrégation d’étatsComposition d’un état à partir de plusieurs autres états indépendants(composition conjonctive)Permet de décrire des automates parallèlesG. Laurent (ENSMM)UML200752 / 70

Vue dynamiqueDiagrammes d’états-transitionsDiagrammes d’états-transitionsHistoriqueMécanisme pour mémoriser le dernier sous-état visitéH* indique une mémorisation pour tous les états imbriquésDéclenchement d’un événement au bout d’un certain temps passé dans unétat (transition temporisée)G. Laurent (ENSMM)UML200753 / 70

Vue dynamiqueDiagrammes d’états-transitionsDiagrammes d’états-transitionsDéclenchements d’opérationsDéclenchements d’événements relatifs à un autre objetG. Laurent (ENSMM)UML200754 / 70

Vue dynamiqueDiagrammes d’états-transitionsExercicesEx.1 Modéliser le fonctionnement d’un distributeur de boissons à l’aide d’undiagramme d’états-transitionsEx.2 Modéliser le fonctionnement d’un téléphone public à pièces à l’aide d’undiagramme d’états-transitionsLe prix minimal d’une communication est de 0,2 eurosAprès l’introduction de la monnaie, l’utilisateur a 2 minutes pour composerson numéroLa ligne peut être libre ou occupéeLe correspondant peut raccrocher le premierLe téléphone consomme de l’argent dès que l’appelé décroche et à chaqueunité de tempsOn peut ajouter des pièces à tout momentLorsque l’on raccroche, le solde de monnaie est rendu(extrait de UML par la pratique, Pascal Roques, Eyrolles)G. Laurent (ENSMM)UML200755 / 70

Vue dynamiqueDiagrammes d’activités4.4 Diagrammes d’activités4Vue dynamiqueDiagrammes de collaborationDiagrammes de séquenceDiagrammes d’états-transitionsDiagrammes d’activitésG. Laurent (ENSMM)UML200756 / 70

Vue dynamiqueDiagrammes d’activitésDiagrammes d’activitésReprésentent le comportement interne d’une opérationG. Laurent (ENSMM)UML200757 / 70

Vue dynamiqueDiagrammes d’activitésExerciceEx.1 Modéliser le comportement de l’opération PréparerBoisson() de l’objetPréparateur d’un distributeur de boissonsG. Laurent (ENSMM)UML200758 / 70

Démarche de modélisationCapture des besoins – Cahier des chargesDiagrammes de cas d’utilisationUtilisation de fiches textuelles (non UML)Identification (titre du cas, acteurs concernés, responsable, date, etc.)PréconditionsEnchaı̂nements nominauxEnchaı̂nements alternatifsEnchaı̂nements d’exceptionsPostconditionsUtilisation de diagrammes de séquence système (diagrammes de séquencesimplifiés)UndistributeurUn clientUndistributeurUn clientChoix boissonChoix boissonMontantMontantTant que MontantpositifLiquideLiquideMonnaieFin Tant queBoissonMonnaieBoissonG. Laurent (ENSMM)UML200759 / 70

Démarche de modélisationDémarche de modélisation objetOrdonner les cas d’utilisationIdentifier les classes principales à partir des spécificationsÉlaborer des diagrammes de classesFaire fonctionner les diagrammes de classes sur des diagrammes deséquence et de collaborationItérer et enrichir ! !G. Laurent (ENSMM)UML200760 / 70

Démarche de modélisationSynthèse de la démarcheSystemCas d’utilisationDiagrammes deséquence systèmean ObjectActormessage nameBesoinsutilisateursan Objectan Objectan Objectmessage namemessage namemessage namemessage namemessage nameModèledu domaineLOGOHomeArchivesMy AccountStoreDiagrammes declasses participantesDiagrammesd’interactionAbout usObjet2- titre : String- sousTitre [0.1] : String- isbn : StringArticle TitleSearch:Go!ButtonText, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text more.ButtonArticle TitleButtonButtonText, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text more.What's Newpackage LogiqueMetier.Gestion;import LogiqueMetier.Catalogue.Livre;import java.util.*;public class Panier {private double total;private List lesLignesPanier new ArrayList();public Panier() {}public double getTotal(){return total;} getDetails() : Stringtext, text, text,text, text, text,text, text, text,text, text, text,text, text, text,text, text, text,text, text, textObjet1- titre : String- sousTitre [0.1] : String- isbn : String getDetails() : StringObjet4- titre : String- sousTitre [0.1] : String- isbn : StringAdvertising getDetails() : StringButtonObjet3Article TitleText, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text, text, text,text, text, text, text, text, text, text, text, text more.- titre : String- sousTitre [0.1] : String- isbn : StringAdvertisingpublic void recalculer(List quantites){total 0;Iterator lignesIt lesLignesPanier.iterator();Iterator quantiteIt )){LignePanier l (LignePanier)lignesIt.next();int qte ((Integer) al l.getTotal();}} getDetails() : StringMaquetteDiagrammesde classesde conceptionCode(source : Modéliser un site e-commerce, Pascal Roques, Eyrolles)G. Laurent (ENSMM)UML200761 / 70

Programmation Orientée Objet en C Spécification d’une classe (.h)class Nom de classe{// Attributstype attribut1;type attribut2;.// ConstructeurNom de classe(arg1,arg2,.);// Destructeur Nom de classe(void);// Méthodestype methode1(arg1,arg2,.);type methode2(arg1,arg2,.);void methode3(arg1,arg2,.);.};G. Laurent (ENSMM)UML200762 / 70

Programmation Orientée Objet en C Implantation d’une classe (.cpp)Nom de classe::Nom de classe(arg1,arg2,.) {.}Nom de classe:: Nom de classe(void) {.}type Nom de classe::methode1(arg1,arg2,.) {.return .;}type Nom de classe::methode2(arg1,arg2,.) {.return .;}void Nom de classe::methode3(arg1,arg2,.) {.}G. Laurent (ENSMM)UML200763 / 70

Programmation Orientée Objet en C Instanciation, envoie de messages et destructionInstanciationNom de classe Objet1,Objet2;Nom de classe Objet3(x,y,.);Nom de classe *RefObjet4;RefObjet4 new Nom de classe(x,y,.);Envoie de messagesx Objet1.Methode1(x,y,.);RefObjet4- Methode3(x,y,.);Destruction// La destruction des objets 1, 2 et 3 est automatique// en fin de blocdelete RefObjet4;G. Laurent (ENSMM)UML200764 / 70

Programmation Orientée Objet en C Association 1/1class A{.B *Rb;.};class B{.A *Ra;.};G. Laurent (ENSMM)UML200765 / 70

Programmation Orientée Objet en C Association 1/1 unidirectionnelleclass A{.B *Rb;.};class B{.};G. Laurent (ENSMM)UML200766 / 70

Programmation Orientée Objet en C Association 0.*/0.*class A{.set B* Rb;.};class B{.set A* Ra;.};G. Laurent (ENSMM)UML200767 / 70

Programmation Orientée Objet en C Composition 1/1class A{.B Rb;.};class B{.A *Ra;.};G. Laurent (ENSMM)UML200768 / 70

Programmation Orientée Objet en C Généralisation/spécialisationclass A{// Attributstype attribut1;type attribut2;class B : public A{// La classe B hérite de tous les// attributs et méthodes de la// classe A// ConstructeurA(.);// Nouveaux attributs propres à Btype attribut3;type attribut4;// Méthodestype methode1(.);type methode2(.);};// Constructeur (obligatoire)B(.)// Méthodes de A redéfinies pour Btype methode2(.);// Nouvelles méthodes propres à Btype methode3(.);};G. Laurent (ENSMM)UML200769 / 70

BibliographieBibliographieGrady Booch, James Rumbaugh, and Ivar Jacobson.The Unified Modeling Language User Guide.Addison Wesley, 2005.Object Management Group (OMG).Unified Modeling Language (UML), version 2.0.Pierre-Alain Muller and Nathalie Gaertner.Modélisation Objet avec UML.Eyrolles, 2000.Pascal Roques.UML en action.Eyrolles, 2003.Pascal Roques.UML 2 par la pratique, études de cas et exercices corrigés.Eyrolles, 2004.G. Laurent (ENSMM)UML200770 / 70

Vue statique Diagrammes de classes Exercice Ex.2 Mod eliser les phrases suivantes par un diagramme de classes Un r epertoire contient des chiers Une pi ece a des murs Une transaction bancaire est un achat ou une vente Une enveloppe a une adresse et un timbre Les lapins, les hirondelles, les lions, les requins, les autruches, les vautours,

Related Documents:

Servomech S.p.A. 01.05.27.BS-ModB.E - Rev. 03 DD (M/Y) 04/21 5 1 MODELS COVERED BY THIS DOCUMENT The present manual is referred to following products: Ball screw jack with travelling nut MA Series: MA 5 BS Mod.B - MA 10 BS Mod.B - MA 25 BS Mod.B - MA 50 BS Mod.B - MA 80 BS Mod.B - MA 150 BS Mod.B - MA 200 BS Mod.B - MA 350 BS Mod.B

OWNER'S MANUAL CENTRAL VACUUM CLEANERS DS MODULAR MOD. DS A01 MOD. DS B01 MOD. DS B02 MOD. DS BC100i MOD. DS C03 MOD. DS CD125i MOD. DS D02 MOD. DS EF125i MOD. DS F03 MOD. DS H02 . Central vacuum cleaner DS F03 125 l- up to 6 operators . 7 Central vacuum cleaner DS H02 175 l- up to 8 operators . 7 Central vacuum cleaner DS .

8 ! 1989 mod 15 9 1 iteration to place, 12 1 9 1 10 d. hash table with second hash function h2(x) 7 (x mod 7) ! 4371 mod 15 6 1323 mod 15 3 6173 mod 15 8 4199 mod 15 14 4344 mod 15 9 9679 mod 15 4 1989 mod 15 9

Email: sales@modulift.com www.modulift.com 27 Mod 600XA/400 28 MOD 600XA/500 29 MOD 600XA/600 30 MOD 600XA/800 31 MOD 600XB/500 32 MOD 600XB/800 33 MOD 600 B/1000 34 Email: sales@modulift.com www.modulift.com Modulift Sets 03 Modulift UK Ltd Modulift Spreader Beams 04 One Beam Many Lifts 05 The Standard Range 06 The Heavy Range 07

diagramme d'objets sous forme de liens, ou dans un diagramme de collaborationsous forme de messages, entre objets issus des classes associées. R. BOUAZIZ --F. GARGOURI 63 Concept de relation --- Les associations C1 C2:C1 :C2 Diagramme de classes Association Diagramme d'objets:C1 :C2 Diagramme de collaboration Lien Message Objets Classes

facture peu soignée et des objets plus nombreux en pierre polie, spécialemen t des haches et des anneaux de schiste. Beaucoup des objets en pierre polie portent des signes d'écriture. Les objets en os semblent bien, par la forme générale et le choix des types, le résultat d'une tradition ancienne.

Congruencias Si a y b son enteros y n es un número natural, decimos que a y b son congruentes modulo n si a-b es divisible entre n, y escribimos a b (mod n). Observar que a b (mod n) si y solo si a y b dejan el mismo residuo al ser divididos entre n. Ejemplos. 3 7 (mod 4) -5 9 (mod 7) 66 0 (mod 11) -1 1 (mod 2)

La programmation oriente objet(POO) I. La programmation orientée objet La programmation orientée objets (POO) est une technique d'organisation du code d'un programme en le groupant en objets, les objets étant ici des éléments individuels comportant des informations (valeurs de données) et des fonctionnalités. L'approche orientée objet .