A N A L Y S E, C O N C E P T I O N, E T P R O G R A MMATION O R I E N T E E O B J E T
|
|
- Anne-Laure Paré
- il y a 8 ans
- Total affichages :
Transcription
1 A N A L Y S E, C O N C E P T I O N, E T P R O G R A MMATION O R I E N T E E O B J E T RAPPORT DE PROJET LOGICIEL DE GESTION DE COMPAGNIE DE TRANSPORT MARITIME CE LI NE HE NRY CO MB ES P IERRE LUCE L3 IN FOR MA TI QUE D EC EMBR E 2010 I.
2 RESUME Ce document présente les points clés du développement d un logiciel à l aide des technologies «orientée objet». A travers un projet de travaux pratique servant de support, nous présenterons les phases d analyse et de conception utilisant le langage UML pour modéliser le métier et concevoir une solution répondant aux spécifications, et nous verrons aussi son implémentation grâce au langage C++. A chaque choix que nous avons dû effectuer où plusieurs solutions s offraient à nous, nous les justifions et développons nos raisons.
3 INTRODUCTION Au premier semestre de la Licence 3 d Informatique à l Université de Limoges, nous avons eu a réalisé un logiciel de gestion pour une compagnie de transport maritime. Il s agissait d effectuer l analyse d un cahier des charges, de concevoir une solution et de l implémenter pour obtenir un programme fonctionnel, dans le cadre du cours d Analyse et Programmation Orientée Objet. Fort de notre apprentissage des langages UML et C++, nous les avons utilisé respectivement pour la modélisation et pour l implémentation. Dans un premier temps, nous vous présenterons l analyse effectuée et le modèle conçu pour le logiciel, tandis que dans une deuxième partie, nous aborderons les choix architecturaux et l implémentation retenue.
4 TABLE DES MATIERES Résumé... 2 Introduction... 3 PREMIERE PARTIE : ANALYSE ET CONCEPTION DU LOGICIEL 5 I. Analyse du Cahier des Charges... 5 II. Modélisation et Conception... 6 Gestion des passagers... 6 Gestion des Navires... 6 Gestion des trajets... 7 Gestion des membres d equipages... 8 Conclusion... 8 SECONDE PARTIE : ARCHITECTURE ET IMPLEMENTATION 10 I. Le modèle MVC II. Une première implémentation de la vue : la console III. La vue définitive et la bibliothèque Qt Construction de l interface Intégration des interfaces IV. Design Patterns utilisés... 14
5 PREMIERE PARTIE : ANALYSE ET CONCEPTION DU LOGICIEL I. ANALYSE DU CAHIER DES CHARGES Le cahier des charges fournit comme consigne au projet est relativement précis sur la description du modèle métier de l entreprise. Les fonctionnalités attendues sont plus vagues, mais la plupart découlent directement du modèle et sont implicites. Les opérations particulières sont explicitées et clairement exprimées. Il s agit donc de gérer les opérations de type «CRUD» (Create, Retrieve, Update, Delete) sur un certain nombre d objets métiers : les navires, les trajets, les passagers, les membres d équipage Ainsi que de permettre l achat des billets, l affectation des équipages, l édition de plusieurs documents. Voici, présenté sous forme d un diagramme de cas d utilisation, l ensemble des fonctionnalités attendue : FIGURE 1: DIAGRAMME DE CAS D'UTILISATION
6 II. MODELISATION ET CONCEPTION Il s agissait dans un premier temps de comprendre la définition et l interaction des différents objets métiers de la compagnie maritime. Une lecture du sujet nous a rapidement permis de les trouver, et de les organiser sur un diagramme de classe. Néanmoins, la conception la plus sémantiquement correcte n est pas nécessairement la plus fonctionnelle, ni la plus pratique à l implémentation comme à l utilisation. Nous vous présentons ici notre diagramme de classe finale en plusieurs parties pour plus de clarté. GESTION DES PASSAGERS FIGURE 2: DIAGRAMME DE CLASSE DE LA GESTION DES PASSAGERS L organisation ci-dessus est presque triviale à la lecture du sujet, mise à part dans la partie concernant la gestion des différentes catégories de passagers. Nous avions dans un premier temps choisi de créer une classe par catégorie de passagers, héritant de la classe «Passager» et porteuse de l information tarifaire. Néanmoins, cette solution manque de flexibilité : il est impossible d ajouter de nouvelles catégories ou de changer les tarifs sans modifier le code, et cette opération est loin d être improbable. Nous avons donc choisi de déléguer l information de tarif à une classe spécialisée CategoriePassager, dont une instance est conservée pour chaque Passager. GESTION DES NAVIRES FIGURE 3: DIAGRAMME DE CLASSE DE LA GESTION DES NAVIRES
7 Ici il peut paraitre surprenant de ne pas utiliser d héritage pour différencier les navires de fret des navires mixtes. Effectivement, il y a peu de chance qu un nouveau type de navire apparaisse. Néanmoins, l absence d héritage se justifie par un autre problème : la persistance des données. Elle est en effet rendue plus difficile en présence d un arbre d héritage, même simple. L utilisation d une base de donnée impliquera par exemple la nécessité de passer par un ORM (Object Relational Mapping) suffisamment évolué pour gérer ces cas. Nous avons donc fait le choix de conserver l information de type dans une chaine de caractère, et de condenser les informations particulières aux navires mixtes dans une seule classe Navire. GESTION DES TRAJETS FIGURE 4: DIAGRAMME DE CLASSE POUR LA GESTION DES TRAJETS Cette partie de la conception peut se diviser en deux groupes : - Le «squelette» : constitué des classes Port, TypeTrajet, et TypeTraverse, il modélise une traversée «type», un modèle, sur lequel sera basé le deuxième groupe de classe - Le «réel» : les classes Trajet et Traverse représente les traversée concrète. Ainsi, la traversé du Samedi 11 décembre entre Sein et Ouessant en passant par Molène, partant à 8h34, serait représenté par le diagramme d objet suivant :
8 FIGURE 5 : DIAGRAMME D'OBJETS REPRESENTANT UNE TRAVERSEE On peut donc, en partant d une traversée donnée, retrouver toutes les informations nécessaires, et on peut facilement, à partir d un type de traversée, créer une nouvelle traversée concrète. GESTION DES MEMBRES D EQUIPAGES FIGURE 6 : DIAGRAMME DE CLASSES POUR LA GESTION DES MEMBRES D'EQUIPAGE Il a été décidé ici de ne pas faire d héritage non plus, encore une fois pour faciliter la persistance. Nous aurions pu faire une sous-classe «officier» pour les capitaines et seconds, mais nous avons préféré donner un «rôle» au membre d équipage. Cela permettrait en outre de pouvoir préciser, si besoin dans le futur, s il est mécanicien, navigateur, etc CONCLUSION Nous avons donc retenu un modèle simple, sans pour autant renier les apports de la conception objet. En effet, l utilisation de l héritage dans le seul but de factoriser les attributs est, à notre sens, une «fausse bonne idée», qui rend plus difficile la persistance. En revanche, son utilisation pour du polymorphisme est à privilégier.
9 FIGURE 7 : DIAGRAMME DE CLASSE COMPLET
10 SECONDE PARTIE : ARCHITECTURE ET IMPLEMENTATION I. LE MODELE MVC Afin de faciliter le travail en équipe et la répartition des tâches, ainsi que les évolutions futures du logiciel, nous avons opté pour une architecture dite «Modèle Vue Contrôleur». Cette façon de structurer un programme sépare en trois couches distinctes le «modèle», ensemble des classes décrivant les objets métiers, la «vue», c est à dire l interface d utilisation, et les «contrôleurs», qui sont les classes liant la vue aux modèles en réalisant des opérations métiers et en renvoyant le résultat. Ainsi un changement de «vue» n implique aucun changement dans le code. FIGURE 8 : DIAGRAMME DE SEQUENCE REPRESENTANT UNE OPERATION THEORIQUE DANS UNE ARCHITECTURE MVC Notre code source se divise donc en trois types de classes, réparties dans trois répertoires : src/vue, src/controleur et src/modele, dont les noms sont explicites. Voici le diagramme de composant décrivant les relations physiques entre les fichiers de définition et d implémentation des classes.
11 FIGURE 9 DIAGRAMME DE COMPOSANTS
12 II. UNE PREMIERE IMPLEMENTATION DE LA VUE : LA CONSOLE Lors de la réalisation d un prototype, le plus rapide moyen d obtenir une interaction avec l utilisateur est d utiliser la console en ligne de commande fournie avec tous les systèmes d exploitation. Facilement manipulable de base avec C++, elle n offre néanmoins que des possibilités ergonomiques limitées. La création des différentes vues étant une tâche assez répétitive, nous avons cherché à accélérer le processus en factorisant une partie des opérations. En effet, tous les menus auront un comportement commun : 1. Ils affichent une liste d options 2. Demandent et enregistrent une saisie utilisateur 3. Exécutent l option choisie Nous avons donc mis à profit les avantages de la conception orientée objet et notamment du polymorphisme, en mettant en place l architecture suivante : La classe TemplateVue est abstraite et expose deux méthodes : rendu() qui affiche les différentes options du menu, et choix() qui effectue la saisie de l utilisateur et exécute le traitement associé. Les options sont ajoutées dans le constructeur de la classe concrete grâce à la méthode ajouteroption(string). La correspondance option-traitement se fait dans la méthode traitersaisie(int) qui doit donc être redéfinie, par exemple sous forme d un switch/case. Il est donc possible de créer rapidement de nouveaux menus, de FIGURE 10 : SYSTEME DES VUES nouvelles «pages» dans le logiciel. Les différentes méthodes étant définie virtual, elles sont surchargeables dans les classes héritant de TemplateVue, offrant ainsi la possibilité de personnaliser l affichage des menus. Ainsi, un prototype est rapidement réalisé pour permettre le test des couches inférieures et de la logique métier. III. LA VUE DEFINITIVE ET LA BIBLIOTHEQUE QT4 L ergonomie proposée par une interface en ligne de commande étant limitée, nous avons ressenti le besoin de fournir à l utilisateur une expérience plus agréable. Tout programme digne de ce nom ayant pour cible des non-informaticiens possède donc depuis maintenant 30 ans une interface graphique utilisateur (GUI), le plus souvent sous
13 la forme de fenêtre manipulable, possédant des tableaux et des champs de formulaire, interagissant grâce au clavier et à la souris. La réalisation de ces interfaces pouvant être longue et fastidieuse, nous avons choisis d utiliser une bibliothèque spécialisée : Qt 4. Open-source et multiplateformes, elle dispose d une importante documentation, d une large communauté de programmeurs et de précieux outils de développement. Les librairies qu elle propose ne concernent pas uniquement l interface graphique, mais propose aussi des classes représentant des données (Date, heure ) plus complètes que les standards (quand elles existent). CONSTRUCTION DE L INTERFACE L outil QtDesigner livré avec la bibliothèque propose la conception d interfaces graphique à l aide d un éditeur «WYSIWYG» (What You See Is What You Get : ce que tu vois est ce que tu obtiendras) très pratique, permettant la construction de fenêtres complexes en relativement peu de temps. Ce logiciel fonctionne sur un principe simple de «glisser-déposer» d éléments, d une table de propriété pour chacun des objets composant l interface (boutons, tables ) et dispose de beaucoup d exemples. Il est possible d éditer aussi de façon sommaire la gestion des événements : elle se fait sous Qt grâce à l association de signaux émis par un élément, et de slots, méthode d un objet recevant le signal. Par exemple, le signal clicked() de l objet ajouternavirebutton sera associé à la méthode traiterajoutnavire() de la fenêtre courante grâce au code : connect(ajouternavirebutton,signal(clicked()),this,slot(traiterajoutnavire())); Ce code peut être partiellement généré par QtDesigner. Ainsi, plus de temps est passé sur l implémentation des fonctionnalités métiers plutôt que sur un travail technique fastidieux. INTEGRATION DES INTERFACES QtDesigner génère au final un fichier *.ui, lequel sera transformé à la compilation en un banal fichier C++ *.h, qui définira la classe représentant la fenêtre que l on a créé. Si l on souhaite modifier le comportement de la fenêtre (en ajoutant des évènements par exemple), on doit alors créer une sous-classe en héritant, et appeler celle-ci dans notre programme. La principale difficulté réside dans la compilation, qui passe par une étape intermédiaire : il est nécessaire de construire le fichier makefile avec l utilitaire qmake fourni avec la bibliothèque. La compilation se déroule donc en trois étapes : 1. qmake project (écrit un fichier *.pro) 2. qmake (écrit le fichier makefile d après le *.pro, et compile les *.ui en *.h)
14 3. make (compile) IV. DESIGN PATTERNS UTILISES Le pattern le plus utilisé est ici le Singleton, c est-à-dire le patron de conception qui permet de s assurer de l unicité de l instance d une classe à travers tout le programme. Il s agit, sommairement, de déléguer la construction d un objet à une méthode statique délivrant toujours la même instance. Il est utilisé principalement pour deux types de classes : - Les contrôleurs : une seule instance suffit, et est même nécessaire s ils gèrent le stockage des données métiers. - Les fenêtres : ainsi, les modifications entrainées sur une fenêtre sont répercutées en même temps sur les autres fenêtres de la même classe. De plus, le gain mémoire est intéressant si on utilise des objets de grande taille ne nécessitant pas d être présent en plusieurs exemplaires.
15 CONCLUSION Ce travail d analyse puis de programmation a été une bonne expérience pour plusieurs raisons. Tout d abord, ce fut l occasion de mettre en application une fois de plus les méthodes d analyse orientée objet, dans le cadre d un sujet complet et proche de la réalité. Ensuite, l implémentation en C++ nous a permis d approfondir notre connaissance de ce langage, et notamment de nous initier à la création d interface graphique, dont nous avions déjà l expérience en Java. Enfin, tout exercice donne l occasion d améliorer ses bonnes pratiques, et ce fut là aussi le cas.
Cours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailGénie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon
Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailProjet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Plus en détailCQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailbasé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étailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Plus en détailProjet Active Object
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
Plus en détailUniversité de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plus en détailSECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailCahier des charges (CDC)
Cahier des charges (CDC) PTella Auteur Arnaud Aucher - Ecole Centrale Groupe PT1 3 Nom du document Version 3 Page 1 / 5 Sommaire Sommaire... 2 Présentation générale du projet... 3 1. Descriptif du projet...
Plus en détailApprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailAUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12
GTK+ GLADE Page 1 sur 12 SOMMAIRE INTRO 3 Présentation de GTK+ 3 Présentation de GLADE 3 GTK+ 4 Installation 4 Les Widgets 4 Le système de hiérarchie 5 Les signaux 6 GLADE 7 Installation 7 L interface
Plus en détailObjectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui
Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture
Plus en détailLangage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2
Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD
Plus en détailProgramme «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étailRefonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailJade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Plus en détailCursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
Plus en détailArchitecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailUTC Génie Informatique. Atelier TATIN. Projet de NF28 Printemps 2011. Sébastien MAINAND Laurent NOUAILLE Aymeric PELLE Damien PIGNAUD
UTC Génie Informatique Atelier TATIN Projet de NF28 Printemps 2011 Sébastien MAINAND Laurent NOUAILLE Aymeric PELLE Damien PIGNAUD 09/06/2011 Introduction La table TATIN est un projet mené par le laboratoire
Plus en détailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailEtude 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étailPG208, Projet n 3 : Serveur HTTP évolué
PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif
Plus en détailTechnologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21
INSA - ASI TechnoWeb : Rappels UML 1/21 Technologie Web Conception de sites Web Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Rappels UML 2/21
Plus en détailConception des bases de données : Modèle Entité-Association
Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir
Plus en détailPrésentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...
Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo
Plus en détailWEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailINF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Plus en détailGénie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique
Génie logiciel avec UML Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Claude Boutet Session hiver 2008 Modélisation de systèmes Table des matières TABLE DES
Plus en détailBases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement
Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014
Plus en détailLes diagrammes de modélisation
L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse
Plus en détailQUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL
QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL LA DÉCOUPE MVC (MODEL VIEW CONTROL) Imaginez la programmation en Python d un petit menu d une application visible sur la figure A.1. Lorsqu on clique sur un
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailRéalisation d une application de soumission de cours en ligne de l Université Virtuelle de Tunis
REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE Université de Carthage Faculté des Sciences Economiques et de Gestion de Nabeul Réalisation
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailLICENCE : INFORMATIQUE GENERALE
LICENCE : INFORMATIQUE GENERALE RÉSUMÉ DE LA FORMATION Type de diplôme : Licence (LMD) Domaine : Sciences, Ingénierie et Technologies Mention : Informatique générale Objectifs Le diplôme offre une formation
Plus en détailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailL informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailAnnexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailPrésentation du Programme Régional de Formations Qualifiantes
Présentation du Programme Régional de Formations Qualifiantes Le Programme Régional de Formations Qualifiantes (PRFQ) a pour objectif d aider les ligériens à accéder et à se maintenir dans un emploi durable
Plus en détailAnalyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Plus en détailPoint sur les solutions de développement d apps pour les périphériques mobiles
Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle
Plus en détailPlateforme de capture et d analyse de sites Web AspirWeb
Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises
Plus en détailREALISER UN SITE INTERNET AVEC IZISPOT SOMMAIRE
REALISER UN SITE INTERNET AVEC IZISPOT Voici un tutoriel pour vous aider à réaliser un petit site internet (4 pages) à l'aide du logiciel gratuit IZISPOT. Dans l'exemple qui suit, il s'agit de mettre en
Plus en détailQu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
Plus en détailDéveloppement d un interpréteur OCL pour une machine virtuelle UML.
ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,
Plus en détailVisual Paradigm Contraintes inter-associations
Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détailConception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA
Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment
Plus en détailAteliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?
Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi? par X. HINAULT www.mon-club-elec.fr Tous droits réservés 2013. Document gratuit. Ce support
Plus en détailSITE WEB E-COMMERCE ET VENTE A DISTANCE
Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme
Plus en détailIFT2255 : 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étailAteliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!
Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows! par X. HINAULT www.mon-club-elec.fr Tous droits réservés 2013. Document gratuit. Ce support PDF d'atelier
Plus en détail4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Plus en détailGOL-502 Industrie de services. Travaux Pratique / Devoir #7
GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme
Plus en détailPrésentation de la plateforme WINDCHILL. Invitation à rejoindre la plateforme
Présentation de la plateforme WINDCHILL WINDCHILL est une plateforme de travail collaboratif qui vous permettra, entre autres, de partager des documents et de gérer votre projet. L interface est 100% web
Plus en détailGOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
Plus en détailProjet en nouvelles technologies de l information et de la communication
Projet en nouvelles technologies de l information et de la communication Site Web universitaire du Prof. Jacques Moeschler. Nono Steeve Semestre de printemps 2013 Sous la direction du Prof Luka Nerima
Plus en détailLes frameworks au coeur des applications web
Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion
Plus en détailTélécom Nancy Année 2013-2014
Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON
Plus en détailOnce the installation is complete, you can delete the temporary Zip files..
Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une
Plus en détailMODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES
MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES Département Informatique UFR Sciences 2 Boulevard Lavoisier 49045 Angers Cedex 01 Auteur : Jean-Michel Richer Email : jean-michel.richer@univ-angers.fr
Plus en détailIntroduction au Génie Logiciel
Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques
Plus en détailMercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est
Plus en détail1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7
Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application
Plus en détailLes sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org
Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et
Plus en détailUML (Diagramme de classes) Unified Modeling Language
UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association
Plus en détailCOMMENT METTRE A JOUR SON SITE WEB?
Un site web est d autant plus intéressant pour l internaute qu il est actualisé. A contrario, une information obsolète peut ternir l image de l entreprise (manque de dynamisme, manque de rigueur ). Différentes
Plus en détailProgrammation sous QT
SN IR 1 2014-2015 Développement logiciel Programmation Objet Programmation sous QT Projet Alarme Domestique ~ TD n 6~ Conception et Tests Unitaires Date : mars 2015 Version : 3.2 Référence : TD6 Conception
Plus en détailTutoriel code::blocks
Tutoriel code::blocks E. Lunéville 2006 Le logiciel code::blocks fait partie des logiciels de type EDI (Environnement de Développement Intégré, IDE en anglais) pour le langage C++. Il est multiplateforme
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT
école sciences industrielles & technologies de l information ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT Crédit : 120 ECTS Code DIE20 Niveau d entrée : Bac Niveau de sortie : Bac + 2 EN VAE Diplômes accessibles
Plus en détailC++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy
Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,
Plus en détailIntroduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
Plus en détailRapport de stage. Développement d un logiciel de vidéoconférence : Enjeux 3. Guillaume DOTT 2009
Rapport de stage Développement d un logiciel de vidéoconférence : Enjeux 3 Guillaume DOTT 2009 Maître de stage : Louis Poulette Tutrice : Marie-Paule Muller Remerciements Je tiens à remercier toute l équipe
Plus en détailD une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.
PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue
Plus en détailLa mesure des écarts en Sciences de l'ingénieur
1 sur 6 24/05/2015 18:44 La mesure des écarts en Sciences de l'ingénieur Gil Sause, Dominique Laporte La problématique L'enseignement des sciences de l'ingénieur (SI) au lycée s'inscrit dans une continuité
Plus en détail27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)
Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)
Plus en détailWEA Un Gérant d'objets Persistants pour des environnements distribués
Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et
Plus en détailBases de données Cours 1 : Généralités sur les bases de données
Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une
Plus en détailMaster CCI. Compétences Complémentaires en Informatique. Livret de l étudiant
Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans
Plus en détailGESTION LOGISTIQUE GESTION COMMERCIALE GESTION DE PRODUCTION
GESTION LOGISTIQUE GESTION COMMERCIALE GESTION DE PRODUCTION Votre contact : Pierre Larchères 06 30 35 96 46 18, rue de la Semm - 68000 COLMAR p.larcheres@agelis.fr PRESENTATION GENERALE LES PROGICIELS
Plus en détailLimeSurvey. Pour obtenir un compte sur le LimeSurvey de l Université de Genève, remplissez le formulaire de demande en ligne.
Guide utilisateur v.1 Janvier 2013 NTICE LimeSurvey LimeSurvey est un logiciel open-source qui vous permet de créer des questionnaires (test, enquêtes, formulaire d inscription, etc.) en ligne. Il vous
Plus en détailTRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique
TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique Bilan technique et éléments de développement Fonctionnalités attendues Une vingtaine d établissements
Plus en détailGestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailRAPPORT DE CONCEPTION UML :
Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions
Plus en détail