Projet Active Object

Dimension: px
Commencer à balayer dès la page:

Download "Projet Active Object"

Transcription

1 Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques Appliquées à la Gestion des Entreprises Université de Rennes 1,

2 Table des matières 1. Introduction Le projet Observer Spécifications Définition des trois algorithmes de diffusion Algorithme de diffusion atomique Algorithme de diffusion séquentielle Algorithme de diffusion par époque Architecture du projet Le dossier de sources : «src» Le fichier de configuration : «init.properties» Le dossier de JAVADOC : «javadoc» Les patrons de conception Observer Command Singleton Proxy Strategy Active Object Le diagramme de conception : Plateform Independant Model Le diagramme de conception : Plateform Specific Model Diagramme de séquence de notre implémentation Tests et validation Politique de test Interface graphique pour les tests Résultat des tests LEFRANC Pierre-François Page 2

3 3. Difficultés rencontrées Conclusion du projet LEFRANC Pierre-François Page 3

4 1. Introduction Le module de Techniques Avancées pour la conception par Objets (TAO) a pour but d offrir aux étudiants la compréhension de la mise en œuvre d architectures asynchrones, via l implémentation du patron de conception Active Object et l utilisation du langage Java. TAO permet en outre d associer les principaux patrons de conception vus au cours du module AOC à une architecture asynchrone. L objectif du projet était de réaliser un service de diffusion de données de capteur. La solution à construire devait s appuyer sur des mécanismes de programmation par «threads», le patron de conception observer ainsi que le patron de conception Active Object. Ce dernier nous a notamment permis de limiter la manipulation de «Threads» Java qui se révèle, le plus souvent, très fastidieuse. Pour cela, nous avons utilisé la méthode dite du «cycle en V». Nous avons commencé par analyser les besoins et la faisabilité du projet, puis rédigé les spécifications logicielles avant de réaliser la conception pour terminer par les tests et la validation. LEFRANC Pierre-François Page 4

5 2. Le projet Observer 2.1. Spécifications Le but de l application est de proposer à l utilisateur un programme permettant d envoyer des informations numériques pour ensuite les afficher sur différents afficheurs. Pour cela, nous devions mettre en place un système de capteur transmettant des valeurs à des canaux de diffusion. Ces derniers devaient se charger de créer des «Method Invocation» permettant l envoi des valeurs sur des afficheurs. Une des spécificités du projet est que ces canaux devaient posséder des délais de propagation aléatoires, simulant une latence. De plus, l application devait proposer un choix d algorithmes permettant différents types de diffusion de valeurs. Ces spécifications nous ont amené à mettre en place différents composants au niveau de l interface utilisateur : Un champ de saisi du nombre d afficheurs : «nombre d afficheurs», Un bouton marche : «Démarrer», Des boutons dits «radio» de sélection de l algorithme de diffusion : «Algorithme diffusion». Un écran d affichage des différents canaux et afficheurs est présent afin que l utilisateur puisse s assurer du bon fonctionnement de l application. Sur cet écran, on retrouve notamment l identifiant du canal, sa latence mais également la valeur de l afficheur ainsi que sa version. Les valeurs possibles de latence sont comprises entre 500 et millisecondes (inclus). L interface de ce projet est une interface SWING dont l interactivité est gérée grâce à des «listeners» qui détectent les actions de l utilisateur et réalisent les traitements idoines : il y a inversion du contrôle. Moteur du projet IHM SWING LEFRANC Pierre-François Page 5

6 2.2. Définition des trois algorithmes de diffusion Algorithme de diffusion atomique La diffusion atomique consiste à envoyer la donnée du capteur à tous ses observateurs en s assurant que cette dernière est affichée sur tous les afficheurs avant de se modifier. De plus, ces derniers ne doivent occulter aucune valeur. Cela nécessitait donc une action à mettre en place pour bloquer le capteur tant que tous les afficheurs n ont pas reçu leur valeur Algorithme de diffusion séquentielle La diffusion séquentielle ressemble trait pour trait à la diffusion atomique à l exception près que toutes les valeurs du capteur ne sont pas obligatoirement affichables. Cela se traduit par le fait que le capteur continue de fonctionner durant la transmission des valeurs. Ce qui a pour conséquence, le non affichage de certaines valeurs Algorithme de diffusion par époque La diffusion par époque consiste à ajouter un numéro de version à la valeur transmise. Il n existe aucune contrainte tant au niveau des afficheurs qu au niveau du capteur Architecture du projet Le dossier de sources : «src» Client Ce package permet de regrouper les «lanceurs» du projet. Il s agit du «main» de l application. Command Ce package permet de regrouper toutes les commandes de l application. IHM Ce package regroupe tous les composants nécessaires à l élaboration de l IHM ainsi que les «listeners SWING». Matériel Ce package regroupe tout le matériel de l application : une horloge, un fichier de configuration. Active Object Ce package regroupe l «executor» (ou Scheduler) ainsi que les «Method Invocation» du patron de conception active object. LEFRANC Pierre-François Page 6

