M1 : Ingénierie du Logiciel

Documents pareils
M1 : Ingénierie du Logiciel

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

Cours CCNA 1. Exercices

Le spam introduction. Sommaire

Nom de l application

Messagerie. Dominique MARANT CRI Lille 1. Octobre 2006

Cisco Certified Network Associate

Université de Bangui. Modélisons en UML

L3 informatique TP n o 2 : Les applications réseau

Serveur mail sécurisé

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

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

Réseaux. 1 Généralités. E. Jeandel

OCL - Object Constraint Language

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

0.1 Mail & News : Thunderbird

SERVEUR DE MESSAGERIE

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

Paramétrage de compte mail netplus sur iphone et ipad

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)

Guichet automatique de banque

Les Fiches thématiques courriel. L outil informatique indispensable des professionnels

La messagerie électronique avec La Poste

Quelques propositions pour une organisation des ressources réseaux prenant en compte les besoins du LACL

FTP & SMTP. Deux applications fondamentales pour le réseau Internet.

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

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)

Guide administrateur AMSP

Présentation Internet

Cours STIM P8 TD 1 Génie Logiciel

Espace de stockage intermédiaire. Compte de Messagerie. Communication «Asynchrone» «Compte de Messagerie»

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Outlook Présentation.

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Guide Utilisateur simplifié Proofpoint

SOMMAIRE GUIDE D UTILISATION DU WEBMAIL. vous guide

Bases de données. Chapitre 1. Introduction

Thunderbird. Le logiciel libre du mois. Un peu de vocabulaire. Principales caractéristiques de Thunderbird!

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Module Communication - Messagerie V6. Infostance. Messagerie

OFFICE OUTLOOK QUICK START GUIDE

Installation d un Serveur de Messagerie

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

Gestion collaborative de documents

Formation ing Utiliser MailPoet

RTDS G3. Emmanuel Gaudin

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

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

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Pack Evolix Serveur Mail Documentation d'utilisation

Site Web de paris sportifs

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Surveiller et contrôler vos applications à travers le Web

TAGREROUT Seyf Allah TMRIM

Table des matières Sources

Services Réseaux - Couche Application. TODARO Cédric

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

108. Services système de base

Table des Matières. Pages 3-4. A propos d emblue. Page 5. L environnement emblue. Création d une campagne d marketing. Pages 6-15.

Outil d envoi de courrier électronique. STILOG I.S.T. et Claude Mayer Tous droits réservés

Surveiller les applications et les services grâce à la surveillance réseau

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

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

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

Publier dans la Base Documentaire

Nos solutions Cloud Kain, le 27 mars 2013 Laurent Guelton, Administrateur Délégué. Copyright 2013 Orditech. Tous droits réservés. Version 2.

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Création de votre compte de messagerie IMAP

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Réaliser un ing avec Global Système

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

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

Manuel d utilisation du web mail Zimbra 7.1

Lyon, mardi 10 décembre 2002! "#$%&"'"# &(

SERVEUR DE MESSAGERIE

Manuel d utilisation de la messagerie.

Pack Fifty+ Normes Techniques 2013

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

USERGATE MAIL SERVER. Le serveur de messagerie pour les petites et moyennes entreprises :

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Groupe Eyrolles, 2005,

Se repérer dans l écran de Foxmail

Introduction. Adresses

Projet Personnalisé Encadré #1

Communiquer : le mail Chèque n 7 Module 1

GENERALITES. COURS TCP/IP Niveau 1

Cours de Génie Logiciel

Guide d installation. Routeur Zyxel VMG1312

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Novembre 2006 Antispam sur Messagerie évoluée Completel Guide Utilisateur 1. Antispam individuel pour la Messagerie évoluée.

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

FAIRE UN PAIEMENT TIPI

Sommaire 1 CONFIGURER SA MESSAGERIE 2 2 CONSULTER VOS MAILS SUR INTERNET (WEBMAIL) 7 3 PROBLEMES POSSIBLES 8

