1 Diagramme de classe

Documents pareils
UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Bases de données. Chapitre 1. Introduction

UML (Diagramme de classes) Unified Modeling Language

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

La rémunération de l apprenti :

L informatique en BCPST

Initiation à la Programmation en Logique avec SISCtus Prolog

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Code du Travail, Art. L à L

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

1. Ouvrir un compte. 1 Ouverture de compte. I. Prendre un rendez-vous dans une banque. 4 ouvrir un compte 1

OCL - Object Constraint Language

Les métiers de la recherche

Microsoft Excel : tables de données

Projet Active Object

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

SCL LOGICIEL DE CONTROL

Machines virtuelles Cours 1 : Introduction

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Le compte épargne temps

Chapitre VI- La validation de la composition.

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Fiche n 1 : Personnel salarié Chargé d enseignement vacataire

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

IFT2255 : Génie logiciel

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

EXCEL TUTORIEL 2012/2013

Bases de Données. Plan

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

TEMPS PARTIEL Principe général : Quotité de temps partiel Rémunération : 50 % 50 % ; 60 % 60 % ; 70 % 70 % ; 80 % 85,7 % ; 90 % 91,4 %

Votre Réseau est-il prêt?

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Cours Informatique Master STEP

UML (Paquetage) Unified Modeling Language

1 Introduction et installation

ESSEC. Cours «Management bancaire» Séance 3 Le risque de crédit Le scoring

Modélisation des données

Cours de Génie Logiciel

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005

Le Master Mathématiques et Applications


Atelier de la Profession

Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Entraînement au concours ACM-ICPC

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

TIC INFORMATIQUE Ce que je dois retenir

Cours STIM P8 TD 1 Génie Logiciel

ASSEMBLEE GENERALE EXTRA-ORDINAIRE

Le transistor bipolaire

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Les nombres entiers. Durée suggérée: 3 semaines

Les structures. Chapitre 3

Statistiques et traitement des données

Votre capital le plus précieux: Les collaborateurs de votre entreprise.

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Initiation à Excel. Frédéric Gava (MCF)

Feuille TD n 1 Exercices d algorithmique éléments de correction

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

EVALUATION Nombres CM1

Conception des bases de données : Modèle Entité-Association

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Formation L.M.D. en instrumentation biomédicale. Mise en œuvre dans une université scientifique et médicale : Claude Bernard Lyon I

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Codage d information. Codage d information : -Définition-

Titre : La BI vue par l intégrateur Orange

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

3. UML - Unified Modeling Language Diagrammes statiques

Informatique Générale

Programmation Orientée Objet

GOL502 Industries de services

7.2 - Le traitement administratif des accidents de service, de travail et des maladies professionnelles

I Des indicateurs figurant dans le rapport de situation comparée

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Patrons de Conception (Design Patterns)

Alliez liberté et sécurité


Ingénierie des Modèles. Méta-modélisation

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

GUIDE PRATIQUE SUCCESSION

EVALUATIONS MI-PARCOURS CM2

Université de Lorraine Faculté de Droit

SOMMAIRE. Portraits des intervenants Portraits des animateurs Conférence, Débat et Échanges #$%&'(!)(*+,!-$*./)(*-(!"0!1,2*!34"0!5!!

Plan du cours. Historique du langage Nouveautés de Java 7

TP 1. Prise en main du langage Python

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

IFT2880 Organisation des ordinateurs et systèmes

GUIDE Excel (version débutante) Version 2013

Masters informatique et MIAGE

Système de Gestion de Fichiers

Sécurité sociale. Votre couverture d assurance légale en Suisse. (Dernière mise à jour: janvier 2015) ASSURANCES SOCIALES EN SUISSE

Réparer un disque dur passé en RAW

L apprenti. Définition du code du travail

RÈGLEMENT DU COMPTE EPARGNE-TEMPS

Chapitre 5 : Flot maximal dans un graphe

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Transcription:

