BE noté 2006 2007. Chantal Taconet et Christian Bac IO21



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

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Université de Bangui. Modélisons en UML

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

Nom de l application

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

M1 : Ingénierie du Logiciel

1 Modélisation d une base de données pour une société de bourse

GOL502 Industries de services

Les diagrammes de modélisation

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

UML (Diagramme de classes) Unified Modeling Language

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

Générer du code à partir d une description de haut niveau

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Le Guide Pratique des Processus Métiers

UML (Paquetage) Unified Modeling Language

UML. Diagrammes de classes (suite) Delphine Longuet.

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

SECTION 5 BANQUE DE PROJETS

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Table des matières Sources

Fiche pratique DataCar CRM Créer une Affaire

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

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Si vous décidez d utiliser un autre chemin, c est ce nouveau chemin qu il faudra prendre en compte pour la sauvegarde. Cf. : Chapitre 9 Sauvegarde

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Patrons de Conception (Design Patterns)

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

Connectiques et Utilisation d un disque dur multimédia MMEMUP

RAPPORT DE CONCEPTION UML :

Diagramme de classes

Cours 1 : introduction

Concevoir et déployer un data warehouse

INSTALLATION ET CONFIGURATION DE OPENLDAP

Rappel sur les bases de données

TP1 : Initiation à Java et Eclipse

UML et les Bases de Données

Utiliser un tableau de données

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Chapitre 2. Classes et objets

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Chapitre I : le langage UML et le processus unifié

OCL - Object Constraint Language

Cours STIM P8 TD 1 Génie Logiciel

1 Introduction et installation

IFT2255 : Génie logiciel

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Programmation Objet Java Correction

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

Cours en ligne Développement Java pour le web

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Traduction des Langages : Le Compilateur Micro Java

Alfresco Guide Utilisateur

MEGA Database Builder. Guide d utilisation

EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE

Algorithme. Table des matières

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

TP1 - Prise en main de l environnement Unix.

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Sommaire. Avertissement :

Ingénérie logicielle dirigée par les modèles

Créer le schéma relationnel d une base de données ACCESS

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Information utiles. webpage : Google+ : digiusto/

Création d un formulaire de contact Procédure

Manuel d utilisation TS Evaluation. Version 5 Màj 07/

Conception d une base de données

Géographie CM2. Guide pédagogique. Ressources vidéoprojetables & 14 animations interactives. Jacques Arnaud Nicole Darcy Daniel Le Gal

Chapitre VI- La validation de la composition.

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

(Mis à jour : 7 déc. 12)

Business Process Modeling (BPM)

Principe et règles d audit

Le modèle de données

Jexcel. V1.1.4 Manuel d'utilisation. modifié le 16 nov. 2004

MEGA ITSM Accelerator. Guide de Démarrage

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Ecran principal à l ouverture du logiciel

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

TP1 : Initiation à Java et Eclipse

GUIDE D UTILISATION DE LA PLATEFORME DE L UNIVERSITE DE BOURGOGNE POUR L ENSEIGNEMENT EN LIGNE ( PLUBEL )

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Plateforme de capture et d analyse de sites Web AspirWeb

Manuel utilisateur Portail SAP

Manuel. Administration P.CONSEIL. 12 avril Statut :

Introduction aux concepts d ez Publish

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

RDP : Voir ou conduire

TUTORIEL Qualit Eval. Introduction :

LE GUIDE DE l UTILISATEUR

TP1. Outils Java Eléments de correction

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Guide d inscription Campus France Maroc

Transcription:

Chantal Taconet et Christian Bac IO2 Télécom INT 20 Novembre 2006

