CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H. Coordonnateurs : Christian Bac et Denis Conan



Documents pareils
UML (Paquetage) Unified Modeling Language

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Université de Bangui. Modélisons en UML

GOL502 Industries de services

Diagramme de classes

Nom de l application

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

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

Le Guide Pratique des Processus Métiers

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

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Connectiques et Utilisation d un disque dur multimédia MMEMUP

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

Les diagrammes de modélisation

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

Cours STIM P8 TD 1 Génie Logiciel

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

M1 : Ingénierie du Logiciel

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Plateforme de capture et d analyse de sites Web AspirWeb

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

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

UML (Diagramme de classes) Unified Modeling Language

OCL - Object Constraint Language

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

Modélisation des données

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

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

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

F0RMAT I0N BUREAUTIQUE

Évaluation et implémentation des langages

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

Conception des systèmes répartis

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

Systèmes d information et bases de données (niveau 1)

TP1 : Initiation à Java et Eclipse

Révision salariale - Manager

IFT2255 : Génie logiciel

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

Business Process Modeling (BPM)

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Tp 1 correction. Structures de données (IF2)

«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, Paris

UML et les Bases de Données

Vos outils CNED COPIES EN LIGNE GUIDE DE PRISE EN MAIN DU CORRECTEUR. 8 CODA GA WB 01 13

Guide pour aider à l évaluation des actions de formation

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Utiliser un tableau de données

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

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)

Information utiles. webpage : Google+ : digiusto/

Gérer son Google Drive pour gérer ses informations : le tutoriel

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

Chapitre VI- La validation de la composition.

Cours de bases de données. Philippe Rigaux

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

Tutoriel QSOS. Version /02/2013

Table des matières Sources

Laboratoire 4 Développement d un système intelligent

MEGA Database Builder. Guide d utilisation

Algorithme. Table des matières

Manuel d utilisation du logiciel RÉSULTATS. Édition destinée aux départements

2 Grad Info Soir Langage C++ Juin Projet BANQUE

TP1. Outils Java Eléments de correction

Programmation sous QT

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

SECTION 5 BANQUE DE PROJETS

1 Introduction et installation

Chapitre 2. Classes et objets

Cours de Génie Logiciel

Projet Active Object

COURS DE MS EXCEL 2010

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

PROCÉDURE ÉLECTRONIQUE DE REMISE DE NOTES

LIVRET MASTER (Bac +4 / Bac +5) Epreuves de première année

RTDS G3. Emmanuel Gaudin

Patrons de Conception (Design Patterns)

Université de Lorraine Licence AES LIVRET DE STAGE LICENCE

Formation. Module WEB 4.1. Support de cours

Introduction au langage de programmation Java

GUIDE DU TUTEUR ACCUEIL D UN ETUDIANT EN BTS MUC. Management des Unités Commerciales. Stage de 1ère année

Calc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau

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

UML. Diagrammes de classes (suite) Delphine Longuet.

BOSS : Bourses régionale du Sanitaire et du Social GUIDE UTILISATEUR ETUDIANT

PRÉPARER LA PREMIÈRE ÉPREUVE ORALE D ADMISSION OPTION EPS. DEVOIRS SUPPLÉMENTAIRES 1 et 2

Gestion des Clés Publiques (PKI)

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

II. Modèle conceptuel le modèle entité-association

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

LA GMAO ACCEDER : EXPLOITATION POUR L ENSEIGNEMENT

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Partage en ligne 3.1. Édition 1

Guide d utilisation de la clé mémoire USB

Travail d évaluation personnelle UV valeur C : IRE. Planification de réseaux : Simulateur IT-GURU Academic Edition

Maîtriser l'utilisation des outils bureautiques. Maîtriser le logiciel de traitement de texte - Word. Maitriser le logiciel tableur - Excel

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)

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier

Transcription:

Corrigé et Barème Contrôle de connaissances 2012/2013 des étudiants de 2 è année (EI2) CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H Coordonnateurs : Christian Bac et Denis Conan Les seuls documents autorisés sont ceux distribués en cours / BE / TP et mis à disposition sur le site Web du module, ainsi que vos notes personnelles. Notes en préambule : 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 ; veillez à rendre une copie propre et lisible.

