Analyse d'un réseau social



Documents pareils
Création d'un questionnaire (sondage)

Chapitre 10. Les interfaces Comparable et Comparator 1

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Application web de gestion de comptes en banques

ASSOCIATION NATIONALE D'ASSISTANCE ADMINISTRATIVE ET FISCALE DES AVOCATS

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

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

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

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

Interfaces graphiques avec l API Swing

ENT Espace de stockage

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Java 7 Les fondamentaux du langage Java

7 S'abonner aux notifications des nouveaux appels

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

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

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

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Dessiner dans Galaad FRANÇOIS PALLUT

Symantec Enterprise Vault

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Animation d algorithmes sur les automates d états finis

Compte-rendu de projet de Système de gestion de base de données

Edutab. gestion centralisée de tablettes Android

Peut être utilisée à l intérieur du site où se trouve la liste de référence.

Manuel d'utilisation

GUIDE D'UTILISATION DE L'ANNÉE PHILOLOGIQUE SUR INTERNET

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

Programmation Objet - Cours II

claroline classroom online

Serveur de travail collaboratif Michaël Hoste -

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

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

CONNECTEUR PRESTASHOP VTIGER CRM

Utiliser Access ou Excel pour gérer vos données

TD/TP PAC - Programmation n 3

Cyberclasse L'interface web pas à pas

La gestion des boîtes aux lettres partagées

Publier un Carnet Blanc

Administration du site (Back Office)

Jexcel. V1.1.4 Manuel d'utilisation. modifié le 16 nov. 2004

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

G E S T S K E D. Logiciel de gestion de QSO journaliers ou hebdomadaires appelés SKED. Version 1.0. Logiciel développé par René BUSSY F5AXG

Développement Logiciel

MEDIAplus elearning. version 6.6

1. Introduction Création d'une requête...2

Analyse tarifaire en ligne (TAO) de l'omc

DÉBUTER AVEC LES RÉSEAUX SOCIAUX

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

TeamViewer 7 Manuel Manager

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Manuel d utilisateur BilanKine Version 1.5

Foire aux Questions Note: Les réponses aux questions correspondent à la version Mise en route

Guide d installation

Table des matières. Table des matières

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Manuel d'utilisation: Gestion commerciale - CRM

Manuel de l'application SMS

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)

Mémo d'utilisation de BD Dico1.6

Guide d'utilisation du logiciel de NEWSLETTERS

TDB-SSI LES EXTENSIONS

Notice d'utilisation Site Internet administrable à distance

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/ / 15

Trier les ventes (sales order) avec Vtiger CRM

DOCUMENTATION VISUALISATION UNIT

SOMMAIRE. Travailler avec les requêtes... 3

4. Groupement d objets

Gestion des Factures

GUIDE D'UTILISATION DU LOGICIEL DU TRIDENT GRAPHIQUE : TRG_REPORT

Cours de Génie Logiciel

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Projet tablettes numériques Document de référence

Module d échange de données INTERLIS v1.0 GeoConcept Manuel d'utilisation

Petit guide à l'usage des profs pour la rédaction de pages pour le site Drupal du département

GANTTPROJECT. Julien TENDERO

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Installation 1K-Serveur

1 - Clients 2 - Devis 3 - Commandes 4 - Livraisons 5 - Factures 6 - Avoirs 7 - Modèles

Département informatique de l université d Angers

CINEMATIQUE DE FICHIERS

CAP BOX Note utilisateurs

Introduction à Business Objects. J. Akoka I. Wattiau

Guide de déploiement

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Construire des plug-ins pour SAS Management Console SAS 9.1

GESTION DES PISTES ET OPPORTUNITES

1 Gestionnaire de Données WORD A4 F - USB / / 6020 Alco-Connect

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Samsung Drive Manager Manuel d'utilisation

Contre exemple de présentation

TP1 : Initiation à Java et Eclipse

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

1 sur 5 10/06/14 13:10

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

MANUEL POUR L UTILISATION DE L APPLICATION EN LIGNE DU SYSTÈME DE NOTIFICATION DES ACCIDENTS INDUSTRIELS

Guide Utilisateur MANTIS. Sommaire. Objet du document :

Transcription:

Licence 2, Semestre 3 2012 Projet Programmation Orientée Objet BRIDOUX Florian KEITH Bruno DUPRE-PAWLAK Sandra 1

Sommaire I) Présentation du Projet. 1. Projet demandé 2. Projet réalisé II) Diagrammes de classe. III) Répartition. IV) Choix techniques. V) Test. VI) Conclusion. 2

I) Présentation du Projet. 1. Projet demandé Le projet concerne l'analyse d'un réseau social. Pour cela, on doit simuler un graphe par rapport aux données des utilisateurs, ce qu'ils aiment ou suivent. On distingue les Utilisateurs, qui peuvent suivre et être suivis, et les Pages, qui peuvent être aimées et sont administrées par un ou plusieurs Utilisateurs. Mais ces deux catégories ont des points en commun, on peut donc les représentés sous forme de Sommet. Les différents Sommets sont reliés par des Arcs, qui représentent donc le fait de «suivre» ou d' «aimer». Enfin, le graphe doit être affiché sous la forme d'une phrase du type : 2. Projet réalisé Le projet réalisé est divisé en plusieurs classes. La classe Sommet est une classe abstraite qui implémente la classe Serializable défini par Java. Cette classe défini de manière générale les Utilisateurs et les Pages. Ces deux objets possèdent donc un nom, une liste de Voisins Sortants et un rang. Les voisins sortants sont des Utilisateurs qui suivent ou aiment le Sommet en question. Pour les Utilisateurs, cette liste représentera les autres Utilisateurs qui le suivent, et pour les Pages, elle représentera les Utilisateurs qui l'aiment. Cette classe définie des méthodes simples tel que l'ajout, la suppression, le nombre de Voisins Sortants ainsi que la comparaison par ordre alphabétique et la comparaison par nombre de voisins sortants de deux sommets. La classe Utilisateur hérite de la classe Sommet. On lui ajoute un prénom et un âge, en plus de son nom et de sa liste de voisins sortants. Cette classe possède une méthode equals. La classe Page hérite de la classe Sommet. Elle possède donc en plus une liste d'utilisateurs qui représente les Administrateurs de cette Page. Une méthode d'ajout d Administrateur et une méthode equals ont été définies. La classe Graphe possède une liste de Sommet, ainsi que le nombre d'utilisateurs et le nombre de Pages que contient cette liste, et qui apparaîtront donc dans le Graphe. Une méthode d'ajout de Sommet dans la liste est agrémentée par deux autres méthodes : une pour l'ajout d'utilisateurs dans la liste, une autre pour l'ajout de Page. Ces méthodes permettent donc de tenir les compteur d'utilisateurs et de Pages à jour. Cette classe possède aussi des accesseurs particuliers. On y trouve un «getter» simple, un trié par nom, un autre trié par nombre de voisins sortants. Deux méthodes servent à supprimer un Sommet de la liste de sommets du Graphe dont l'une renvoie un booléen. Il est possible aussi de créer un arc, donc un lien, entre deux sommets. On peut aussi retrouver un sommet, et donner les informations le concernant. Certaines données peuvent être calculer comme l'âge moyen des Utilisateurs. Évidemment, on peut lire et enregistrer un fichier de Graphe grâce à cette classe. Ces classes possèdent des accesseurs, des mutateurs ainsi qu'une tostring. La classe Arc contient un point d'origine (String) une liste de nom de Sommet. Cette classe représente le lien entre le point d'origine et plusieurs sommets. Elle possèdent un constructeur et 3