Club informatique Mont-Bruno Séances du 18 janvier et du 17 février 2012 Présentateur : Michel Gagné

Service On Line : Gestion des Incidents

Dr.Web Les Fonctionnalités

Transcription:

M1 : Ingénierie du Logiciel UNIVERSITE PIERRE & MARIE CURIE (PARIS VI) Examen 2eme session 22 Mai 2014 (2 heures avec documents : tous SAUF ANNALES CORRIGEES). Barème indicatif sur 20 points 1. Questions de cours [3 Pts] Répondez de façon précise et concise aux questions. Barème : VALABLE sur toutes les questions de cours : -25 à -50% si la réponse inclut la bonne idée, mais qu elle est noyée dans des infos ou autres réponses fausses/inappropriées. Q1.1 (3 points): Soit le méta-modèle simplifié des diagrammes de classe UML (tel que vu en TD) : Figure 1 : Méta-modèle simplifié a) Enrichissez ce méta-modèle de façon à permettre de modéliser l héritage (éventuellement multiple!) entre classes b) Enrichissez ce méta-modèle pour permettre la modélisation d un package, i.e. un conteneur nommé pour un ensemble d objets nommés. On fera bien la distinction entre agrégation et composition dans les réponses proposées. a) 40% héritage, une seule association refléxive de type aggregation : UMLClass «extends» * UMLClass b) 60% package, soit 20% la méta-classe, 20% héritage sur NamedElement, 20% compose * NamedElement

2. Analyse : LDVH : Livre dont VOUS êtes le Héros [10 Pts] Un livre dont vous êtes le héros est un genre de romans ayant pour caractéristique d'être interactif, le déroulement de l'histoire dépendant des choix du lecteur. Chaque section du livre est numérotée et peut offrir un ou plusieurs enchaînements vers d autres sections (jamais d une section vers elle-même!) selon les choix que fait le lecteur. Certains de ces choix peuvent être conditionnés par le fait que le joueur ait préalablement atteint un certain objectif, par exemple pour ouvrir la porte de la section 131, il faut avoir obtenu la clé en traversant la section 72.Chaque section peut donc contenir des objets, qui sont ajoutés automatiquement à l inventaire du héros quand il traverse la section. L inventaire du héros est géré par une fiche de personnage où sont notés les objets obtenus au cours de l aventure. La liste des objets que l on peut obtenir dans une aventure donnée est définie par l auteur. Le livre débute toujours par la section 1, mais une ou plusieurs sections peuvent mener à la fin du livre, soit parce que le personnage est mort, soit par une fin plus heureuse à l aventure. On propose de réaliser un logiciel d aide à la création de livres dont vous êtes le héros. L auteur crée un livre (en fixant son titre ). Il peut alors construire une section en rédigeant son texte. Il peut aussi définir un nouvel enchaînement entre sections. Les enchaînements peuvent être annotés par une condition, qui définit les prérequis (objets obtenus) pour franchir cet enchaînement. L ensemble est présenté à l auteur dans une interface graphique qui permet de visualiser le graphe complet des enchaînements possibles. Une analyse du graphe par l outil permet de détecter les sections inatteignables, parce qu il n existe pas de chemin depuis la section 1 à la section incriminée. Une fois le graphe construit, l auteur peut demander la génération d une version imprimable du livre. Pour ce faire l outil numérote les sections de façon aléatoire (sauf la section 1) puis génère un texte qui capture les enchaînements. Il peut également demander la génération d un jeu de pages HTML permettant à un lecteur de jouer le livre interactivement en ligne. Chaque page HTML correspond à une section, et seuls les choix actifs (dont la condition est remplie) sont visibles. L auteur peut ensuite facilement déployer ces pages web sur un quelconque hébergeur web pour les offrir au public. Il suffit enfin au joueur de visiter avec un navigateur web la section 1 du livre pour entamer l aventure ; la gestion de l inventaire est réalisée par des cookies HTTP de durée la session. Question 2.1 : (2,5 pts) Réalisez le diagramme de cas d utilisation du système. Attention à la cohérence avec la Question 2.2 ci-dessous, qui exige la modélisation d un cas d utilisation «Définir enchaînement». Commentez et/ou annotez un minimum le diagramme. Page 2