1 Sujet Analysons et concevons un système de gestion du temps (en anglais, time tracker). Un système de gestion du temps 1 est un logiciel qui permet de gérer une liste de tâches, de démarrer et d arrêter un compteur pour mesurer la durée passée sur une tâche. Dans cette étude, nous considérons que le logiciel est utilisé dans une entreprise. Les équipes de l entreprise sont organisées hiérarchiquement avec plusieurs niveaux de hiérarchies possibles. Le graphe d équipes ainsi formé est un arbre. Par exemple, l équipe «secrétariat général» est composé des équipes «logistique bâtiment», «sécurité et environnement», «accueil et événements», «édition et reprographie», et «informatique et système d information». L équipe «informatique et système d information» est elle-même composée des équipes «infrastructure système et réseau», «ressources multimédias», et «système d information». L équipe «système d information» est composée des équipes «SI comptabilité», «SI paie», etc. Chaque équipe est dirigée par un responsable et une personne ne peut être responsable que d une équipe. Chaque personne possède un nom et un prénom, et est identifiée de manière unique par un matricule. Pour un responsable d équipe, on connaît en plus la date de début de prise de fonction. Une personne est affectée à une et une seule équipe. L affectation est effectuée par un responsable d équipe qui est responsable de l équipe de manière directe ou indirecte (dans le cas d une équipe «incluse»). Un responsable d équipe peut nommer le responsable d une équipe «incluse». Les tâches sont organisées hiérarchiquement avec plusieurs niveaux de tâches imbriquées : une tâche est décomposée en sous-tâches, elles-mêmes potentiellement décomposables en sous-tâches, et ainsi de suite. Le logiciel gère un journal par tâche. Lorsqu une personne commence à travailler puis arrête de travailler sur une tâche, elle l indique au logiciel. Cela crée une entrée dite de journal qui contient les dates et heures de début et de fin de la période de travail. Le logiciel calcule la durée pour chaque entrée du journal. Le journal de la tâche, quant à lui, contient les sommes des durées des entrées du journal pour le jour courant (aujourd hui), le jour précédent (hier), la semaine courante (cette semaine), la semaine précédente (la semaine dernière), le mois courant, le mois précédent, et l année courante. Ces calculs sont effectués de manière automatique à chaque insertion ou modification d une entrée du journal. Pour les tâches composites, les sommes sont calculées en incluant récursivement les sous-tâches. Une tâche est affectée par un responsable d équipe qui précise une date de début et une date de fin. Un responsable d équipe peut affecter une tâche à une équipe qu il dirige de manière directe ou indirecte (dans le cas d une équipe «incluse»). Une personne peut travailler sur une tâche si la tâche a été affectée à son équipe, et si la date du jour est comprise dans l intervalle de temps autorisée par la tâche. 1. Si vous êtes intéressés par l utilisation d un tel système, vous pouvez installer et essayer par exemple GnoTime pour la gestion personnelle de votre temps. Télécom SudParis Denis Conan et Christian Bac 3 Décembre 2012 CSC4002 2

2 Questions Question 1 : 2pt Après avoir réalisé une analyse du texte au brouillon, ce qui vous a permis de trouver les noms (substantifs) et les verbes correspondant à ce problème, choisir les classes qui vous semblent devoir faire partie 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 et de leurs principaux 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 : LogicielGestionDuTemps : classe «interface» du système, patron de conception Façade Tâche : nom, datedébut, datefin ; Journal : duréejourcourant, duréejourprécédent, duréesemainecourante, duréesemaineprécédente, durée- MoisCourant, duréemoisprécédent, duréeannée ; EntréJournal : datedébut, heuredébut, datefin, HeureFin, travailencours, durée ; Équipe : nom ; Personne : matricule, nom, prénom ; Responsable : dateentréeenfonction, classe enfant de Personne ; acteur Utilisateur comme classe du système attributs d association mélangés aux autres attributs On accepte cependant les attributs d association avec des «@» pas de distinction entre Journal et EntréeJournal avec les attributs tous mis en attributs d instance pas de classe Journal, mais les durées mises dans la classe Tâche Pas de classe Responsable, en considérant que les personnes peuvent tantôt devenir responsable de leur équipe, tantôt redevenir une personne non responsable d équipe Barème de correction sur 2 points : 0,5 classe Équipe 0,5 classe Personne 0,5 classe Tâche 0,5 classe EntréeJournal Question 2 : 2pt Décrire les acteurs et les fonctionnalités significatives du système par un diagramme de cas d utilisation. La figure suivante présente les acteurs et les cas d utilisation du système. Télécom SudParis Denis Conan et Christian Bac 3 Décembre 2012 CSC4002 3

