Correction du devoir de Cours sur UML



Documents pareils
Université de Bangui. Modélisons en UML

Les diagrammes de modélisation

GOL502 Industries de services

Diagramme de classes

Diagramme de déploiement

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

IFT2255 : Génie logiciel

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

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

Diagrammes de Package, de déploiement et de composants UML

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

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

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Environnements de développement (intégrés)

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

Cours STIM P8 TD 1 Génie Logiciel

Chapitre I : le langage UML et le processus unifié

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

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

Programmer en JAVA. par Tama

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

MANUEL D INSTALLATION D UN PROXY

Le Guide Pratique des Processus Métiers

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

Gestion des Identités et des Autorisations: Modèle générique

Table des matières Sources

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

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

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

UML : DIAGRAMME D ETATS

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

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

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

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)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

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

Guichet automatique de banque

Génie Logiciel Orienté Objet UML

Application web de gestion de comptes en banques

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

De la Crm à la Captation de trafic. FAX Land

OCL - Object Constraint Language

Sage CRM. 7.2 Guide de Portail Client

Créer un site Internet dynamique

Premiers Pas en Programmation Objet : les Classes et les Objets

Publier un Carnet Blanc

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

pour Windows Manuel de l agent pour Microsoft SQL Server r11.1 C F

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

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

Chapitre VI- La validation de la composition.

I. Descriptif de l offre. L offre Sage 100 Entreprise Edition Entreprise

RMI le langage Java XII-1 JMF

Programmation Objet Java Correction

UML. Diagrammes de classes (suite) Delphine Longuet.

Guide d'utilisation du portail d'authentification Cerbère à usage des professionnels et des particuliers

WINDOWS SERVER 2003-R2

Site Web de paris sportifs

Date: 22/10/12 Version: 3.2

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

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

LE MODELE CONCEPTUEL DE DONNEES

Outils de traitements de logs Apache

Corrigé des exercices sur les références

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

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

RTDS G3. Emmanuel Gaudin

TD/TP PAC - Programmation n 3

Utiliser CHAMILO pour le travail collaboratif

Information utiles. webpage : Google+ : digiusto/

Alfstore workflow framework Spécification technique

Installation 4D. Configuration requise Installation et activation

Sélection du contrôleur

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

Chapitre 2. Classes et objets

Le service d'accès à distance aux bases de données du SCD de Paris 10 Nanterre

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

Les frameworks au coeur des applications web

RÉALISATION D UN SITE DE RENCONTRE

Traduction des Langages : Le Compilateur Micro Java

3. UML - Unified Modeling Language Diagrammes statiques

TD/TP PAC - Programmation n 3

Tutoriel déploiement Windows 7 via serveur Waik

Installation 4D. Configuration requise Installation et activation

CONFIGURATION DE L AUTOMATE SIEMENS

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

MEGA Application Portfolio Management. Guide d utilisation

Auto-évaluation Programmation en Java

Micro-ordinateurs, informations, idées, trucs et astuces. Utiliser une caméra IP Trendnet IP-TV110. Auteur : François CHAUSSON

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

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

Bibliothèque Esparron en livres.

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

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Date : 08/02/12 SISR1 tp.topologie.reseau.wan Durée : 2 h

Initiation à JAVA et à la programmation objet.

Transcription:

Correction du devoir de Cours sur UML 1) Le concept a Qu'est ce que c'est qu'un modèle? Appuyez vous sur un exemple d'un autre domaine que la modélisation UML, en mettant en avant l'avantage de modéliser un problème. Un modèle est une représentation abstraite d un système, qui facilite l étude et la communication entre intervenants au sein d un projet. Abstraction : ensemble des caractéristiques essentielles d'une entité, retenues par un observateur Autre modèle : Modèle économique. A partir d'hypothèses macro économiques (évolution du chômage, taux de croissance...), on créé un modèle qui permet de simuler l'évolution de cours boursiers b Quel est la différence entre une vue statique et une vue dynamique? Une vue statique permet de représenter la structure du modèle sans tenir compte de l évolution au cours du temps. Une vue dynamique représente au contraire les changements qui interviennent au cours du temps. 2) Les cas d'utilisation a Que cherche t on à modéliser avec un diagramme de cas d'utilisation? Expression du comportement du système (actions et réactions), selon le point de vue de l utilisateur. b Quel est l'intérêt de ce diagramme? Permet de délimiter les frontières du système Constitue un moyen d exprimer les besoins d un système Utilisé par les utilisateurs finaux pour exprimer leurs attentes et leurs besoins Permet d impliquer les utilisateurs dès les premiers stades du développement Constitue une base pour les tests fonctionnels c Donner un exemple de ce diagramme avec (sur le même schéma) un include, un extend, et un commentaire. Expliquez en 2 3 phrases le schéma que vous avez proposé. Une authentification permet d être sûr du client distant

