Projet java. Puissance 4. Haute école spécialisée bernoise. 2007, Laboratoire d informatique technique



Documents pareils
Interfaces graphiques avec l API Swing

Construire des plug-ins pour SAS Management Console SAS 9.1

Java 7 Les fondamentaux du langage Java

Développement Logiciel

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Création d un service web avec NetBeans 5.5 et SJAS 9

PG208, Projet n 3 : Serveur HTTP évolué

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Logiciel de gestion de caisse et d ardoises

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

Cahier des charges (CDC)

TP1 : Initiation à Java et Eclipse

Auto-évaluation Programmation en Java

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP2 : Client d une BDD SqlServer

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Premiers Pas en Programmation Objet : les Classes et les Objets

CalDav Manager : Gestionnaire d emploi du temps

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

TP, première séquence d exercices.

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

M1 IFPRU Cahier des Charges du projet de TER. Vidéo Surveillance sur IP Le système Rapace. Membres du groupe : Encadrés par :

Plateforme de capture et d analyse de sites Web AspirWeb

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

Particularité supplémentaire à ajouter avec Internet Explorer

Approche Contract First

Poker. A rendre pour le 25 avril

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

Remote Method Invocation (RMI)

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Les structures. Chapitre 3

Animation d algorithmes sur les automates d états finis

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)

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Informations sur l utilisation du webmail du CNRS. Webmail du CNRS. Manuel Utilisateur

Plateforme PAYZEN. Définition de Web-services

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Présentation des nouveaux services de l ENT Second degré Rentrée scolaire 2015 et fin du 1 er trimestre de l année scolaire

TP SIN Programmation sur androïde Support : eclipse

Une introduction à Java

RAPPORT DE CONCEPTION UML :

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Alfstore workflow framework Spécification technique

Université Montpellier 2 Master Physique et Informatique

Diagramme de déploiement

Dis papa, c est quoi un bus logiciel réparti?

Compte Rendu d intégration d application

Chapitre 2. Classes et objets

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Corrigé des exercices sur les références

Evolutions dans FFBClubNet v :

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

Solutions du chapitre 4

Sélection du contrôleur

Programmation Orientée Objet

RMI le langage Java XII-1 JMF

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

Projet de programmation (IK3) : TP n 1 Correction

Corrigés des premiers exercices sur les classes

GEI 465 : Systèmes répartis

Le langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009

Programmation impérative

Vos outils CNED COPIES EN LIGNE GUIDE DE PRISE EN MAIN DU CORRECTEUR. 8 CODA GA WB 01 13

Marché Public en procédure adaptée : Infrastructure Informatique régionale hébergée CAHIER DES CHARGES ET DES CLAUSES TECHNIQUES

TD/TP PAC - Programmation n 3

Meta Object Facility. Plan

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

Les chaînes de caractères

FusionInventory. I-Détails et explication de l installation de l agent FusionInventory

Bases Java - Eclipse / Netbeans

Traduction des Langages : Le Compilateur Micro Java

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

Vous souhaitez vos documents de manière à pouvoir y accéder pour, ou non, et ce, depuis le lieu et l ordinateur de votre choix.

Education Delivery Intelligent Tool

Présentation du site internet EcoleDirecte des Familles et Elèves

Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

Java DataBaseConnectivity

Cours 1: Java et les objets

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

Département informatique de l université d Angers

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

Windows 8 : une petite révolution? 9. Démarrer Windows Accéder au Bureau à la connexion 13. Ouvrir ou activer une nouvelle session 13

Synchro et Threads Java TM

MEGA ITSM Accelerator. Guide de démarrage

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28

Administrateur de Parc PC

Patrons de Conception (Design Patterns)

Le langage C. Séance n 4

Guide de démarrage rapide. (pour la version 5.0.)

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

Programmer en JAVA. par Tama

Transcription:

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 java Puissance 4 2007, Laboratoire d informatique technique Nom de fichier: Création: Auteur: Version: Projet_Info4.DOC Juin 2007 Elham Firouzi 1.1

Table des matières Table des matières 1 Introduction 3 1.1But du projet 3 1.2 Le thème proposé 3 1.3 Les thèmes alternatifs 3 1.4 La notation 3 1.6 Le délai pour la documentation 3 1.5 La documentation 3 2 Le projet puissance 4 4 2.1 Description du travail 4 2.2 Les différents étapes de réalisation 4 2.3 La procédure de réalisation 4 Annexe A: Les possibilités GUI 5 Annexe B: GUI avec Swing 6 Annexe C: Connexion des PC s 8 2

Introduction 1 Introduction 1.1 But du projet Les buts de ce projet sont les suivants : 1. Approfondir la matière du module «Introduction dans la programmation Java» à l aide de la programmation d une application Java légèrement plus complexe. Il s agit en particulier de réalisé un design orienté objet et de transposer ce dernier en code. 2. Encourager le travail en équipe. Par conséquent, ce projet devra être réalisé en groupe de 2 ou de 3. 1.2 Le thème proposé Le thème proposé est le jeu puissance 4. Plus précisément, l implémentation de ce jeu sous forme d une application Java avec une interface d utilisateur graphique. Le chapitre deux contient une description plus détaillée du cahier de charge. 1.3 Les thèmes alternatifs Vous pouvez également choisir votre propre thème. Toutefois, les conditions suivantes doivent être respectées : 1. Le programme doit être une application Java. 2. L application doit utiliser une interface d utilisateur graphique. 3. Vous devez décrire votre application dans un cahier de charge, qui doit être approuvé par le professeur au début du projet. Toutes les autres formalités (notation, présentation orale et documentation) sont décrites ci-dessous. 1.4 La notation Le projet est noté, dont les critères sont les suivants: 1. La documentation 2. La fonctionnalité du programme 3. Le design du programme 4. La qualité du code 1.5 La documentation La documentation doit contenir le cahier de charge, la gestion du projet (analyse), la structure du programme (diagrammes de classes), les problèmes rencontrés, les tests etc. Le journal de travail peut également y être fourni en annexe. Ajoutez également un CD avec le code source du programme. Le rapport, sans les parties annexes, ne devrait pas contenir plus de 10 pages. 1.6 Le délai pour la documentation Le délai pour la documentation est la dernière semaine de la période des cours. 3