Créer une équipe Retirer une équipe Ajouter une personne Retirer une pesonne Responsable d équipe Personne Affecter 1 personne à 1 équipe Affecter une équipe à une équipe Retirer 1 personne d une équipe Retirer une équipe à une équipe Nommer un responsable d équipe Créer une tâche ou une sous tâche Retirer une tâche ou une sous tâche Affecter une équipe à une tâche Commencer à travailler Consolider les durées d un journal oublis de certains cas d utilisation, notamment sur les créations et suppressions d entités du système oubli de la généralisation spécialisation Barème de correction sur 2 points : 0,5 respect de la notation UML (délimitation du système, icone de l acteur, lien de communication, phrase verbale, cadre ovale autour des cas d utilisation) 0,5 des cas d utilisation pour les équipes, y compris le nommage du responsable 0,5 des cas d utilisation pour les tâches, y compris l affectation des équipes 0,5 des cas d utilisation pour les entrées de journal Question 3 : 5pt Construire un diagramme de classes qui représente le système. Dans ce diagramme, prenez soin de préciser les noms des associations, les rôles, les multiplicités et les sens de navigation des associations lorsque cela s avère nécessaire. Vous n avez pas besoin de remettre les attributs dans les classes du diagramme de classes. La figure suivante présente le diagramme de classes proposé en guise de corrigé-type. Télécom SudParis Denis Conan et Christian Bac 3 Décembre 2012 CSC4002 4

LogicielGestionDuTemps nom datedébut datefin 0..1 Tâche possède est affectée à Journal /duréejourcourant /duréejourprécédent /duréesemainecourante /duréesemaineprécédente /duréemoiscourant /duréemoisprécédent /duréeannée 0..1 nom Équipe 0..1 EntréeJournal datedébut heuredébut datefin heurefin /travailencours /durée Personne matricule nom prénom 1.. est responsable Responsable dateentréeenfonction nombreuses associations redondantes trop d associations pas de classe Journal possible de mettre une multiplicité du côté de la classe Équipe de l association est affecté à possible de mettre une multiplicité 1 du côté de la classe Équipe de l association est responsable Barème de correction sur 5 points : 1 qualité UML du diagramme (notation UML: classe, nom association, généralisation spécialisation, agrégation, etc. pas d association qui corresponde par erreur à ce qui ressemblerait à un cas d utilisation) 1 la plupart des multiplicités sont correctes (-0.25 par erreur) 0,5 la classe du patron Façade LogicielGestionDuTemps 0,5 la classe Équipe et l agrégation du patron Composite 0,5 la classe Tâche et l agrégation du patron Composite 0,5 la classe Équipe et deux associations (vers Personne et Responsable) 0,5 l association entre Tâche et Équipe 0,5 l association entre EntréeJournal et Personne Question 4 : 3pt tâche. Construire le diagramme de machines à états de la classe modélisant une La figure suivante présente le diagramme de machine à états de la classe Tâche. Télécom SudParis Denis Conan et Christian Bac 3 Décembre 2012 CSC4002 5