3) Donner le nom de ce diagramme et expliquez brièvement de qu'il représente : Le piège du devoir! En effet, ce n est pas un diagramme de collaboration, mais la modélisation d une collaboration dans les diagrammes de classe. Cela permet de représenter quelles classes travaillent à un cas d utilisation. Il représente les 3 classes qui participent au cas d utilisation «vente de véhicule». 4) Diagramme de classe a En utilisant le maximum de détail, représenter ces classes en utilisant les diagrammes de classe (prévoyez une page entière, vous devrez ajouter des trucs) b Ajoutez les classes suivantes (les noms en gras) : Les chambres Single ont une ou plusieurs Télévision et les chambres Duo ont une salle de bain. Par contre toutes les chambres ont un Lit, et il existe deux type de lit : des lits à Baldaquin, et des lits Futon. c Essayez de faire figurer une agrégation et une composition, en expliquant votre choix. d Représentez la phrase suivante sur le diagramme : une personne est soit un client de l'hôtel, soit le gérant. e En utilisant la notion de package, séparez en trois groupe distinct les classes. Gestionnaire Hotel # reserve(int numch): bool - motpassegerant: String + nom: String + adresse: String + getidentifiant() :void + paye() :void 1 gerant * clients chambres Materiel 0..* nomoccupant 2 Chambre # etage : int # prix : int + reserve(string nom): void + estvide():bool ou-exclu Lit Single Duo 1 1 * 0..1 Personne # age: int # nom: String # prenom: String 0..* Television 0..1 1 SalleBain + vieillit():void Clients Baldaquin Futon

5) Diagramme d objet a En vous basant sur le précédant diagramme de classe faite un diagramme d objet qui représente cette situation : L hotel «matignon» dont le gérant Mr «Formul Alain» s occupe, possède 50 chambres. L une des chambres est louée à Mr «Lelore». matignon : Hotel gerant clients :Chambre matignon : Hotel matignon : Hotel gerant : Personne nom : Formul Alain client : Personne nom : Lelore 6) Diagramme de séquence a Donnez un exemple (pas obligatoirement basé sur un fait réel) présentant les différentes notions : Acteur, objet, ligne de vie, bande d activation, envoi de message, réponse, création dynamique, suppression d un objet

b Donnez un exemple (obligatoirement basé sur un fait réel) présentant le principe du branchement conditionnel. Distributeur Banque inserecarte() saisicode() Si code bon saisimontant() retrait() delivreargent() ejectcarte() 7) Diagramme de collaboration a Expliquez ce que ces messages font : [heure = midi] 1 : manger() Ce message «manger()» n'est envoyé que s'il est midi. 1 / * 2.1 : fermer() Ce message «fermer()» n est envoyé qu une fois le message 1 fini, et il est envoyé en parallèle (en même temps) sur tous les récepteurs ( ) un nombre inconnu de fois (*). 1.3,2.1 / [t < 10s] 2.5 : age := demanderage(nom,prenom) Ce message n est envoyé qu une fois les messages 1.3 et 2.1 fini, et uniquement si t est inferieur à 10s. De plus, la fonction demanderage prend deux paramètres (nom,prenom)et revoie une valeur dans la variable age. 1.3 / [disk full] 1.7.a * : deletetempfiles() 1.3 / [disk full] 1.7.b : reduceswapfile(20%) Les deux messages sont envoyés en même temps (c est le.a et le.b qui permet de le voir) après que le message 1.3 soit envoyé et que la condition disk full soit vrai.

Expliquer ce shéma : L objet pa87 dont l etat=detresse envoie un message à la tour de contrôle de manière répétée un nombre inconnue de fois. Ce message est synchrone, c'est à dire que l émetteur est synchronisé avec la tour (par un dialogue genre «appel tour de contrôle ; tour de contrôle écoute ; mayday ; bien reçu»). 8) Diagramme d états transitions a Imaginez un système que vous modéliserez avec un diagramme d état transition. Il faut que votre diagramme contienne au minimum 3 états, et des événements qui déclenchent des actions. b Il existe différentes manières de déclencher une action dans un état : quand on arrive, quand on est dedans, quand on en sort et tant qu on reste dans l état. Quels sont les différents mots clés associés en UML? entry / action : action exécutée à l'entrée de l'état exit / action : action exécutée à la sortie de l'état

on événement / action : action exécutée à chaque fois que l'événement cité survient do / action : action récurrente ou significative, exécutée dans l'état c Comment représenter qu un objet se trouve dans deux états en même temps? En utilisant cette manière, représentez l état d un ordinateur quand vous cliquez sur firefox : il est dans l état marche, et il passe dans l état «écoute le réseau» et «affiche page accueil». 9) Diagramme de composant Que pouvez vous dire de ce schéma (à quoi ça sert, qu est ce que ça représente ) : permet de décrire l'architecture physique et statique d'une application en termes de modules : fichiers sources, librairies, exécutables, etc. montre la mise en œuvre physique des modèles de la vue logique avec l'environnement de développement. On voit ici que pour faire l exécutable «bancdemesurestask», on a besoin de 3 objets. Pour faire l objet «BancDeMesures.obj», on a besoin de «BancDeMesures.cpp» qui a lui même besoin de 3 fichiers : «BancDeMesures.h», «Bobine.h» et «Multimetre.h» 10) Diagramme de déploiement Que pouvez vous dire de ce schéma (à quoi ça sert, qu est ce que ça représente ) : Montrent la disposition physique des matériels qui composent le système et la répartition des composants sur ces matériels Les ressources matérielles sont représentées sous forme de nœuds Les diagrammes de déploiement peuvent montrer des instances de nœuds (un matériel précis), ou des classes de nœuds