7 Afficheur Ce package regroupe les afficheurs de l application permettant l affichage des valeurs et des versions. Canal Diffusion Ce package regroupe les canaux de diffusion qui transmettent les valeurs depuis le capteur jusqu à son afficheur via la création de «Method invocation». Capteur Ce package regroupe les classes du capteur qui permet de modifier la valeur à transmettre. Strategy Diffusion Ce package regroupe l ensemble des algorithmes de diffusion : atomique, séquentielle, par époque. Valeur Ce package regroupe la classe VersionValeur, objet qui est transmit depuis le capteur vers les afficheurs Le fichier de configuration : «init.properties» Ce fichier de configuration contient des propriétés qui spécifient des valeurs propres au fonctionnement du projet. Ces valeurs sont accédées par l application au cours de son fonctionnement et lors de son initialisation. Pour mettre en œuvre ce mécanisme nous avons utilisé la classe Java «Properties» qui permet de lire un fichier contenant une liste de propriétés sous la forme «<clef> = <valeur>». Les valeurs enregistrées sont les suivantes : La fréquence d incrémentation : fréquence d incrémentation de la valeur à transmettre. La valeur initiale : valeur initiale au démarrage de l application. Identifiant algorithme atomique : identifiant de l algorithme atomique permettant de l identifier dans certaines fonctions. Identifiant algorithme séquentiel : identifiant de l algorithme séquentiel permettant de l identifier dans certaines fonctions. Identifiant algorithme par époque : identifiant de l algorithme par époque permettant de l identifier dans certaines fonctions. LEFRANC Pierre-François Page 7

8 Le dossier de JAVADOC : «javadoc» Ce dossier contient l intégralité de la JAVADOC générée pour cette application Les patrons de conception Nous allons maintenant détailler les patrons de conception présents dans notre application au travers d extrait du diagramme de classe de conception spécifique à la plateforme Java (PSM) Observer Description Le patron de conception «observer/subject» est utilisé en programmation pour envoyer un signal à des modules qui jouent le rôle d'observateurs. En cas de notification, les observateurs effectuent alors l'action adéquate en fonction des informations qui parviennent depuis les modules qu'ils observent (les «Subject») Mise en œuvre Figure 1 : Diagramme de classe du patron de conception Observer Nous avons utilisé ce patron de conception afin de mettre à jour les afficheurs lors d un changement de valeur du capteur. LEFRANC Pierre-François Page 8

9 Pour cela, lors d un changement, l algorithme de diffusion, qui joue le rôle de Proxy (cf. paragraphe 2.4.4) sur le capteur, met à jour ses observateurs via la méthode «update» afin que ces derniers lancent les traitements aboutissant à la mise à jour des valeurs affichées. Ce patron de conception définit des rôles : Le Subject : Ce rôle est joué par l interface «Subject» qui est étendue par les interfaces «Capteur» et «AlgoDiffusion». L Observer : Ce rôle est joué par l interface «Observer» qui est étendue par l interface «Afficheur». Notons que, dans cette présentation du patron de conception, nous ne détaillons pas les traitements réalisés pour la mise à jour des Afficheurs suite à la modification de la valeur du capteur. Nous aborderons cela dans la suite de ce rapport Command Description Le patron de conception Command permet de séparer complètement le code initiateur de l action à celui de l action elle-même. En outre, il offre la possibilité de manipuler l action en ellemême sous forme d un objet du langage Mise en œuvre Figure 2 : Diagramme de classe du patron de conception Command LEFRANC Pierre-François Page 9

10 Command est utilisé dans notre application au niveau de la modification des valeurs du capteur. En effet, ces modifications sont réalisées par notre classe «HorlogeImpl» qui est en fait un «Timer» Java. Cette classe est capable d exécuter des actions à intervalle de temps régulier. Nous avons donc réifié ce concept d action dans une commande qui est ensuite exécutée par l horloge via un appel périodique de la méthode «execute» chargée de l incrémentation des valeurs du capteur. Ce patron de conception définit des rôles : Le Receiver : Ce rôle est joué par les classes implémentant l interface «AlgoDiffusion». L Invoker : Ce rôle est joué par l «HorlogeImpl». La Command : Ce rôle est joué par les classes implémentant l interface «Command» Singleton Description Le patron de conception a pour but de limiter l instanciation d une classe à un seul objet et de la rendre accessible à toutes les classes de l application. Il est utilisé lorsque l'on a besoin d'exactement un objet pour coordonner des opérations dans un système. Le modèle est parfois utilisé pour son efficacité, car il permet de s assurer de la présence de peu d'objets dans des systèmes limités en mémoire ou performances Mise en œuvre Figure 3 : Le patron de conception singleton Nous avons utilisé ce patron afin d assurer l unicité de certains objets tels que l horloge, le fichier de configuration et le «Scheduler» du patron de conception Active Object qui sont des attributs de l instance unique de la classe «Materiel». Grâce à cela, l application accède à ces éléments depuis n importe laquelle de ses classes. LEFRANC Pierre-François Page 10

11 Proxy Description Un proxy est une classe se substituant à une autre. Par convention et simplicité, le proxy implémente la même interface que la classe à laquelle il se substitue. L'utilisation de proxy ajoute une indirection à l'utilisation de la classe à substituer Mise en œuvre Figure 4 : Le patron de conception proxy Dans notre application, nous avons utilisé quatre patrons proxy. Dans un premier temps, nous l avons appliqué deux fois sur la classe «CanalImpl» pour appliquer le patron de conception Active Object qui doit comporter un proxy. De plus, nous avons fait le choix de placer l algorithme de diffusion comme un proxy sur le capteur, pour la commande et le canal. Ce choix nous a paru opportun car il nous a notamment permis de contrôler les accès à la valeur du capteur lors de la mise en place des différents algorithmes de diffusion. Ce patron de conception définit plusieurs rôles : Le proxy : Il représente la classe qui vient se substituer à la classe que l on veut «masquer». Le component (et concrete component): Il représente la classe que l on veut «masquer» via le proxy. Le client : Il représente la classe qui veut accéder à l objet masqué par le proxy. LEFRANC Pierre-François Page 11

