L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1



Documents pareils
Premiers Pas en Programmation Objet : les Classes et les Objets

TD/TP PAC - Programmation n 3

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

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

TP1 : Initiation à Java et Eclipse

Traduction des Langages : Le Compilateur Micro Java

TD/TP PAC - Programmation n 3

Application web de gestion de comptes en banques

TP, première séquence d exercices.

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

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

Développement Logiciel

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

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

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)

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Le langage C. Séance n 4

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

UML (Diagramme de classes) Unified Modeling Language

Chapitre VI- La validation de la composition.

Programmation Par Objets

Chapitre 10. Les interfaces Comparable et Comparator 1

Package Java.util Classe générique

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

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

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

as Architecture des Systèmes d Information

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

CALENDRIER DE FORMATION 2015

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Service Hébergement Web

Généralités sur le Langage Java et éléments syntaxiques.

Développement itératif, évolutif et agile

TD3: tableaux avancées, première classe et chaînes

Cours 1: Java et les objets

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

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

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

2. Comprendre les définitions de classes

Chapitre 2. Classes et objets

GOL502 Industries de services

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Gestion distribuée (par sockets) de banque en Java

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Formation : Langues : Types d Intervention et Secteurs d Activité :

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Formation : Modélisation avec UML 2.0 et Mise en pratique

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Projet Active Object

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Bases de données et interfaces Génie logiciel

Auto-évaluation Programmation en Java

TP1. Outils Java Eléments de correction

Programmation par composants (1/3) Programmation par composants (2/3)

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Programmation par les Objets en Java

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

CYCLE DE VIE DES TRANSACTIONS

Programmation Objet Java Correction

TP3 : Manipulation et implantation de systèmes de fichiers 1

novatis Agence Web innovatrice

Refonte front-office / back-office - Architecture & Conception -

Programmer en JAVA. par Tama

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

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

alg - Classes, instances, objets [oo] Exercices résolus

CI 1 PROBLEME : Quelles sont les fonctions et les caractéristiques d un environnement informatique?

Définition des Webservices Ordre de paiement par . Version 1.0

OCL - Object Constraint Language

Corrigés des premiers exercices sur les classes

Plateforme PAYZEN. Définition de Web-services

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

C++ - Classes, instances, objets [oo] Exercices résolus

Héritage presque multiple en Java (1/2)

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)

Les frameworks au coeur des applications web

Les structures. Chapitre 3

Licence Sciences et Technologies Examen janvier 2010

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

Information utiles. webpage : Google+ : digiusto/

Alfstore workflow framework Spécification technique

Rapport de Projet Béatrice Frey et Cyril Crassin Printemps Projet Fourmis. Université de Technologie de Belfort-Montbéliard

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

TP : Gestion d une image au format PGM

Guide de la migration EBICS

Utilisation d objets : String et ArrayList

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

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

PROJET 1 : BASE DE DONNÉES REPARTIES

Objets et Programmation. origine des langages orientés-objet

Drupal (V7) : principes et petite expérience

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Transcription:

L2 Informatique - gr A HLIN406-25 mars 2015 Nom : Prénom : Numéro d étudiant : Contrôle continu 1 Tous documents sur support papier autorisés. Durée : 1h00. L ensemble des réponses sera à donner sur les feuilles d énoncé. Ne pas dégrapher les feuilles. Les questions sont indépendantes les unes des autres. Question 1. Un laboratoire souhaite mettre en place un système de gestion des pages web du personnel. Un membre du laboratoire peut consulter une page ou manipuler une page. La manipulation d une page est obligatoirement précédée d une authentification. La figure 1 présente un diagramme de cas d utilisation partiel pour ce système. Figure 1 Un diagramme de cas d utilisation partiel

1. La consultation d une page peut inclure une impression de manière optionnelle. La relation établie entre Consulter page et Imprimer vous paraît-elle correcte (justifiez et le cas échéant proposez une correction). 2. Ajoutez sur le schéma (page précédente) les éléments pour modéliser : (a) Manipuler une page peut prendre différentes formes : créer, modifier ou supprimer. (b) Un agent du service informatique peut contrôler une page. (c) Un agent du service informatique est un membre du personnel et peut à ce titre consulter et manipuler une page. Question 2. La figure 2 présente une variante du diagramme de cas d utilisation, pour la partie concernant la manipulation et l authentification. Laquelle des deux versions vous semble la plus adaptée et pourquoi? Réponse à la question 2 : Figure 2 Autre version d une partie du diagramme de cas d utilisation HLIN406 2 25 mars 2015