Barème TODO Sur 100 Acteurs : 30% si et seulement si l auteur est le seul acteur identifié. 0% sinon (Lecteur identifié en acteur en particulier est une faute). Use case : 10% page web : «Déployer page Web» ne donne ni points ni pénalités s il est séparé de créer page HTML. Si on n a que Déployer Web at pas créer page Web ou l inverse on donne 10% 10% création du livre papier 10% écrire aventure / créer livre 10% Définir enchaînement 10% définir section 10% «valider correction» en use case il peut etre include depuis ou extend un autre use case. Egalement définir objets accepté en use case. 10% total pour ces use case si au moins un est présent. 10% modélisation du use case «visualiser graphe», on donnera aussi 10% si on a une note qui dit que les autres U.C sont graphiques, et/ou que la fiche détaillée permet de comprendre ce fait. Chaque use case doit lié à un acteur adapté. 0% pour chaque use case mal lié ou mal modélisé «jouer aventure» donne -10 en pénalité On pourra trouver pas mal de variantes correctes pour les détails de «Ecrire Aventure» si la modélisation est correcte on donnera les 30%, que ce soit détaillé ou non. On acceptera aussi un include de EcrireAventure sur les détails. Page 3

-10 à -20% par faute de syntaxe -10% par «use case» modélisé qui n en est pas un. Donc l ajout d un acteur «Joueur» et de son use case «Jouer Aventure» amène un barème sur 60% MAX (perte points acteur + pénalité sur le use case). Question 2.2 : (2,5 pts) Réaliser la fiche détaillée du ou des cas d utilisation(s) couvrant les étapes qui permettent à un auteur de créer un enchaînement entre sections du LDVH. Par cohérence, on demande de modéliser ce cas d utilisation en question 2.1. Titre : Définir Enchaînement Acteur : Auteur Hypothèse : aucune. Pré : Un livre a été crée (cf use case CreerAventure) Il existe au moins deux sections (cf use case définir section) Post : Un nouvel enchaînement a été défini. Il est visible dans l interface graphique comme un arc liant la source à la cible. Scénario : 1. L auteur sélectionne une section dans l interface graphique (la source) 2. L auteur choisit l option «Définir Enchaînement". 3. Le système affiche la page de description d un enchaînement comportant une zone de saisie de texte et une liste déroulante des sections déjà existantes. 4. L auteur saisit le texte de l enchaînement et sélectionne dans la liste la section cible de l enchaînement. 5. L auteur valide 6. Le système enregistre les informations et affiche une confirmation. Alternative A1 : spécifier conditions En SN4, l auteur peut sélectionner l action «Editer conditions». A1.1 : le système affiche la liste des objets définis dans cette aventure et en surbrillance ceux qui sont déjà attachés à cet enchaînement. A1.2 : L auteur en sélectionne ou déselectionne un ou plusieurs et valide. A1.3 : le système enregistre la nouvelle sélection, retour en SN4. Alternative A2 : Problèmes de saisie En SN6, si la source et la cible de l enchaînement sont la même section, le système affiche un message indiquant la nature du problème. Retour en SN4. Exception E1 : Annulation utilisateur En SN3 ou SN4 ou SN5 l utilisateur peut annuler, retour à l interface principale. Barême :sur 100% Cette question est très délicate à corriger. Il faut donc vérifier les points suivants. +10% une pre condition sur l existence de sections ou au moins du livre dentifiée +10% une post condition au moins est spécifiée exprimant que l enchaînement est créé +10 les divers affichages du système (e.g. le système affiche un formulaire de soumission) Page 4