12 Strategy Description Le patron stratégie est un patron de conception de type comportemental grâce auquel des algorithmes peuvent être sélectionnés à la volée au cours de l'exécution selon certaines conditions. Il est particulièrement utile pour des situations où il est nécessaire de permuter dynamiquement les algorithmes utilisés dans une application Mise en œuvre Figure 5 : Le patron de conception strategy Le patron de conception «strategy» définit les rôles suivants : Le context : Il représente la classe qui fait appel aux algorithmes : la «CommandIncrementer». La strategy (et concrete strategy) : Elle représente la ou les classes contenant les corps des algorithmes que l on souhaite modifier dynamiquement : les classes implémentant l interface «AlgoDiffusion». Dans ce projet, nous devions définir trois stratégies de diffusion pour les valeurs du capteur (cf. paragraphe 2.2). Lorsque l horloge notifie l algorithme du besoin de modifier la valeur du capteur. Ce dernier est modifié et l algorithme de diffusion exécuté. LEFRANC Pierre-François Page 12

13 La mise en œuvre de ces algorithmes est la suivante : Algorithme de diffusion séquentielle : nous avons mis en place un mécanisme de copie de la valeur du capteur. C est cette copie qui est envoyée aux afficheurs quelque soit la valeur réelle du capteur. Ensuite, nous avons utilisé un entier qui stocke à tout moment le nombre de diffusions en cours. Tant qu il en existe une (i.e. tant que l entier ne vaut pas zéro), aucune nouvelle valeur n est envoyée aux canaux. Algorithme de diffusion atomique : nous avons mis en place un système similaire à la diffusion séquentielle au niveau de l entier indiquant le nombre de diffusions en cours. Cependant, cet algorithme nécessitant un blocage du capteur lorsqu une valeur est en cours de diffusion, nous avons fait un appel à la méthode «setetat» du capteur avec le paramètre «false» dans le but de le bloquer. Lorsque tous les afficheurs ont obtenu la valeur, le capteur est débloqué, se modifie, et l opération est répétée. Algorithme de diffusion par époque : nous avons mis en place un objet stockant la valeur du capteur et lui associant une version (un entier). Plus cet entier est élevé, plus la version de la valeur est récente. Concernant la diffusion proprement dite, cet algorithme n a aucune contrainte : les valeurs sont envoyées aux afficheurs anarchiquement et à chaque modification du capteur Active Object Description Le patron de conception Active Object permet de découpler les méthodes d'exécution des méthodes d invocation pour améliorer la concurrence et simplifier l'accès synchronisé d un objet qui réside dans son propre thread de contrôle. Le principe est de pouvoir faire communiquer les objets entre eux de manières à ce que les messages échangés soient asynchrones. Sa grande force est de permettre au développeur de limiter la programmation parallèle classique, à l aide de «Threads» Java par exemple. En effet, ce patron de conception est capable de gérer de manière automatique les actions asynchrones sans que le développeur n ait à se soucier des éventuels problèmes de synchronisation et d accès concurrent sur une même variable. Il en résulte que l ordre d'exécution de méthodes peut différer de leur ordre d invocation par exemple Mise en œuvre Dans notre projet, nous avons choisi d utiliser une implémentation du patron de conception fournie par Sun dans la bibliothèque Java standard. Cette mise en œuvre dispose d un planificateur intégré (le «Scheduler») et se révèle être très performante. LEFRANC Pierre-François Page 13

14 Figure 6 : Structure statique du patron de conception Active Object Ce patron de conception définit plusieurs rôles : Client : Dans notre application, le patron est utilisé deux fois (une fois pour l appel de la «Method Invocation update» et une fois pour l apelle de la «Method Invocation getvalue») et certaines classes n ont pas le même rôle selon le cas. Ainsi, les classes implémentant l interface «AlgoDiffusion» et celles implémentant «Afficheur» sont les «Client». Servant : Ce sont les classes qui mettent en œuvre les services appelés lors de l exécution des «Method Invocation», c'est-à-dire celles implémentant «AlgoDiffusion» et «Afficheur». Future : Ce rôle est géré par la bibliothèque standard Java. Il représente l objet retourné après l appel des services par les «Method Invocation» Scheduler : Il planifie l appel des «Method Invocation» de manière asynchrone, c est la classe «Scheduler» dans notre cas. Activation Queue : Ce rôle est géré par la bibliothèque standard Java, c est la file d attente où sont placées les «Method Invocation» avant leur appel. Method Invocation : Le concept de méthode est encapsulé dans un objet qui représente les «Method Invocation» du patron. Elles sont chargées de réaliser l appel du service à leur exécution via leur méthode «Call». Ce rôle est joué par les classes implémentant l interface «Method Invocation» de notre implémentation. Proxy : Un proxy standard, ce rôle est joué par les classes implémentant l interface «Canal». LEFRANC Pierre-François Page 14

15 Figure 7 : Notre mise en œuvre d'active Object On remarque que nous avons fait le choix d associer le «Scheduler» à notre patron de conception singleton (cf. paragraphe 2.4.3). Comme indiqué sur cette figure, la gestion de l «Activation Queue» et des «Futures» est réalisée par la bibliothèque Java fournie par Sun. LEFRANC Pierre-François Page 15