Université Claude Bernard Lyon MASTER 2 S2IFA, 204 205 ISFA UML et Tests TD2. Point de vue statique André FABBRI Diagramme de classe Conformément au modèle objet, le diagramme de classe représente les types des objets manipulés (appelés classes) ainsi que les relations qu ils entretiennent.. Classes Figure Description d une classe Une classe est découpée en trois zones : le Nom de la classe, les attributs et les méthodes. Chaque ligne parmi les attributs et les méthodes est composée de trois élements, comme suit : Visibilité Nom : Type La visibilité : publique (+ = tous), privée(- = self) ou protégée (# = filles) Le nom : de l attributs ou de la méthode Le type : de la variable attribut ou de la valeur retrounée par la méthode Enfin les méthodes peuvent être appelées avec des paramètres. Dans ce cas, on indique entre parenthèses la liste des paramètres en précisant le nom du paramètre et son type..2 Les relations Les deux principales relations entre les classes sont les associations (est composée de) ou d héritage (est un type de).

Figure 2 Relation d héritage et d association Héritage : la classe fille possède tous les attributs et méthodes de la classe mère Association : la classe A est en fait un attribut de la classe B et vice versa. Les associations sont un peu plus précises que les relations d héritages. Dans chaque association, on distingue 4 éléments : La cardinalité : indique le nombre d objets d une classe possédée par l autre (Les rôles) : indique le nom pris par les objets d un type dans la classe associée (Le sens) : par défaut une association se parcours dans les deux sens (A B). La flèche permet de préciser le sens souhaité. {Contrainte} : permet de préciser encore des associations. Ex : {Ordered},{XOR}... Par exemple ici : Chaque objet de type A possède de 0 à une infinité d objets de type B et chaque objet de type B appartient à 3 objet de type A Il existe d autres associations plus complexes. Figure 3 Associations d aggrégation et de composition Aggrégation : association asymétrique sans dépendance entre les deux parties Composition : association asymétrique avec dépendance de B vers A (de création et dans l appartenance) Figure 4 Associations ternaire, n-aires Les associations n-aires sont comme étendent à n parties les membres de l association. 2

2 Diagramme d objets Les diagrammes d objets représentent une instanciation possible du modèle objet présenté dans le diagramme de classe. Dans un diagramme d objets on représente des objets et des liens. Figure 5 Relation entre diagramme de classe et diagramme objet Les objets : avec leur nom, leur type et préciser certaines valeurs des attributs Les liens : correspondent aux associations entre les objets Remarques : Les relations d héritage n ont pas leur place dans un diagramme d objet car est définissent un type. Par ailleurs, les liens indiqués doivent coïncider avec les cardinalités mentionnées dans le diagramme de classe. 3 Exercices 3. Attention à l héritage Question Comment rendre plus modulaire les classes de ce diagramme en utilisant des relations d héritage. 3.2 Types d associations à utiliser Question 2 Quels types d association y a t il entre les classes des expressions suivantes? Donner les diagrammes de classes associés.. une pièce est composée de plusieurs murs ; 2. un pays a une capitale ; 3

3. un pays a plusieurs villes et une seule capitale ; 4. une transaction boursière est un achat ou une vente ; 5. les fichiers contiennent des lignes ; 6. un polygone est composé d un nombre ordonné de points ; 7. modems et claviers sont des périphériques d entrées / sorties ; 8. les classes d objets peuvent avoir plusieurs attributs ; 9. une personne souhaiterait visiter plusieurs pays, et selon un ordre de préférence ; 0. une personne a travaillé dans différentes entreprises, à des périodes données et avec un certain salaire. 3.3 Instanciations minimales Question 3. 2. 3. 4. ci-dessus et composé d au moins 3 objets. ci-dessus et composé d au moins 3 objets..3 ci-dessus et composé d au moins 2 objets de la..3 ci-dessus et composé d au moins 2 objets de la Asso 0.. 5. 2 Asso2 ci-dessus et composé d au moins objet 2 ClasseC 6. 4

ci-dessus et composé d au moins objet 3.4 Système de gestion de compte (Partie II) Dans notre banque (cf. TD précédent), il existe trois type de compte de client : un compte ordinaire (CO) sur lesquelles toutes les opérations sont autorisées un compte rémunéré non bloqué (CRNB) qui en plus des opérations ci-dessus, permet la rémunération du compte avec un taux de rémunération fixe de 2%. un compte rémunéré bloqué (CRB) qui est un compte rémunéré comme ci-dessus avec un taux de 5% et sur lequel le retrait n est pas possible (et donc pas de virement aussi à partir de ce type de compte). Les comptes sont associés à un client titulaire et sont identifiés par un numéro de compte. Question 4 Donnés le diagramme de classe détaillé des CO, CRB et CRNB ainsi que les classes permettant de réaliser les fonctionnalités détaillées dans le diagramme de cas d utilisation sur ces comptes. 3.5 Modélisation de compteur 4 Modélisation d un compteur Simuler à l aide d une programmation orientée objet une montre à affichage digital (heures, minutes et secondes). NB : On utilisera la fonction (attendre s) pour simuler l écoulement d une seconde. (source : https://en.wikipedia.org/wiki/file:digital_clock_changing_numbers.jpg ) Donner le diagramme de classes associé, et proposer une implémenta- Question tion. Question 2 Modifier le diagramme de classes afin que le modèle soit le plus générique possible (applicable à un très grand nombre de situations). Modifier les implémentations en conséquence. Question 3 Définir la classe montre en utilisant les classes précédentes. Donner le diagramme d objet correspondant à l instanciation d une montre. Question 4 On souhaite pouvoir comparer l heure indiquée par une instance de montre avec : une autre montre, un horaire pré-défini. On veillera à ce que le modèle proposé repecte au maximum le paradigme-objet. 5

4. Un modèle complexe Question 5 Modélisez sous forme de classe les nombres complexes. On souhaitera bénéficier des fonctionnalités suivantes : Accéder aux partie réelles (R(a)) et imaginaires (I(a)) Additionner deux nombres complexes (a + b) Multiplier deux nombres complexes (a b) Calculer la norme au carré d un nombre complexe ( a 2 ) Calculer l opposé d un nombre complexe ( a) Calculer l inverse d un nombre complexe (a ) Dessinez la classe et écrivez en pseudo code les algorithmes des méthodes. On souhaite à présent pouvoir gérer des expressions mathématiques parenthésées pour le calcul des nombres complexes comme par exemple : ((a) ((b) + ( c))) () ( (a) + ( (b) + (c)) )) (2) Question 6 Proposer un modèle capable de réaliser le calcul de ces expressions (à nouveau on ne considérera que les opérations d addition, multiplication, opposé et inverse). Indiquez le pseudo-code des méthodes principales ainsi que les diagrammes objets correspondants aux deux exemples citer L astuce consiste à modéliser les expressions mathématiques comme des objets capable d organiser les calculs. On pourra s aider de la notation polonaise préfixée qui suggère de représenter d abord le symbole du calcul, puis les opérandes. Par exemple, les expressions ci-dessus peuvent ainsi s écrire : (a, +(b, (c))) (3) + ( a, (+(b, c)) ) (4) Question 7 Connaissez-vous le design pattern sous-jacent?. Les parenthèses et les virgules ne sont pas nécessaires dans l absolu. 6