Corrigé Barème Groupe des Écoles des Télécommunications Télécom INT École d ingénieurs 2 ème année Contrôle de connaissances : Bureau d Études Module IO2 : Introduction à la programmation Objet avec UML et JAVA Date : 20 Novembre 2006 Coordonnateurs : Chantal Taconet et Christian Bac Durée : H30mn Notes : les seuls documents autorisés sont ceux distribués en cours et ceux mis à disposition sur le site Web ; le travail doit se faire individuellement ; n oubliez pas d indiquer votre nom sur chaque feuille rendue ; soyez concis et précis, et justifiez vos réponses par des commentaires appropriés ; soyez rigoureux dans la syntaxe UML. Sujet L équipage d un avion est toujours constitué d un pilote, d un copilote et de plusieurs personnels naviguants et commerciaux (PNC). Chacune de ces personnes est identifiée par son nom et sa fonction. L équipage d un avion est reconstitué pour chacun de ses vols. Chaque membre d équipage doit être opérationnel sur deux types d avions (par exemple le PNC Richard est opérationnel sur Airbus A320, et Boeing 747). Chaque type d avion a un nombre de PNC dans son équipage oscillant entre un minimum et un maximum (par exemple, les PNC des Airbus A320 doivent être entre six et huit et ceux d un B747 entre 2 et 6). Voici ci-dessous un extrait du tableau de service de quelques employés de la compagnie AIR FRANCE : VOL Dest Date Type Site Nom Fonction AF347 Londres /0/06 A320 Orly Corinne Pilote AF347 Londres /0/06 A320 Orly Amy Copilote AF347 Londres /0/06 A320 Orly Maureen PNC AF347 Londres /0/06 A320 Orly Richard PNC AF347 Londres /0/06 A320 Orly Ben PNC AF545 New-York 2/0/06 B747 Roissy Jacques Pilote AF545 New-York 2/0/06 B747 Roissy Jean-Louis Copilote AF545 New-York 2/0/06 B747 Roissy Ségolène PNC AF545 New-York 2/0/06 B747 Roissy François PNC AF545 New-York 2/0/06 B747 Roissy Nicolas PNC Figure Extrait du tableau de service des vols AF347 et AF545 L objectif du système à modéliser est de constituer des tableaux de service. Les membres de l équipage peuvent visualiser les vols dans lesquels ils ont été affectés. L administrateur du système peut créer et supprimer des entités dans le système. Le manager peut ajouter et supprimer des personnes dans un équipage pour un vol donné (un vol est désigné par un numéro de vol et une date), les données du vol sont archivées après le vol pour une année. 2 2 Questions Question : 2pt Après avoir réalisé une analyse du texte au brouillon, ce qui vous a permis de trouver les noms et les verbes correspondant à ce problème, choisir les classes qui vous semblent devoir faire partie. Pour simplifier, le tableau n en représente que quelques-uns. 2. Pour des raisons de temps de contrôle limité, nous négligerons la complexité du système qui réside principalement à tenir à jour la localisation des équipages et à décompter leurs temps de vols et leurs temps de repos. Télécom INT Chantal Taconet et Christian Bac 20 Novembre 2006 IO2 2

de la modélisation de ce problème. Décrire textuellement ces classes et les attributs associés à chaque classe (donner le nom des classes, le nom des attributs et des explications textuelles uniquement quand cela vous semble nécessaire). Les classes et -attributs- obtenus après analyse du texte sont les suivants : Equipage -- La classe équipage regroupe l ensemble des personnes (pilote, copilote et PNC) qui participent à un vol (à une date donnée). Avion -- Un avion a un type donné, il participe à plusieurs vols. Pilote -- Une personne qui a pour métier pilote. Copilote -- Une personne qui a pour métier copilote. PNC -- Une personne qui a pour métier PNC. Personne -nom, prénom- TypeAvion -nom, nbpncmin,nbpncmax- Un membre d équipage ne peut voler que sur deux types d avion. Plusieurs avions peuvent être du même type, d où la nécessité de créer une classe TypeAvion. Vol -numéro, aéroportdépart, aéroportdestination, date- Un vol est une classe d association entre un avion et un ensemble de membres d équipage. Un vol a lieu a une date donnée. Confondre acteur du cas d utilisation avec classe du système (administrateur et manager se retrouvent en classes). Oublier de mettre le type d avion comme classe du système. En effet, comment alors préciser qu un membre d équipage peut voler sur deux types d avion ou comment vérifier qu une instance d avion n est pas affectée sur deux vols simultanément. Variantes possibles : La classe équipage peut être omise. Le diagramme de classes devra être modifié en conséquence. Barème de correction sur 2 points : 0.5 classe Vol 0.5 3 attributs de la classe Vol 0.5 classe Avion 0.5 classe TypeAvion Question 2 : 3pt d utilisation. Décrire les acteurs et les opérations significatives du système par un diagramme de cas La figure suivante présente les acteurs et cas d utilisation du système. ajouter membre équipage supprimer un membre d équipage créer vol supprimer vol créer un type d avion Administrateur Système supprimer un type d avion créer un avion supprimer un avion affecter un membre d équipage à un vol Manager retirer un membre d équipage à un vol afficher les données d un vol afficher mes vols MembreDÉquipage Ne pas détailler les entités à créer et supprimer. Ne pas respecter les notations du diagramme de cas d utilisation. Télécom INT Chantal Taconet et Christian Bac 20 Novembre 2006 IO2 3