16 2.5. Le diagramme de conception : Plateform Independant Model Figure 8 : Diagramme de classe du PIM Le «Platform Independent Model» aussi appelé PIM constitue un modèle UML d'analyse de l'application possédant les caractéristiques suivantes : Complet fonctionnellement Indépendant de la cible technique Validé par simulation LEFRANC Pierre-François Page 16

17 2.6. Le diagramme de conception : Plateform Specific Model Figure 9 : Diagramme de classe du PSM Le «Platform Specific Model», aussi appelé PSM représente un modèle de conception détaillée de l'application. Il possède les caractéristiques suivantes : Dépendant de la cible technique (langages de programmation et OS notamment) Généré depuis le PIM (cf. paragraphe 2.5), par des règles de transformation spécifiques à une plateforme cible. LEFRANC Pierre-François Page 17

18 2.7. Diagramme de séquence de notre implémentation Du fait que cette page ne soit pas très lisible, nous vous joignons l image originale (diag_sequence.jpg) dans le rendu de notre projet. LEFRANC Pierre-François Page 18

19 2.8. Tests et validation Après la phase de conception, nous nous sommes lancés dans le développement de l application. Cette phase est relativement courte puisque le travail d analyse et de conception permettent de guider pas à pas les développements. Une fois ces développements terminés, nous avons débuté la phase de tests de notre application Politique de test Pour réaliser la phase de tests, nous nous sommes orientés, dans un premier temps vers une relecture du code, c'est-à-dire une approche «boite blanche». Cette relecture nous a, dans un premier temps, permis d alléger notre code et de factoriser des traitements. Grâce à ces tests, nous avons pu vérifier que chacun de nos composants Java jouait le rôle que nous voulions qu il joue. Cette première étape de test nous a donc servi de point d entrée dans notre phase de tests. Dans un second temps, nous nous sommes orientés vers des tests visuels. En effet, les traitements Active Object sont réalisés par les classes de la librairie Java (ScheduledExecutorService et Callable). Il en est de même pour l Horloge qui étend un timer Java Interface graphique pour les tests Dans le but de s assurer du bon fonctionnement des classes métiers, nous avons conçu une IHM utilisant les librairies SWING. Cette dernière permet : de s assurer du bon fonctionnement de l horloge grâce à l affichage de la valeur du capteur, de voir la latence des canaux, de tester les différents algorithmes de diffusion, de s assurer que les afficheurs respectent les spécifications énoncées paragraphe 2.2. LEFRANC Pierre-François Page 19

20 Figure 10 : Présentation de notre interface utilisateur Résultat des tests Après plusieurs séries de tests, l application est totalement fonctionnelle et respecte les spécifications demandées. 3. Difficultés rencontrées Les principales difficultés rencontrées sur le projet son intervenues lors des phases d analye. En effet, cette phase est la plus importante dans tout projet informatique et peut parfois représenter plus de 50% du temps passé. Dans un premier temps, il nous a fallu saisir les différentes subtilités des algorithmes de diffusion pour ensuite pouvoir les formaliser dans le langage Java. Ensuite, nous avons mis en place les différents patrons de conception et avons dû nous attacher à bien repérer leur rôle dans le projet. Pour ce qui est des patrons de conception Observer, Proxy, Singleton, Command, Strategy, leur mise en œuvre nous est apparue naturelle grâce, notamment, aux travaux réalisés dans le module d AOC. Concernant Active Object, il nous a fallu nous documenter et analyser son fonctionnement au travers de multiples diagrammes de séquences. En outre, nous avons dû étudier les implémentations proposées dans la librairie Java standard dans le but de sélectionner la plus adaptée à notre projet. Une fois ces difficultés dépassées, les phases de développements et de tests ont été réalisées sans véritables difficultés. LEFRANC Pierre-François Page 20

21 4. Conclusion du projet Ce projet qui intervient dans notre dernière année de Master Informatique a renforcé notre vision et notre compréhension des patrons de conception, notamment par la découverte du patron Active Object. La réalisation de ce projet fait suite à la réalisation, en Master 2, d un métronome. Nous avons donc pu réutiliser une méthodologie de travail acquise au premier semestre en améliorant cette dernière. Ces améliorations sont passées par la rédaction d un solide livret de conception qui a optimisé le temps de développement et de tests de l application. Au cours du projet, nous avons pu mettre en œuvre la méthode de programmation dite du «cycle en V» que nous aurons à utiliser au cours de notre stage de fin d études. Cette dernière s est d ailleurs fortement rapprochée de ce qui se fait dans le monde professionnel. En outre, au travers de l analyse, la conception, le développement et la validation d une application simple, nous avons mis en place quelques patrons de conception parmi les nombreux existants. Cependant, le réel objectif était de comprendre et maitrisé un nouveau patron : Active Object. Ce dernier nous est apparu plus complexe que les autres du fait qu il définisse un grand nombre de rôles (cf. paragraphe 2.4.6). Au final, nous avons correctement implémenté Active Object, ce qui nous a permis de gérer le parallélisme de manière beaucoup moins fastidieuse qu en usant de méthodes vues dans notre cursus : les Threads. Pour conclure, ce projet de TAO a été pour nous une véritable ouverture sur le monde de la programmation parallèle, monde qui représente certainement l avenir du développement en tirant parti des architectures multi-cœurs. LEFRANC Pierre-François Page 21

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Le voyageur de commerce

