1. Projet Professionnel Personnel
1
Rapport de Projet professionnel personnel (PPP)
Bataille navale Android
Réalisé par :
Rateb SAYAH
Mohamed Ghazi AMOR
Sahar DRIDI
Zeineb CHEHIDI
Encadré par :
Mr. Aymen SELLAOUTI
Année universitaire :
2013-2014
2. Projet Professionnel Personnel
2
Remerciements
Nous nous tenons avant tout à exprimer notre reconnaissance particulièrement à notre
enseignant Mr. Aymen SELLAOUTI qui nous a été d’une aide précieuse et qui nous a
consacré du temps. Nous tenons à remercier tous nos professeurs de l’Institut National des
Sciences Appliquées et des Technologies pour la formation qu'ils ont eu le soin de nous
apporter tout au long de notre cursus universitaire. Souhaitons enfin que ce projet soit au
niveau de vos attentes.
3. Projet Professionnel Personnel
3
Table des matières
Introduction générale .............................................................................................................. 4
Chapitre 1 : Etude des besoins : ............................................................................................. 4
1.1.Spécifications des besoins fonctionnels ........................................................................... 5
1.2.Spécifications des besoins non fonctionnels .................................................................... 6
1.2.1. Les contraintes ergonomiques ............................................................................... 6
1.2.2. Les contraintes techniques .................................................................................... 6
1.2.3. Les contraintes de matériel .................................................................................... 6
1.2.4. Les contraintes de déploiement .............................................................................. 6
1.3.Spécification semi-formelle des besoins ......................................................................... 7
Chapitre 2 : Etude conceptuelle.............................................................................................. 8
2.1. Diagramme de cas d’utilisation ....................................................................................... 8
2.2. Diagramme de classe ....................................................................................................... 8
2.3. Diagramme de séquence.................................................................................................. 9
Chapitre 3 : Réalisation et tests ............................................................................................ 15
3.1. Outils de réalisation d'un projet Android ..................................................................... 15
3.2. Présentation des outils techniques................................................................................. 16
3.3. Réalisation et tests......................................................................................................... 17
Conclusion générale ............................................................................................................... 22
Bibliographie........................................................................................................................... 23
4. Projet Professionnel Personnel
4
Introduction Générale
Nombreux sont les nouveaux jeux et applications cumulés dans le Market Android. De
nos jours, 61% des applications téléchargées sur Android sont des jeux. (1)
En fait, les jeux rencontrent de plus en plus de succès auprès des détenteurs de
Smartphones Android… et ils génèrent aujourd'hui plus des trois quarts des revenus des
développeurs, selon le dernier rapport Distimo. En septembre, selon les spécialistes de
l'analyse des données mobiles, les revenus générés par les jeux sur Android représentaient un
pourcentage important des recettes des deux principaux Market : le Google Play et l'App
Store d'Apple.
Dans le cadre de ce projet, nous avons entrepris l’implémentation du jeu populaire :
Bataille navale. Ce rapport décrit l’implémentation d’une application Android de ce jeu en
précisant l’organisation du code et les différentes fonctionnalités.
Il s’étale sur trois chapitres. Le premier chapitre est consacré à la spécification des besoins, le
deuxième chapitre concerne l’étude conceptuelle détaillée du système, le troisième chapitre
concerne l’identification des outils de réalisation d'un projet Android et la réalisation de
l’application.
5. Projet Professionnel Personnel
5
Chapitre 1 : Spécification des besoins
Introduction :
La spécification des besoins représente la première phase du cycle de développement d'une
application. Elle doit décrire sans ambiguïté l'application à développer.
Dans ce chapitre, nous allons spécifier l'ensemble des besoins fonctionnels et non
fonctionnels liées à notre application. Ensuite, nous allons modéliser les spécifications semi-
formelles des besoins à l'aide des diagrammes de cas d'utilisation et les diagrammes de
séquences.
Spécification des besoins fonctionnels :
Cette section a pour objet de présenter les besoins fonctionnels auxquels doit répondre notre
application :
Identification des acteurs en interaction avec notre application:
Nous allons maintenant énumérer les acteurs susceptibles d'interagir avec le système. Tout
d'abord, nous commençons par définir ce qui est un acteur.
Définition :
Un acteur représente l'abstraction d'un rôle joué par des entités externes (utilisateur, dispositif
matériel ou autre système) qui interagissent directement avec le système étudié. (2)
Les acteurs de notre application sont :
Deux personnes qui ont installé l'application sur leurs Smartphones Android. Ils ont la
possibilité de lancer le jeu et de jouer l’un avec l’autre.
6. Projet Professionnel Personnel
6
Spécifications des besoins non fonctionnels :
Les contraintes ergonomiques :
Les contraintes ergonomiques sont les contraintes liées à l'adaptation entre les fonctionnalités
de l'application, leurs interfaces et leur utilisation.
Pour notre application, nous devons obéir aux contraintes ergonomiques suivantes :
Permettre un accès rapide de l'information.
Interface simple et compréhensible.
connexion Bluetooth rapide entre les deux Smartphone
Les contraintes techniques :
Le code doit être extensible et maintenable pour faciliter toute opération
d'amélioration ou d'optimisation.
Les contraintes de matériel :
L'application sera installée sur un téléphone mobile à OS Android.
Les contraintes de déploiement :
Les applications clients doivent être téléchargeables à partir d'Android Market
pour Android.
La spécification des besoins fonctionnels et non fonctionnels procure une
vision claire du sujet et une compréhension plus profonde des taches à réaliser.
Elle mène également à prévoir une spécification semi-formelle de l'application
7. Projet Professionnel Personnel
7
Spécification semi-formelle des besoins :
La phase de modélisation nécessite des méthodes permettant de mettre en place un modèle
d'analyse. Dans ce cas, nous avons adopté le langage UML, « Unified Modeling Language »,
qui est un langage de modélisation graphique des données et des traitements. À travers le
langage UML, nous pouvons donner plusieurs vues d'un système.
Conclusion :
L’application à réaliser, doit répondre aux besoins fonctionnels classés par acteur qui
présentent les différentes fonctions du système, et les besoins non fonctionnels communs à
tous ces acteurs qui présentent les contraintes.
Ainsi, l’application doit être opérationnelle, évolutive, conviviale et satisfaisant la totalité des
exigences des utilisateurs.
Le chapitre suivant est la traduction de la spécification et de tous ces besoins en une
conception bien détaillée.
8. Projet Professionnel Personnel
8
Chapitre 2 : Etude conceptuelle
Introduction :
La phase de conception consiste à matérialiser progressivement les solutions possibles dans le
but de les évaluer. Elle consiste à établir un design d’interface de bas niveau basé sur des
règles, ce qui inclut la création de diagrammes représentant le design conceptuel du système.
Diagramme de cas d'utilisation :
La figure n°1 illustre le diagramme de cas d’utilisation qui est un diagramme
comportemental, Il décrit la vue fonctionnelle de l’application. Il présente un ensemble
d'acteurs et de cas d'utilisation avec leurs relations.
Figure 1 : Diagramme de cas d’utilisation général
9. Projet Professionnel Personnel
9
DESCRIPTION TEXTUELLE :
Nom du cas d’utilisation : Jouer
Acteurs : Utilisateur
Déroulement :
Le cas commence lorsque le joueur lance l’application.
Pré-condition : Avant de commencer à jouer, le 1er joueur doit se connecter via
Bluetooth au terminal du 2eme joueur, il doit aussi choisir son bateau en cliquant sur 3
carreaux contigus et alignés.
Enchaînement nominal :
L’utilisateur clique sur le bouton Jouer
A n’importe quel moment l’utilisateur peut consulter l’aide du jeu (Bouton
‘How To Play’).
Le joueur se connecte via Bluetooth à un autre terminal.
L’utilisateur Choisit un bateau.
Si le bateau choisi est valide et l’autre joueur a terminé son choix, le jeu
commence. Sinon une erreur s’affiche indiquant le non validité du choix.
Post-condition :L’utilisateur doit deviner le bateau de son ennemi.
Finalisation : L’utilisateur s’il a gagné ou perdu est invité à rejouer encore une fois
avec la même personne.
10. Projet Professionnel Personnel
10
Diagramme de classe (Description de la vue statistique) :
Le diagramme de classe est un élément important dans une démarche de conception
orientée objet. C’est un digramme structurel qui représente les différentes entités intervenant
dans le système et les relations entre celles-ci.
Il est illustré par la Figure n°2 présentée ci-après :
13. Projet Professionnel Personnel
13
Diagramme de séquence (Description de la vue
dynamique) :
Les diagrammes de séquences permettent de représenter des collaborations entre objets
selon un point de vue temporel, on y met l'accent sur la chronologie des envois de messages et
le déroulement du jeu.
La figure n°3 ci-après, illustre ce digramme permettant de décrire le comportement de
l’application et les scénarios détaillés qui peuvent parvenir.
Figure 3 : Digramme de séquence
14. Projet Professionnel Personnel
14
Conclusion:
L’objectif principal de ce chapitre est de présenter la phase de la conception qui consiste à
l’élaboration des diagrammes de cas d’utilisation, de classes et de séquence. Cette
modélisation sera concrétisée ensuite par la phase de réalisation qui est le chapitre suivant.
Au niveau de ce dernier, nous présenterons aussi l’environnement de travail adapté à notre
projet.
15. Projet Professionnel Personnel
15
Chapitre 3: Réalisation et tests
Introduction :
Après avoir achevé la phase de conception de l’application, nous allons entamer dans ce
chapitre la partie réalisation. Il va nous permettre d’introduire plusieurs concepts nécessaires à
la compréhension des outils essentiels pour notre projet. Nous présentons ainsi les différentes
technologies utilisées, l’environnement de travail et nous présentons ensuite quelques
captures d’écran de l’application.
Outils de réalisation d'un projet Android
Dans ce chapitre, nous présenterons l’environnement de travail qui inclut les outils de
développement (logiciels et technologies exploités) ainsi que l’outil matériel.
Outils logiciels :
- Environnement JAVA : JDK
- Environnement de développement intégré : Eclipse ADT
- Kit de développement : SDK
- Entreprise Architect
16. Projet Professionnel Personnel
16
Présentation des outils techniques :
SDK Android.
Il contiendra, après téléchargement(s) :
- La doc en ligne
- Les fichiers inclus, les librairies liées...
- Le compilateur et autres outils
- Des outils de communication genre telnet et ftp
- Un émulateur de tablette Android virtuelle
Le Plug-in ADT vous permet entre autres, de compiler, débugger, tracer, packager, tester et
analyser vos applications Android. Il s'appuie sur le SDK Android pour bon nombre de ces
actions mais l'avantage est qu'il intègre la plupart de celles-ci au sein d'Eclipse, facilitant
grandement les différentes phases de l'élaboration d'applications Android.(3)
JDK : Le kit de développement Java (JDK) est requis pour le développement d’applications
Java.
17. Projet Professionnel Personnel
17
Tests et réalisation:
Ces captures d’écrans résument tout un scénario d’exécution de l’application réalisée ainsi
que les cas de tests spécifiques afin de s’assurer de l’efficacité de l’application dans des
conditions différentes.
La figure n°4 présente l’interface d’accueil principale du jeu.
La figure n°5 illustre la liste pour la demande connexion par Bluetooth en appuyant sur
« Connect a device ». Après avoir sélectionné un périphérique, la figure n°6 est l’interface
qui s’affichera à l’autre utilisateur. Le code s’affichera si les deux joueurs vont se connecter
l’un à l’autre pour la première fois, pour des raisons de sécurité. En confirmant la demande, la
connexion s’établie : Figure n°7.
Dans un premier temps, les joueurs doivent placer leurs navires respectifs sur la grille bleue.
Le choix d’un bateau correct dépend de 3 boutons horizontaux, verticaux ou diagonaux
consécutifs. La figure n°9 montre un choix incorrect. Or la figure n°10 montre un choix
valide. En cliquant sur le bouton « Start », le message « correct boat » s’affiche, ce qui est
présenté par la figure n°11. Celui qui a fini en premier doit attendre à son adversaire : « wait
for your friend ». Celui qui était en attente commencera le premier, ceci est illustré par la
figure n°12, le message qui s’affiche est le suivant : « It’s your turn ». En contrepartie, une
interface bloquée se présente pour l’autre joueur.
Ensuite, une fois les deux joueurs ont sélectionné leurs bateaux, chacun à son tour, ils
essayent de trouver et couler les bateaux adverses. La figure n°13 présente un premier essai :
un bouton vert signifie un essai correct et un bouton blanc signifie un essai incorrect. Le
gagnant est celui qui parvient à torpiller complètement les navires de l'adversaire avant que
tous les siens ne le soient. Ceci est illustré par la figure n°14, le message qui s’affiche est le
suivant : « You win ». C'est un jeu de hasard.
18. Projet Professionnel Personnel
18
Figure 4: Page d’accueil Figure 5: Liste des périphériques Bluetooth
Connectés.
Figure 6: Demande d’appareillage Figure 7: Etablissement de la connexion
Bluetooth
21. Projet Professionnel Personnel
21
Figure 13 : un essai valide Figure 14 : un gagnant a écoulé le bateau
de son adversaire
Conclusion :
Ce chapitre nous a servi à mettre le projet dans son cadre. En effet, nous avons commencé par
la présentation de choix de l’environnement de développement. Ensuite, nous avons réalisé
une navigation dans notre application avec explication des passages entre ses différentes
interfaces conçues en fonction des règles du jeu Bataille Navale que nous avons définies.
22. Projet Professionnel Personnel
22
Conclusion générale
Ce projet a été pour nous l’occasion de découvrir et d’apprendre énormément de notions qui
valoriseront nos projets professionnels. Il nous a permis d’acquérir de la méthode, de la
rigueur ainsi que les technologies permettant le développement sur Android.
D’un point de vue technique, nous avons pu approfondir nos connaissances en Java,
l’utilisation d’une API avec un échange de données en XML. Nous avons aussi pu acquérir
des notions de développement sur mobile.
Ensuite l’organisation du projet était une partie intéressante. Ce projet fut donc pour nous la
chance d’apprendre beaucoup et d’augmenter nos ouvertures d’esprit face au monde de
développement et des nouvelles technologies. Nous espérons pouvoir mettre en application
tout ce que nous avons appris dans nos futurs projets.
Nous souhaitons pouvoir améliorer ce jeu prochainement. Nous essayons de développer des
versions ultérieures qui disposent de différents niveaux selon la difficulté. Elles seront encore
plus amusantes de point de vue décoration, maquillage, lumières, sono, nombres de joueurs ou
bien remplacer les joueurs par des équipes de joueurs disposant chacune d’un capitaine
d’équipe…
23. Projet Professionnel Personnel
23
Bibliographie
(1) Source : IDC Worldwide Mobile Phone Tracker , May 24 ,2012
(2) http://fr.wikipedia.org/wiki/Cas_d'utilisation
(3) Android.developpez.com/faq/FaqAndroid.pdf