+10 On doit voir : le choix de la source, +10 saisie du texte de l enchaînement +10 : le choix de la cible, +10 gestion de la condition sur l enchaînement, +10 correctement modélisé en ALT (donc 20% total) vu que c est optionnel par énoncé. +10 : le contrôle source!= cible, ou des précisions sur les affichages contraignant pour qu on ne puisse pas faire cette erreur +10 on peut annuler e.g. via exceptionnel. -10 % par incohérence du texte, utilisation incorrecte des champs Pré/Post/Scenario etc... En particulier, -10% si les préconditions/hypothèses sont testées dans le scenario, ou si une ALT viole les post-conditions. -10% le client n a pas l initiative (déclencheur) -10% on ne sait pas clairement qui du système ou de l acteur fait l action dans une étape du scenario -15% : Spécification d étapes hors système comme étapes du scenario (e.g. l agent téléphone à l employé) ou si si le scénario fait apparaître des interactions entre des entités autres que les acteurs et le système -10% à -30% les séquences sont mal expliquées/peu détaillée (ou compter 5 au lieu de 10% quand c est mal expliqué la séquence) Jusqu à -50% si les pré et post condition sont incohérentes avec le scénario nominal Question 2.3 : (3,5 pts) Proposez un diagramme de classes d analyse pour ce problème. On ne détaillera pas les opérations de la classe (fictive) représentant le système. Barème : sur 100 10% classe Aventure, attribut titre 10% classe section avec un texte et un numero 10% classe Enchaînement avec un texte 10% l aventure a une section début 10% classe Aventurier et son inventaire Page 5

10% l aventure contient * Objet, * Section, * Enchaînement. On donne 10% si au moins 2 de ces liens sont modélisés. 20% l enchaînement a une source et une cible qui sont des Sections 20% gestion des conditions sur les Enchaînements, ici modélisé par le lien sur Objet dans Section (qu obtient-on en traversant la section 72?) et dans Enchaînement (Quels objets faut-il pour ouvrir la porte? ). -15% si associations orientées, compositions etc -15% si opérations sur les classes -10% à 20% pour toute autre faute ou aberration -10% aucun commentaires, aucune note. Question 2.4 : (1,5 pts) Rédigez un test de validation couvrant partiellement le cas d utilisation décrit en 2.2. TV06 : Test nominal enchaînement Contexte : L aventure TEST1 a été crée (TV03), Les section S1 et S2 ont été créees (TV04 et TV05). Entrée : source S1, destination S2, texte : «ouvrir porte avec clé» Scenario : 1. L auteur sélectionne la section S1 2. Il sélectionne l action «ajouter enchainement» 3. Il positionne le sélecteur de destination sur S2 4. Il saisit le texte «ouvrir porte avec clé» 5. Il valide Résultat attendu : le système affiche une confirmation et crée un enchainement Moyen de Vérification : visuel pour la confirmation, l enchainement doit être visible comme un arc du graphe liant S1 à S2 dans l interface principale. Barème : Cohérence Q2.2 : 50% = toutes les actions décrites doivent être réalisables à la lecture de 2.2, on ne décrit dans le test que les action utilisateur sauf le R.A. Le R.A. doit être cohérent avec les postconditions du use case. Si incohérence quelconque 0%. 30% reproductible : le contexte doit être suffisamment posé pour être reproductible, le verdict clair et non ambigu. 20% moyen de vérification autre que «visuel». -20 à -50% non-respect des rubriques, incohérence du texte, illisible/incompréhensible Page 6