Le voyageur de commerce Université de Strasbourg UFR Maths-Informatique Licence 3 - Semestre 6 Le voyageur de commerce Jonathan HAEHNEL & Marc PAPILLON Strasbourg, le 3 mai 2012 Table des matières 1 Etat des lieux 4 1.1 Fonctionnalités..............................

Plus en détail

PROGRAMMATION ÉVÉNEMENTIELLE. Géry Casiez http://www.lifl.fr/~casiez IHM Master 1 informatique - Université de Lille 1

PROGRAMMATION ÉVÉNEMENTIELLE. Géry Casiez http://www.lifl.fr/~casiez IHM Master 1 informatique - Université de Lille 1 1 PROGRAMMATION ÉVÉNEMENTIELLE Géry Casiez http://www.lifl.fr/~casiez IHM Master 1 informatique - Université de Lille 1 Programmation événementielle 2 Programmation «procédurale» Le déroulement est contrôlé

Plus en détail

IK3 : Cours n 3 Gestion de projets

IK3 : Cours n 3 Gestion de projets IK3 : Cours n 3 Gestion de projets semaine du 11 octobre 2010 1 But du cours Il faut comprendre que quelque soit l ampleur d un projet, il existe des outils et des méthodes adaptés qui permettent de le

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC labsticc.univ-brest.fr/pages_perso/babau/ les Design Patterns Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux Design patterns Quelques Design

Plus en détail

Morgan Beau Nicolas Courazier

Morgan Beau Nicolas Courazier EPSI - 2010 Rapport projet IA Conception et mise en œuvre d un générateur de systèmes experts Morgan Beau Sommaire Cahier des charges 3 Présentation générale 4 Analyse et modélisation 6 Le moteur d inférence

Plus en détail

SDL: 20 ans de programmation basée modèle

SDL: 20 ans de programmation basée modèle SDL: 20 ans de programmation basée modèle Emmanuel Gaudin emmanuel.gaudin @ pragmadev.com Principes MDE, MDA et MDD: Approche orienté modèle PIM: Platform Independant Model PDM: Platform Definition Model

Plus en détail

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns?

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns? Noël NOVELLI ; Université de la Méditerranée ; LIF et Département d Informatique Case 901 ; 163 avenue de Luminy 13 288 MARSEILLE cedex 9 Design Patterns D où viennent les design patterns? D où viennent

Plus en détail

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Rappel : Tout méta-modèle ou profil doit être commenté! 1 Question de compréhension du cours barème indicatif : 5 points Q : Lorsque l on

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java Sylvain Archenault Yves Houpert Projet Informatique : Langage Java : Jeu De Dames en Java Projet GM3 Mai 2005 Chapitre 1 INTRODUCTION Le projet qui nous a été confié est de réaliser un jeu de dames en

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

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

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 I. Objectifs Mettre en œuvre les compétences acquises ou en cours d acquisition en: o Modélisation UML, Réseau, Base de données,

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé Projet ROSES Programme MDCO Edition 2007 Livrable no D1.2 Architecture d un Système ROSES centralisé Identification Acronyme du projet Numéro d'identification de l'acte attributif ROSES ANR-07-MDCO-011-01

Plus en détail

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)

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) 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) Module 1 : Programmer une application informatique Durée

Plus en détail

Objets Avancées Semestre 3 Année 2015-2016. Projet

Objets Avancées Semestre 3 Année 2015-2016. Projet Conception et Programmation IUT d Aix-Marseille Dép. INFO Aix Objets Avancées Semestre 3 Année 2015-2016 Projet André Abramé - andre.abrame@univ-amu.fr Sophie Nabitz - sophie.nabitz@univ-avignon.fr Petru

Plus en détail

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

INTRODUCTION À L INJECTION DE DÉPENDANCES EN JAVA

INTRODUCTION À L INJECTION DE DÉPENDANCES EN JAVA INTRODUCTION À L INJECTION DE DÉPENDANCES EN JAVA Andr0 29 octobre 2015 Table des matières 1 Introduction 5 2 Qu est ce que l injection de dépendances? 7 2.1 Mais une dépendance, c est quoi?.........................

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Cas d étude appliqué à l ingénierie logicielle

Cas d étude appliqué à l ingénierie logicielle ypbl : une méthodologie pédagogique pour la professionnalisation d une formation Cas d étude appliqué à l ingénierie logicielle Ernesto Exposito 1,2, Anne Hernandez 2 1 CNRS ; LAAS ; 7 av. du Colonel Roche,

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

GPA 789 : Analyse et Conception Orientées Objet. ETS Mickaël Gardoni Bureau A 3588 tel 84 11. Mise en Œuvre UML version du 24 avril 2009

GPA 789 : Analyse et Conception Orientées Objet. ETS Mickaël Gardoni Bureau A 3588 tel 84 11. Mise en Œuvre UML version du 24 avril 2009 GPA 789 : Analyse et Conception Orientées Objet ETS Mickaël Gardoni Bureau A 3588 tel 84 11 Mise en œuvre UML 1/ 25 Introduction Mise en œuvre d UML UML n est pas une méthode 2/ 25 1 UML n est qu un langage

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian Gestion d une école FABRE Maxime 2015 Sommaire Introduction... 2 I. Présentation du projet... 3 1- Lancement de l application... 3 Fonctionnalités réalisées... 4 A. Le serveur... 4 1 - Le réseau... 4 2

Plus en détail

Ingénierie des Modèles. Transformations de Modèles

Ingénierie des Modèles. Transformations de Modèles Ingénierie des Modèles Transformations de Modèles Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Types de transformation Raffinement Projection