Question 3. Soit le code Java donné aux listings 1 et 2. package c r e a t i o n I n s t a n c e s ; Listing 1 SiteWeb.java public class SiteWeb { private f i n a l S t r i n g i d e n t i f i a n t ; private int e s p a c e D i s q u e U t i l i s e ; // en GO private s t a t i c int espacedisquemax ; // en GO private CMS cms ; public SiteWeb ( S t r i n g i d e n t i f i a n t, CMS cms ) { this. i d e n t i f i a n t = i d e n t i f i a n t ; this. cms = cms ; package c r e a t i o n I n s t a n c e s ; Listing 2 CMS.java public enum CMS { joomla, drupal, e z p u b l i s h ; a- Complétez le main du listing 3 afin qu il crée une instance de la classe SiteWeb, dans une variable s1, représentant un site web d identifiant Site-marie-durand écrit avec le content management system (CMS) ezpublish. package c r e a t i o n I n s t a n c e s ; Listing 3 MainSiteWeb.java public class MainSiteWeb { public s t a t i c void main ( S t r i n g [ ] a r g s ) { b- Dessinez ci-dessous s1 sous forme de diagramme d instances. Réponse à la question 3.b : HLIN406 3 25 mars 2015

c- Ecrivez une méthode setespacedisqueutilise qui initialise l espace disque utilisé avec un entier strictement positif passé en paramètre. Si l entier est négatif ou nul, un message d erreur est affiché. Réponse à la question 3.c : HLIN406 4 25 mars 2015

Question 4. Soit le diagramme de classes UML présenté à la figure 3 et montrant une classe SiteWeb et une classe MembreLabo, reliées par une association bidirectionnelle. Un développeur propose un début de traduction Figure 3 Association bidirectionnelle entre les classes SiteWeb et MembreLabo Java présenté aux listings 4 et 5. Un membre du laboratoire est créé sans site Web à l origine. Son site personnel peut lui être affecté ultérieurement grâce à la méthode setsitepersonnel. Un site web ne peut être créé sans propriétaire, et ce propriétaire (membre du laboratoire) ne peut ensuite être modifié. Ecrivez le constructeur de la classe SiteWeb qui prend en paramètre un membre du laboratoire qui sera lr propriétaire. Si la valeur null est passée en paramètre au constructeur lors de l appel, un message d erreur est affiché et le propriétaire vaut null. Sinon la liaison entre le site web et le membre du labo est réalisée. package a s s o c B i d i r ; Listing 4 SiteWeb.java import c r e a t i o n I n s t a n c e s.cms; public class SiteWeb { private f i n a l MembreLabo p r o p r i e t a i r e ; public s t a t i c void main ( S t r i n g [ ] a r g s ) { MembreLabo m = new MembreLabo ( marie durand ) ; SiteWeb s1 = new SiteWeb (m) ; package a s s o c B i d i r ; Listing 5 MembreLabo.java public class MembreLabo { private S t r i n g nom ; private SiteWeb s i t e P e r s o n n e l ; public MembreLabo ( S t r i n g nom) { this. nom = nom ; public void s e t S i t e P e r s o n n e l ( SiteWeb s i t e P e r s o n n e l ) { this. s i t e P e r s o n n e l = s i t e P e r s o n n e l ; Réponse à la question 4 : HLIN406 5 25 mars 2015

Question 5. Proposez un diagramme de classes pour modéliser la situation suivante (en complétant celui de la question précédente que vous reporterez ici) : Un laboratoire accueille au moins deux membres (MembreLabo). Un membre ne peut appartenir qu à un laboratoire. Un laboratoire a pour directeur l un de ses membres. Un membre de laboratoire peut être ou non directeur d un (seul) laboratoire. L accueil d un membre dans un laboratoire est décrit par une durée en mois et un statut (parmi : doctorant, ingénieur, chercheur, enseignant-chercheur). Un laboratoire expose des sites web. Un site web est exposé par un et un seul laboratoire. Dans la classe laboratoire, une méthode entre permet d accueillir un membre. Elle prend en paramètre ce membre, la durée de l accueil en mois et le statut. Dans la classe laboratoire, une méthode estmembre prend en paramètre un nom et retourne vrai si un membre portant ce nom existe dans le laboratoire. Dans la classe laboratoire, une méthode listemembres retourne l ensemble des membres. Réponse à la question 5 : HLIN406 6 25 mars 2015

Question 6. On propose le début suivant pour l implémentation de la classe Laboratoire. import java. u t i l. Vector ; public class L a b o r a t o i r e { private Vector<SiteWeb> l i s t e S i t e s W e b ; a- Comment et où pensez-vous créer le vecteur? (répondez par le code correspondant et le lieu où vous le mettriez) b- Ecrivez dans la classe Laboratoire une méthode ajoute qui prend en paramètre un site web et l ajoute au laboratoire, s il n était pas déjà présent. Sinon un message d erreur est affiché. c- La méthode de Laboratoire nommée infodessites (en bas de la page), qui cherche à construire une chaîne contenant les infos des sites du laboratoire contient deux erreurs. Identifiez-les et proposez une correction. public S t r i n g i n f o D e s S i t e s ( ) { S t r i n g r e s u l t a t= ; for ( S t r i n g s : this. l i s t e S i t e s W e b ) r e s u l t a t=s ; return r e s u l t a t ; HLIN406 7 25 mars 2015