une méthode tostring. Le classe nbvoisinsortantcomparator implémente la classe Comparator de Java. L'unique méthode de cette classe utilise la méthode nbvoisinsortantcompar de la classe Sommet et permet de comparer deux sommets via leur nombre de voisins sortants. La classe nomsommetcomparator implémente aussi la classe Comparator de Java. Sa méthode utilise la méthode compareralpha de la classe Sommet et permet donc de comparer deux sommets via la place de leur nom dans l'ordre alphabétique. La classe AucunUtilisateurException hérite de la classe Exception. Elle est utilisé dans la méthode de calcul de l'âge moyen des Utilisateurs dans la classe Graphe. Elle renvoie un message d'erreur en cas d'absence d'utilisateur. La classe FichierGrapheIncorrectException hérite de la classe Exception. Elle est utilisé dans la lecture du fichier dans la classe Graphe et renvoie un message d'erreur en cas de mauvaise lecture du fichier. Deux interfaces ont été créées pour le projet. La classe Interface Terminal possède une méthode displayoptions qui permet de lister les différentes options données à l'utilisateur du programme. La méthode visualiser donne les informations d'un Graphe selon le choix pris par l'utilisateur du programme. La méthode programme propose les choix en appelant displayoptions puis, grâce à un switch, exécute l'appel de l'utilisateur du programme. Enfin, la méthode demandeentier permet de vérifier que l'utilisateur a bien entrer un chiffre. Le package InterfaceGraphique possède plusieurs classes. La classe abstraite Fenetre hérite de la classe JFrame et implémente la classe ActionListener. ** La classe FenetreChargement hérite de la classe Fenetre. Cette classe sert à charger un Graphe. Elle possède deux attributs de type JButton pour charger un graphe ou annuler. Son constructeur appelle la méthode disable de la classe Test, ensuite, elle charge le graphe choisi et permet de le visualiser. Cette classe possède aussi une méthode actionperformed. ** La classe FenetreAjoutArc hérite de la classe Fenetre. Elle possède une méthode actionperformed. ** La classe FenetreAjoutPage hérite de la classe Fenetre. Elle possède une méthode actionperformed. ** La classe FenetreAjoutUser hérite de la classe Fenetre. Elle possède une méthode actionperformed. ** La classe FenetreSauvegarde hérite de la classe Fenetre. Elle possède une méthode actionperformed. ** La classe FenetreSuppr hérite de la classe Fenetre. Elle possède une méthode actionperformed. ** La classe FenetreVisualisation hérite de la classe Fenetre. Elle possède une méthode 4

actionperformed. ** La classe Menu hérite de la classe Fenetre. Elle a neuf attributs de type JButton qui permettent d'effectuer les différents choix de l'utilisateur (Créer/ Charger/ Sauvegarder/ Ajouter un utilisateur/ Ajouter une page / Ajouter un arc/ Supprimer un Sommet/ Voir/ Quitter) ainsi qu'un attribut de type JLabel. Le constructeur place les boutons et les définis. Une méthode actionperformed actionne le choix voulu par l'utilisateur du programme. La classe Test possède deux attributs : un Graphe et un Menu. ** La classe FenetreCreation hérite de la classe Fenetre. Elle possède deux attributs de type JButton. Son constructeur créait les deux boutons et sa méthode actionperformed permet de créer un graphe ou d'annuler l'action selon le choix de l'utilisateur du programme. 5

III) Répartition Une réunion de départ le 21 novembre 2012 nous a permis de mettre en place le projet, les attentes et compréhensions de chacun. Ainsi, le plan du projet et la répartition du travail a été décidé à ce moment. L'utilisation de SVN sous Eclipse est une façon efficace de travail en groupe. Celui-ci nous permet donc de partager nos travaux et nos avancées rapidement. Grâce à ce système, nous n'avons pas eu besoin de nous regrouper sur le sujet souvent. Une deuxième réunion eu lieu le 20 décembre 2012 pour se concerter sur les points finis et ceux restants. 21/11/12 20/12/12 KEITH Bruno Interface Fin de l'interface, création du Jeu de Test BRIDOUX Florian DUPRE Sandra Classes Graphe, Arc, AucunUtilisateurException, FichierGrapheIncorrectExcepti on, nomsommetcomparator, nbvoisinssortantscomparator Classes Sommet, Utilisateur et Page Diagrammes de Classe sous ArgoUML Rapport IV) Choix Techniques Le premier choix fut d'utiliser l'arraylist comme Collection. Ce type de liste nous permet de gérer efficacement les voisins sortants d'un Sommet, ainsi que les administrateurs d'une Page. La liste de Voisins Sortants d'un Sommet est une liste de Sommet. Un voisin sortant est donc représenté par un Sommet, car le voisin sortant d'un Utilisateur est un utilisateur qui le suit. Les Arcs sont seulement représentés par un point d'origine (un Sommet d'origine) et une liste de Sommet qui sont lié par ce point d'origine. VI) Conclusion