Plus en détail

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes Génération de codes à partir d un modèle UML sous PowerAMC Véronique Deslandres, IUT, Département Informatique Université de Lyon MàJ: 8/10/2013 Introduction La génération de code, ça n est pas immédiat

Plus en détail

Secteur Tertiaire Informatique Filière étude - développement.

Secteur Tertiaire Informatique Filière étude - développement. Accueil Secteur Tertiaire Informatique Filière étude - développement. Activité Développer des composants d interface Etape Programmer des formulaires et des états Séance Rédiger la doc. Technique du composant

Plus en détail

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Table des matières Système d'exploitation... 3 Environnement de développement intégré... 3 Le workspace... 3 Le

Plus en détail

Projet informatique UML-Cpp avec QT4

Projet informatique UML-Cpp avec QT4 Haute école spécialisée bernoise Haute école technique et informatique, HTI Section Electricité et système de communication Laboratoire de l informatique technique Projet informatique UML-Cpp avec QT4

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Apps Sage : les 10 étapes pour publier vos données dans le Cloud.

Apps Sage : les 10 étapes pour publier vos données dans le Cloud. Apps Sage : les 10 étapes pour publier vos données dans le Cloud. Produits concernés : Sage Customer View et Sage Reports Contexte Depuis Sage Data Manager, vous venez d installer Sage Business Sync (cf

Plus en détail

Algorithmique Programmation

Algorithmique Programmation Algorithmique Programmation 2ème partie DUT en alternance CNAM 2007-2008 2 Table des matières 1 Premiers Pas en Programmation Objet : les Classes et les Objets 7 1.1 Définir une Classe........................................

Plus en détail

Freestyle : Sculpting Meshes with Self-Adaptive Topology

Freestyle : Sculpting Meshes with Self-Adaptive Topology Freestyle : Sculpting Meshes with Self-Adaptive Topology Rapport Recette Étudiants : Charles Garibal, Maxime Robinot, Mathieu Dachy Tuteur : Loïc Barthe 20/02/2015 1 I) Introduction Rappel : Objectif du

Plus en détail

Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X

Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X Chapitre 6 Exercices corrigés et conseils méthodologiques Mots-clés Activité continue/finie Transition automatique Contexte statique Événements «after»

Plus en détail

Au programme de ce bulletin : Nous allons donc voir dans ce bulletin les étapes suivantes : Description de la fonctionnalité

Au programme de ce bulletin : Nous allons donc voir dans ce bulletin les étapes suivantes : Description de la fonctionnalité LES FONCTIONNALITES Au programme de ce bulletin : Nous avons vu dans le bulletin technique n 4 comment créer et définir les dossiers fonctionnels ainsi que le paramétrage des contraintes et des fonctions

Plus en détail

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML BALLOTE Nadia FRIULI Valerio GILARDI Mathieu IUT de Nice Licence Professionnelle des Métiers de l Informatique RAPPORT DU PROJET : JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML Encadré par : M. CRESCENZO Pierre

Plus en détail

Création d un WebService. Tp WinDev Numéro 13

Création d un WebService. Tp WinDev Numéro 13 Tp WinDev Numéro 13 Objectifs : Création d un WebService Paramétrage d un serveur Web, Création du Service Web, Création du client consommateur, Approche XML, SOAP Outils : Un serveur d application Ce

Plus en détail

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

Etude et développement d un moteur de recherche

Etude et développement d un moteur de recherche Ministère de l Education Nationale Université de Montpellier II Projet informatique FLIN607 Etude et développement d un moteur de recherche Spécifications fonctionnelles Interface utilisateur Responsable

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Transit NXT. Traduction et localisation contextuelles. L ergonomie et l innovation fonctionnelle au service de la productivité

Transit NXT. Traduction et localisation contextuelles. L ergonomie et l innovation fonctionnelle au service de la productivité Transit NXT Traduction et localisation contextuelles L ergonomie et l innovation fonctionnelle au service de la productivité STAR Group Your single-source provider for corporate product communication Transit

Plus en détail

Cours Java : deuxième saison

Cours Java : deuxième saison Programmation Objet en Java Cours 9 Design Patterns 1 (C) 2005, Frédéric Peschanski 1 Cours Java : deuxième saison Cours 7 : Exceptions, tests unitaires et assertions Cours 8 : Design Patterns 1 Cours

Plus en détail

PASCAL ROQUES. UML par. la pratique. Groupe Eyrolles, 2001, 2002, 2004, 2005, 2006, 2009. ISBN : 978-2-212-12508-5

PASCAL ROQUES. UML par. la pratique. Groupe Eyrolles, 2001, 2002, 2004, 2005, 2006, 2009. ISBN : 978-2-212-12508-5 est f o E Y R O L L E S PASCAL ROQUES UML par la pratique Groupe Eyrolles, 2001, 2002, 2004, 2005, 2006, 2009. ISBN : 978-2-212-12508-5 Sommaire Introduction 9 Objectifs du livre... 9 Structure de l ouvrage...

Plus en détail

Conception d'un système de gestion de logs -

Conception d'un système de gestion de logs - Conception d'un système de gestion de logs - Dossier d'initialisation Version : 0.2-22/05/2008 Rédiger par : Gassmann Sébastien Lu et revu par : Petit Jean-Marc (23/05/2008) Table des matières 1 Contexte

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon L Y O N Département Informatique Année 2011/2012 Rapport de Synthèse Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon Laboratoire Ptidej de L Ecole Polytechnique de Montréal