2 Le projet puissance 4 2.1 Description du travail Projet puissance 4 Le jeu puissance 4 doit être implémenté sur PC. Le programme doit posséder les caractéristiques suivantes: 1. Les joueurs peuvent s annoncer au début du jeu. 2. Chaque joueur reçoit une couleur. 3. Les joueurs peuvent jouer en alternance. 4. L état du jeu doit être affiché sur l interface d utilisateur graphique. Différentes propositions pour l affichage graphique sont fournies en annexe. Cependant, vous pouvez développer vos propres affichages. Toutefois, ces dernières doivent être programmées soit en AWT ou en Swing. 5. Le programme doit déterminer le gagnant. 2.2 Les différents étapes de réalisation En fonction de l avancement du projet vous pouvez ajouter des nouvelles fonctionnalités à votre projet. Toutefois la première étape devrait absolument être atteinte par tous les groupes. La deuxième étape est le fonctionnement à travers le réseau. Le code pour la mise en réseau est mis à disposition sur le serveur et sa description est fournie en annexe dans ce document. 1. Deux joueurs sur un PC 2. Deux joueurs à travers le réseau 3. Sauvegarde de l état actuel du jeu 2.3 La procédure de réalisation 1. Spécifier la partie gestion de projet (organisation du travail au sein de l équipe,...) 2. Réalisez le design du programme 3. Définissez le code du programme 4. Testez le code. 5. Constituez un journal de travail, dans lequel vous évoquez les connaissances acquises, les problèmes rencontrés ainsi que les solutions pour ces problèmes. 6. La documentation ne devrait pas être écrite à la fin du projet, mais en parallèle. 4

Possibilités GUI Annexe A: Les possibilités GUI Voici quelques propositions pour l interface d utilisateur graphique : 5

GUI avec Swing Annexe B: GUI avec Swing Swing est une bibliothèque plus moderne que celle d AWT, pour la programmation des interfaces d utilisateur graphique. Vous pouvez programmer ce projet soit en AWT ou en Swing. La programmation avec la bibliothèque Swing est très semblable à celle avec la bibliothèque AWT. Les différences les plus importantes sont les suivantes : 1. Les noms des classes commencent toujours avec un «J», comme par exemple «JButton» au lieu de «Button». 2. Les composants ne peuvent plus être ajouté simplement avec la méthode «add». Il faut d abord appeler la méthode «getcontentpane». Cette méthode retourne un container, qui permet d ajouter les composants à l aide de add. 3. La méthode «paint» a été remplacée par la méthode «paintcomponent». 4. Les dessins peuvent être réalisé à l aide de «JPanel». Swing ne contient pas de Canvas. Cette annexe fournit un aperçu des classes Swing, qui pourraient être utiles pour votre projet : Class JFrame java.awt.window java.awt.frame javax.swing.jframe Class JOptionPane javax.swing.jcomponent javax.swing.joptionpane Class JMenuBar javax.swing.jcomponent javax.swing.jmenubar 6

GUI avec Swing Class JPanel javax.swing.jcomponent javax.swing.jpanel Class JLabel javax.swing.jcomponent javax.swing.jlabel 7

Connexion des PC s Annexe C: Connexion des PC s Les mouvements des joueurs doivent être échangés à travers le réseau. Ce qui peut être réalisé avec la communication par socket. La communication par socket Un socket définit une interface, orienté flux d octets, destiné à la communication entre deux ordinateurs dans un réseau TCP/IP. Le transfert de données à l aide d une connexion socket est comparable aux accès fichiers : 1. Créer une connexion 2. Lire ou écrire les données 3. Fermer la connexion Les classes «Client.java» et «Server.java» sont mises à disposition pour la communication par sockets. Server.java Important: Il faut d abord instancier un objet de la classe Server. Le serveur attend alors, que le client se connecte au port spécifié. public Server(String port) public int getnextmove() public void sendmove(int ownmove) public void closeconnection() public String getconnectionstatus() public String getmovestatus() Constructeur: ouvre la connexion socket et attend sur un esclave afin de créer une communication. Attend que le client envoie son mouvement et retourne ce dernier en tant que valeur entière. Envoi un mouvement au Client. Ferme la communication Retourne l état de la communication sous forme chaîne de caractère - "Verbindung hergestellt!" - "Verbindung terminiert!" Retourne l état du mouvement sous forme chaîne de caractère - "waiting for move from client..." - "got move from client. move = " + move Client.java public Client(String port, String remoteip) public int getnextmove() public void sendmove(int ownmove) public void closeconnection() public String getconnectionstatus() public String getmovestatus() Constructeur : essai de créer une communication par socket avec le serveur (remoteip) Attend jusqu à ce que le maître envoie un mouvement et retourne ce dernier en tant que valeur entière. Envoie un mouvement au maître. Ferme la communication. Retourne l état de la communication sous forme chaîne de caractère - "Verbindung hergestellt!" - "Verbindung terminiert!" Retourne l état du mouvement sous forme chaîne de caractère - "waiting for move from server..." - "got move from server. move = " + move 8