EnConstruction NonDémarrée entrée : constructeur() [datedujour >= datedébut] EnCours suppression [datedujour > datefin] EnDestruction entrée : destructeur() suppression suppression Fermée dessiner un diagramme d activité plutôt qu un diagramme de machine à états transition vers l état final avant la destruction du système, état qui ne permet pas d aller vers l état final, une seule transition avec plusieurs conditions et événements au lieu de plusieurs transitions. destruction dès la date de fin passée pas d états «EnConstruction» et «EnDestruction» pas d état «NonDémarrée» pas d état «EnCours» pas d état «Fermée» fonctionner par mimétisme avec les études de cas du cours, des BEs ou des annales Barème de correction sur 3 points : 1 qualité de l UML (notation = boîte, flèches, événement[condition]/action) + respect de la présence état initial et état final, et absence d état ne permettant pas d aller vers l état final 0,5 présence état EnCours 0,5 présence état Fermée 0,5 transitions avec condition sur datedujour 0,5 transitions avec événement de suppression Question 5 : 5pt Donner le diagramme de communications ou de séquence qui correspond au cas d utilisation : «Commencer à travailler sur une tâche». Les arguments sont le nom de la tâche et le matricule de la personne. Nous vous conseillons de détailler les actions correspondant à ce cas d utilisation sous forme textuelle avant de réaliser le diagramme. La figure suivante présente le diagramme de séquence associé au cas d utilisation. La description informelle du cas d utilisation est la suivante : chercher la tâche vérifier que la tâche est «en cours» chercher la personne vérifier que la personne peut travailler sur cette tâche vérifier que la tâche est affectée à l équipe la personne commence à travailler construction de l entrée de journal la tâche possède une nouvelle entrée dans son journal le journal possède une nouvelle entrée de journal l entrée de journal est liée au journal Télécom SudParis Denis Conan et Christian Bac 3 Décembre 2012 CSC4002 6

:LGDT t:tache p:personne :Équipe <<new>> e:entréejournal j:journal commencertravail(nomt,matricule) t = cherchertache(nomt):tache opt [t!= null] okt = vérifiertacheencours():boolean opt [okt == true] p = chercherpersonne(matricule):personne opt [p!= null] okp = vérifierpersonnepeuttravailler():boolean oké = vérifieréquipeaffectée():boolean opt e = commencertravail() : EntréeJournal [okp == true] <<constructeur(p)>> ajoutnouvelleentrée(e) ajoutnouvelleentrée(e) lierajournal(j) non-respect du séquencement ou des numérotations, non-respect de la notation UML : objet, etc., pas de test de valeurs retournées ou pas d utilisation des valeurs retournées, pas de fragment avec condition ou pas de condition sur les messages, non respect des liens du diagramme de classes. diagramme de communications, autre expression selon le diagramme de classes. Barème de correction sur 5 points : 1 qualité de l UML (notation = objet, classe, condition, fragment, etc.) 1 logique correcte, même si seulement exprimée dans l explication textuelle (partie tests et partie actions du cas d utilisation) 1 conformité au diagramme de classes (parcours d associations existantes et navigabilité possible) 0.5 recherche de la tâche et recherche de la personne 0.5 vérification tâche ouverte 0.5 vérification tâche affectée à l équipe de la personne 0.5 construction de l entrée de journal côté personne bonus 0.5 liaison de l entrée au journal côté tâche Question 6 : 3pt Nous nous intéressons à la conception des classes qui permettent de décrire une tâche et une équipe. Donner les attributs de ces classes avec leur visibilité et leur type. Pour la classe Tâche - nom : String - datedébut : Date - datefin : Date - soustâches : Collection de @Tâche Télécom SudParis Denis Conan et Christian Bac 3 Décembre 2012 CSC4002 7

- tâcheparente : Tâche - journal : @Journal - systeme : @LogicielGestionDuTemps Pour la classe Équipe - nom : String - ÉquipesInclues : Collection de @Équipe - équipeparente : @Équipe - membres : Collection de @Personne - responsable : @Responsable non conforme à la liste des attributs donnée à la question 1, non conforme au diagramme de classes par rapport aux navigations, non conforme au diagramme de classes par rapport aux multiplicités, selon la réponse à la question 1, selon le diagramme de classes. Barème de correction sur 3 points : 0,5 conformité avec les attributs donnés dans la question 1 1 conformité avec le bon nombre d association du diagramme de classes (moins 0,5 par erreur, jusqu à 0, négatif quand trop d erreurs) 1 conformité avec les multiplicités du diagramme de classes (moins 0,5 par erreur, jusqu à 0, négatif quand trop d erreurs) 0,5 visibilité privé Télécom SudParis Denis Conan et Christian Bac 3 Décembre 2012 CSC4002 8