Plus en détail

1. QCM (40 points) (1h)

1. QCM (40 points) (1h) Examen 1ère session 2012-2013 page 1 NSY 102 - AISL IPST-CNAM Intranet et Designs patterns NSY 102 Vendredi 26 Avril 2013 Durée : 3 heures Enseignants : LAFORGUE Jacques 1. QCM (40 points) (1h) Mode d'emploi

Plus en détail

MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO

MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2012-2013 S. Kramm (IUT Rouen) MCII1 - Cours 1 2012-2013 1 / 36 Sommaire 1 Langages de

Plus en détail

Unity. du changement pour les projets d automatisme. p.1 Présentation. p.2 L environnement Unity. p.3 Les premiers pas avec Unity Pro

Unity. du changement pour les projets d automatisme. p.1 Présentation. p.2 L environnement Unity. p.3 Les premiers pas avec Unity Pro Le magazine Schneider Electric de l enseignement technologique et professionnel Juin 2006 p.1 Présentation p.2 L environnement Unity p.3 Les premiers pas avec Unity Pro p.4 Un besoin de communication p.5

Plus en détail

Développez une application Android Programmation en Java sous Android Studio

Développez une application Android Programmation en Java sous Android Studio Environnement de développement 1. Architecture d Android 9 1.1 Présentation d Android 9 1.2 Architecture 12 1.3 Play Store 13 2. Android Studio 14 2.1 Installation sous Windows 14 2.2 Installation sous

Plus en détail

Description du module GENERATEUR rev.2 1. Rôle du module

Description du module GENERATEUR rev.2 1. Rôle du module Description du module GENERATEUR rev.2 1. Rôle du module Ce module doit implémenter un générateur de «points aléatoires» selon une répartition de densité donnée. Tout d abord, le générateur doit être initialisé

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

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

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM) Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Plus en détail

Module SIN21 Pre sentation, analyse, prise en main

Module SIN21 Pre sentation, analyse, prise en main Module SIN21 Pre sentation, analyse, prise en main Temps : 3h Objectifs : Prendre connaissance du système. Lire les diagrammes UML et comprendre le fonctionnement du système. Mettre en place une maquette

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

FILIÈRE METHODOLOGIE & PROJET

FILIÈRE METHODOLOGIE & PROJET FILIÈRE METHODOLOGIE & PROJET 109 Gestion de projet METHODOLOGIE ET PROJET Durée 3 jours Conduite de projet COND-PRO s Intégrer les conditions de réussite d une démarche de management par projet. Impliquer

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Rapport de Conception Préliminaire MESSAGERIE

Rapport de Conception Préliminaire MESSAGERIE Rapport de Conception Préliminaire MESSAGERIE Conception préliminaire du logiciel demandé en projet, illustré par les diagrammes des cas d utilisation, des classes du domaine et de séquence. Maxime SUARD,

Plus en détail

Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup

Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup Sébastien MEDARD GIP RENATER 263 avenue du Général Leclerc CS 74205 35042 Rennes Cedex Résumé L intégration

Plus en détail

DEMARCHE OU PROCESSUS LOGICIEL

DEMARCHE OU PROCESSUS LOGICIEL DEMARCHE OU PROCESSUS LOGICIEL PROCESSUS LOGICIEL Définition Un processus définit une séquence d étapes, en partie ordonnées, qui concourent à l obtention d un système logiciel ou à l évolution d un système

Plus en détail

UML : Les diagrammes de séquence

UML : Les diagrammes de séquence UML : Les diagrammes de séquence 2014 tv - v.1.0 Diagrammes d interactions Les diagrammes d interactions englobent deux types de diagrammes UML : les diagrammes de séquence, les diagrammes

Plus en détail

START AIR SAFE PROJECT AF 10/04/2014. Par corentin RICOU & William BOBO

START AIR SAFE PROJECT AF 10/04/2014. Par corentin RICOU & William BOBO START AIR SAFE PROJECT AF 10/04/2014 Par corentin RICOU & William BOBO TABLE DES MATIÈRES Table des matières Introduction 1 les besoins 1 platforme de travail 2 Conception 3 Architecture 3 Réalisation

Plus en détail

TO52 - Application médicale sous android Consultation des informations patient

TO52 - Application médicale sous android Consultation des informations patient TO52 - Application médicale sous android Consultation des informations patient DAVID LACHICHE XAVIER MICHEL Automne 2011 TABLE DES MATIÈRES 1 Partie données métier 2 1.1 Généralités.......................................

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Sollaud Timothée Girard Alexis. Rapport de projet

Sollaud Timothée Girard Alexis. Rapport de projet Sollaud Timothée Girard Alexis Rapport de projet 20 avril 2012 Table des matières Introduction 3 1 Présentation du projet......................................... 3 2 Présentation de l environnement de

Plus en détail

(Document de 14 pages) Fabrice Douchant Xuan-Tuong Le. Nicolas Gibelin Lom Messan Hillah

(Document de 14 pages) Fabrice Douchant Xuan-Tuong Le. Nicolas Gibelin Lom Messan Hillah Master Informatique 2ème Année SAR Année 2007-2008 RAPPORT FINAL Livrable # 3 (Document de 14 pages) Participants Fabrice Douchant Xuan-Tuong Le Encadrants Nicolas Gibelin Lom Messan Hillah UFR 922 - Informatique

Plus en détail

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

CAHIER DES SPECIFICATIONS FONCTIONNELLES