3. Conception : SMTP a simple mail transfer protocol [7 Pts] Figure 2 : Fonctionnement du mail Simple Mail Transfer Protocol (SMTP, littéralement «protocole simple de transfert de courrier») est un protocole de communication utilisé pour transférer le courrier électronique (courriel ou email) vers les serveurs de messagerie électronique. SMTP est un protocole assez simple (comme son nom l'indique). On commence par spécifier l'expéditeur du message, puis le ou les destinataires d'un message, puis, en général après avoir vérifié leur existence, le corps du message est transféré. SMTP ne permet pas de récupérer à distance des courriels arrivés dans une boîte aux lettres sur un serveur. Les standards Post Office Protocol (POP) et IMAP ont été créés dans ce but. L email est soumis par un client mail (MUA, mail user agent) au serveur mail de son domaine (typiquement smtp.domaine.net, appelé MSA, mail submission agent) en utilisant SMTP. A partir de là, le MSA livre le mail à l un de ses agents de transfert (MTA, mail transfer agent) en utilisant SMTP. Les MTA peuvent jouer divers rôles, comme le filtrage de SPAM ou de contenus dangereux. L utilisation d une chaîne de MTA permet de distribuer la charge sur plusieurs serveurs au besoin. Chaque MTA ajoute à l en-tête du message son nom, la date et les actions faites sur le message, ce qui explique la longueur et le contenu des en-têtes internet de vos mails. Chaque MTA est à la fois serveur et client pour le protocole SMTP. La figure 2 illustre le fonctionnement de l acheminement du mail. Toutes les flèches sauf celle liant le MDA au destinataire final sont implémentées par SMTP. La dernière étape est communément gérée via le protocole POP ou IMAP. Il peut y avoir plusieurs MTA qui forment une chaîne, dans le domaine émetteur (entre le MSA et le MTA frontière) comme dans le domaine récepteur (interposés entre le MX et le MDA). Pour chaque destinataire du message, le MTA situé à la frontière du domaine source doit localiser le serveur de mail d échange (MX, Mail exchanger) du domaine cible. Pour cela, il s appuie sur le service DNS pour résoudre l adresse du MX, i.e. défini par la partie à droite de «@» dans l adresse email. Le MTA frontière se connecte alors comme un client SMTP au MX du domaine cible. Page 7

Si le MX accepte le message, il le transfère (potentiellement à travers une nouvelle chaîne de MTA qui réalise des filtres) à un agent qui va stocker les mails (MDA, mail delivery agent), et qui offre un service comme POP aux utilisateurs finaux pour réceptionner leurs mails. Le protocole SMTP est un protocole textuel simple, comme le protocole POP étudié à l examen de Janvier. Nous faisons ici abstraction de cette couche textuelle, qui pourrait être gérée à l aide des DP Proxy Distant et Adapter comme on l a fait pour POP afin d avoir une modélisation orientée objet. On donne l interface ISMTP qui permet de capturer le fonctionnement d un serveur SMTP ; on l a abstrait ici à une seule fonction à trois arguments, l adresse émetteur, la liste des adresses des destinataires (recpt) et un chaîne pour le corps du message. Le retour booléen «false» permet de signaler une erreur. On rappelle également les grandes lignes de l interface IPOP : «list» permet d obtenir une liste des mails stockés, et «retr» permet de lire un mail donné. Question 3.1 (2 points) Sur un diagramme de composants, représentez les composants correspondant au MUA, MSA, MTA, MX et MDA. 20% par composant, i.e. qui déclare les deux bonnes interfaces dans la bonne direction. 0% sinon. Question 3.2 (2 points) Sur un diagramme de structure interne, représentez la configuration de la figure 2 de l introduction. 20% par lien correctement orienté et typé entre deux instances. 0% si un de ces élements manque ou est faux. -40% ce ne sont pas clairement des instances. Page 8

Question 3.3 (3 points) Montrez par un diagramme de séquence mettant en jeu les composants instanciés dans la question 3.2 les échanges nécessaires pour acheminer un email «coucou» du MUA émetteur (bob@toto.com) au MUA de destination (alice@titi.org). Barème : 20% par échange, list/retr comptent pour un échange. -20% on ne voit aucune donnée sur aucun message. -10% par instance mal typée, n est pas clairement une instance ou autre mal identifiée. Crédits : certains textes et images de la partie SMTP de cet énoncé sont librement basés sur wikipedia. Page 9