Oublier un acteur. Variantes possibles : Considérer l héritage entre acteurs. Barème de correction sur 3 points : 0.5 trouver 3 acteurs (0 si seulement deux acteurs) 0.5 affecter les cas d utilisation aux bons acteurs 0.5 cas d utilisation pour ajout et suppression d entités dans le système (pas bon si on ne peut pas créer d avion ou de vol, pas bon si entité non détaillé) 0.5 cas d utilisation affecter un membre d équipage à un vol 0.5 cas d utilisation visualiser mes vols 0.5 respect des notations UML (il faut les 4 : bonhomme, trait, système et oval) Question 3 : 5pt Construire un diagramme de classes qui représente le système. Dans ce diagramme prenez soin des noms des associations, des multiplicités et des sens de navigation des associations. Vous spécifierez par le formalisme UML les éventuels héritages et agrégations. La figure suivante présente le diagramme de classes proposé. Système Avion TypeAvion assuré par peut voler sur 2 Personne Vol assuré par Équipage Pilote PNC Copilote a pour co pilote a pour PNC a pour pilote Boeing et Airbus ne peuvent pas être des classes, en effet il faudrait alors changer le modèle UML à chaque fois qu un nouveau type d avion sort sur le marché. Appeler Equipage la classe MembreEquipage (appelée Personne sur le schéma) c est une erreur de français, mais qui peut porter conséquence : on oubliera alors la multiplicité. Administrateur et Manager ne sont pas des classes. Oublier d avoir une classe d accès aux différents éléments du système (classe Système sur le corrigé). Barème de correction sur 5 points : 0.5 nom des associations (3 minimum) multiplicité (2 oublis tolérés).0 héritage (présence d un héritage et notation correcte) 0.5 agrégation 0.5 classe d accès au système regroupant les différentes entités 0.5 association multiplicité 2 Avion-Equipage 0.5 association Personne-TypeAvion (ou vers Avion pour ceux qui ont mélangé Type et Avion) Télécom INT Chantal Taconet et Christian Bac 20 Novembre 2006 IO2 4

0.5 association Avion-Vol Question 4 : 3pt Construire le diagramme de transition d états de la classe qui permet de décrire un groupe d entrées du tableau de service correspondant à un vol et un jour. La figure suivante présente le diagramme de transition d états de la classe Vol. EnCréation entry / constructeur() ÉquipageEn construction ajouter Membre supprimer Membre [tailleéquipe<nbmin] [tailleéquipe>=nbmin] Équipage PeutVoler ajouter Membre supprimer Membre EnDestruction entry / détruire() temps d archive > an Archive entry / archiver() vol terminé retirer membre d équipage vol terminé Équipage AuComplet [tailleequipe=nbmax] Avoir un état qui ne peut jamais aller vers l état final. Se tromper de classe. Ne pas faire apparaître d état Archivé. Ne pas faire apparaître les actions (qui découlent pourtant du diagramme de cas d utilisation) On peut ajouter un PNC mais pas en supprimer. Barème de correction sur 3 points : 0.5 etat initial et final flêche de passage d un état à un autre cohérentes 0.5 événements de passage d un état à un autre 0.5 état archivé 0.5 ajout et suppression de membres d équipage Question 5 : 3pt Nous sommes dans la phase de conception. On s intéresse à la classe qui permet de décrire un groupe d entrées du tableau de service correspondant à un vol et un jour. Traduire par des attributs les associations de cette classe (vous ferez figurer le nom des attributs, le type de ces attributs ainsi que la visibilité de ces attributs). - avion : @Avion - equipage : @Equipage pas fait non conforme au diagramme de classes oubli de la collection pour traduire la multiplicité Variantes possibles : - avion : @Avion - equipage : collection @MembreEquipage Barème de correction sur 3 points : 0.5 visibilité privé 0.5 @ pour référence sur attribut d association vers avion attribut d association vers équipage (ou 3 associations si pas héritage) Question 6 : 4pt Donner le diagramme de collaboration ou de séquence qui correspond au cas d utilisation : affecter un PNC à un vol. Durant la séquence (ou la collaboration), n oubliez pas de vérifier Télécom INT Chantal Taconet et Christian Bac 20 Novembre 2006 IO2 5

que : l équipage n est pas complet, le PNC est en capacité d effectuer un vol sur ce type d avion. Dans le cas contraire, le PNC ne pourra pas être affecté à ce vol. La figure suivante présente le diagramme de collaboration associé au cas d utilisation affecter un PNC à un vol. affecterpncvol(pnc,vol) :Avion :Système.. max=getnbmaxpnc() ta:typeavion 3: pv=peutvolersur(ta).max=getnbmaxpnc() 2.ta=getTypeAvion() : b=equipageaucomplet() 2 : [!b] ta=gettypeavion() 4 : [pv] ajouterequipage(pnc) pnc:personne vol:vol.2:nb=getnbpnc() 4.:ajouterÉquipage(pnc) :Équipage sur les diagrammes de collaboration : erreur dans la numérotation des opérations, oubli de classes participant à la collaboration, la vérification que l équipage est au complet tient parfois plus de la magie que à l informatique. Variantes possibles : présenter le diagramme de séquences. Barème de correction sur 4 points : 0.5 symbolisation des objets participants (souligné) 0.5 présence des objets nécessaires au fonctionnement de la séquence ou collaboration (pour le corrigé Système, Equipage, Vol, Avion, TypeAvion, PNC) pour les copies tous les objets concernés (un oubli toléré) 0.5 rectangle durée de vie des opérations (séquence) ou numéro de séquence (collaboration) interactions pour connaître la taille max équipage et taille actuelle (au moins 3 interactions) 0.5 interactions pour vérifier que le PNC peut voler sur le type d avion 0.5 interaction pour ajouter le PNC à l équipage 0.5 tentative pour faire apparaître des paramètres sur les appels d opérations Télécom INT Chantal Taconet et Christian Bac 20 Novembre 2006 IO2 6