CAHIER DES SPECIFICATIONS FONCTIONNELLES 2010/2011 INSTITUT SUP GALILEE CAHIER DES SPECIFICATIONS FONCTIONNELLES IHM XML O.N.E.R.A. Institut Sup Galilée O.N.E.R.A. Page 2 Sommaire I. Description du sujet... 4 II. Outils utilisés... 4 III. Description

Plus en détail

Manuel de transmission des rapports des établissements de paiement

Manuel de transmission des rapports des établissements de paiement Rapports réglementaires Manuel de transmission des rapports des établissements de paiement Version 1.1 Ne pas communiquer ou reproduire sans autorisation de la Bourse de Luxembourg Référence : ManuUtil_EFile_Transmission_ReportingEDP_FR.doc

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

Plus en détail

SIN : Maquettage d une solution en réponse à un cahier des charges

SIN : Maquettage d une solution en réponse à un cahier des charges SIN : Maquettage d une solution en réponse à un cahier des charges Module SIN 1.1 : Concevoir un système local et permettre le dialogue entre l homme et la machine Activité : TP2 IOWarrior - Commande de

Plus en détail

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Manuel de transmission électronique des rapports, prospectus OPC et FIS

Manuel de transmission électronique des rapports, prospectus OPC et FIS Circulaires CSSF 08/371, 09/423 et 11/509 Manuel de transmission électronique des rapports, prospectus OPC et FIS Rapports financiers Prospectus Documents constitutifs Demande d attestation Rapport de

Plus en détail

Modbus 06/05/2013. Version 1.3

Modbus 06/05/2013. Version 1.3 06/05/2013 Version 1.3 Le protocole Modbus TCP, mode «Maître» Table des matières 1 Pré-requis... 3 2 Connecteur Modbus... 3 2.1 Ajout d un connecteur Modbus TCP... 3 2.2 Configuration d un connecteur Modbus

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants»

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants» Compte-Rendu SDL Auteurs : BOUTROUILLE Alexis BAILLEUL Pierre Tuteur : Ioan Marius Bilasco «Reprise de l application de gestion de listes de présences des alternants» Master MIAGE 1 Année 2012/2013 1 Remerciements

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

201-8F4-ST Mathématiques appliquées à l informatique

201-8F4-ST Mathématiques appliquées à l informatique DESCRIPTION DES COURS DE FORMATION SPÉCIFIQUE TECHNIQUES DE L INFORMATIQUE (420.A0) 201-8F4-ST Mathématiques appliquées à l informatique Préalable : Mathématique TS ou SN 5 e ou équivalent Ce cours a pour

Plus en détail

Manuel de transmission du reporting bancaire

Manuel de transmission du reporting bancaire Reportings réglementaires Manuel de transmission du reporting bancaire TAF MiFID COREP FINREP Tableaux B2.3, B6.3 et B4.4 Enquêtes spécifiques de la CSSF OTHER pour la CSSF Balances de Paiements Statistiques

Plus en détail

Customisation Rhapsody et Henri BOULOUET DITV/AEEV/EECH. approche méthodologique

Customisation Rhapsody et Henri BOULOUET DITV/AEEV/EECH. approche méthodologique Customisation Rhapsody et approche méthodologique Retour d expérience sur l implémentation d un langage et profil UML associé 1 Sommaire Principe d un développement méthodologique Evocation d ISR (Ingénierie

Plus en détail

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic IUT d Orsay Première Année Introduction à l Interaction Homme-Machine Février 2014 Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic Cette introduction à Visual Studio est

Plus en détail

Sauvegarde automatique des données de l ordinateur. Manuel d utilisation

Sauvegarde automatique des données de l ordinateur. Manuel d utilisation Sauvegarde automatique des données de l ordinateur Manuel d utilisation Sommaire 1- Présentation de la Sauvegarde automatique des données... 3 2- Interface de l'application Sauvegarde automatique des données...

Plus en détail

IA54 Compte-rendu «STATIONNEMENT AUTOMATIQUE DE VEHICULE»

IA54 Compte-rendu «STATIONNEMENT AUTOMATIQUE DE VEHICULE» IA54 Compte-rendu «STATIONNEMENT AUTOMATIQUE DE VEHICULE» Henri Payno - Cyril Bailly 1/12/2011 SOMMAIRE 1. Introduction... 3 2. Contraintes... 3 3. Architecture globale... 4 4. Interface... 5 A. Scène

Plus en détail

JAXB pour le XML-Binding

JAXB pour le XML-Binding JAXB pour le XML-Binding Eric BELLARD JAXB pour le XML-Binding... 1 Introduction...1 But du document...1 Lexique... 1 Articles liés... 2 JAXB (Java Architecture for XML Binding)...2 Utilisation de JAXB...3

Plus en détail

Université de Sherbrooke Faculté des Sciences Département Informatique

Université de Sherbrooke Faculté des Sciences Département Informatique Université de Sherbrooke Faculté des Sciences Département Informatique RAPPORT DE PROJET Mise en place d une application de gestion d articles du quotidien. Maître de Projet : M. ROY Patrice Etudiants

Plus en détail

Plan d'assurance et contrôle qualité

Plan d'assurance et contrôle qualité IUP MIAGE Master 1 année 2008-2009 IPROmaix Plan d'assurance et contrôle qualité Référence : IPROmaix/documentOfficiel/PACQ Date de dernière mise àjour : 29/04/2009 Indice de révision du document : 00

Plus en détail