_
REPUBLIQUE TUNISIENNE
MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
Université de Jendouba
Faculté des Sciences Juridiques, Economiques et de
Gestion de Jendouba
Mémoire de projet de fin
d'études
Présenté en vue de l'obtention du
Diplôme de Licence Fondamentale en Informatique
Appliquée à la Gestion
Par
Moïse Coumbassa
Sujet
Développement d'une application mobile
d'apprentissage d'une langue
Encadré par : Talel Zid
Année universitaire : 2012 - 2013
Table des
matières
TABLE DES MATIÈRES
1
TABLE DES FIGURES
3
LISTE DES TABLEAUX
4
INTRODUCTION GÉNÉRALE:
5
CHAPITRE 1
6
PRÉSENTATION DU SUJET
6
INTRODUCTION
7
I. PRÉSENTATION DU SUJET :
7
II. MÉTHODOLOGIE DE
CONCEPTION :
7
1. MÉTHODE EXTERME PROGRAMMING
(XP)
8
2. LA MÉTHODE 2 TRACK UNIFIED PROCESS
(2TUP) :
9
3. LA MÉTHODE UP (UNIFIED
PROCESS) :
11
4. ETUDE COMPARATIVE ENTRE LES TROIS
MÉTHODES :
14
CONCLUSION :
14
CHAPITRE 2
16
ETUDE PRÉLIMINAIRE
16
INTRODUCTION :
17
I. ETUDE DE L'EXISTANT :
17
1. BUSUU :
17
2. LINGLING :
18
3. BABEL :
18
4. MOSALINGUA :
19
II. ANALYSE DES BESOINS
FONCTIONNELS
19
III. ANALYSE DES BESOINS NON
FONCTIONNELS :
20
CONCLUSION :
21
CHAPITRE 3
22
CONCEPTION
22
INTRODUCTION
23
I. DIAGRAMME DE CAS D'UTILISATION :
23
1. DÉFINITION :
23
2. DESCRIPTION DES CAS
D'UTILISATION :
24
3. DESCRIPTION DU VOCABULAIRE PAR
THÈME :
25
4. DESCRIPTION DE LA GRAMMAIRE PAR
THÈME :
27
II. DIAGRAMME DE CLASSE :
31
1. LISTE DES CLASSES ET DES
ATTRIBUTS :
31
2. DIAGRAMME DE CLASSES :
31
III. DIAGRAMME DE SÉQUENCES
32
I. CAS DE
L'APPRENANT :
32
1. DICTIONNAIRE
33
2. VOCABULAIRE :
34
3. ACCÉDER À LA GRAMMAIRE
36
CONCLUSION
36
CHAPITRE 4
37
RÉALISATION &
TEST
37
INTRODUCTION
38
I. ENVIRONNEMENT DE TRAVAIL :
38
1. ENVIRONNEMENT MATÉRIEL :
38
2. ENVIRONNEMENT LOGICIEL :
38
II. DESCRIPTION DES OUTILS
39
1. XML
39
2. JAVA
39
3. SQLITE
39
4. STARUML
40
III. CONFIGURATION DE L'ENVIRONNEMENT DE
DÉVELOPPEMENT INTÉGRÉ (IDE) :
40
1. INSTALLATION DU JDK (JAVA
DÉVELOPPEMENT KIT)
40
2. INSTALLATION DU SDK D'ANDROID :
41
3. OUVERTURE D'ECLISPSE POUR LE
PARAMÉTRAGE DU PLUGIN ADT
43
4. CRÉATION D'UN AVD (ANDROID
VIRTUAL DEVICE) :
45
IV. PRÉSENTATION DES
INTERFACES :
47
1. MENU PRINCIPAL DE L'APPLICATION
47
2. GRAMMAIRE PAR THÈME :
48
3. GRAMMAIRE CONTENUS D'UN THÈME
D'ÉTUDE
49
4. VOCABULAIRE PAR THÈME
50
5. VOCABULAIRE CONTENUS D'UN THÈME
D'ÉTUDE
51
6. DICTIONNAIRE
52
7. VOCABULAIRE RECHERCHE PAR MOT
CLÉ :
53
CONCLUSION GÉNÉRALE
55
BIBLIOGRAPHIE
56
Table des Figures
Figure 1: graphe représentant eXterme
programming
2
Figure 2 : graphe représentant la
méthode two track unified process
11
Figure 3: graphe représentant le processus
unifié
13
Figure 4 : Diagramme de Cas d'utilisation
global
25
Figure 5 : diagramme de cas d'utilisation
vocabulaire par thème
26
Figure 6 : diagramme de cas d'utilisation grammaire
par thème
28
Figure 7: Diagramme de classe
33
Figure 8:Dictionnaire rechercher le mot et sa
définition
34
Figure 9 : Accès vocabulaire recherche par
mot clé
35
Figure 10 : Règles grammaticale et phrase
d'exemple
37
Figure 11:Installations du JDK
42
Figure 12: Installation du SDK Android
43
Figure 13: Installation des Configurations des
Framework d'android OS
44
Figure 14: URL Plugin
45
Figure 15: Barre de Menu et d'outils pour la
création de L'AVD
46
Figure 16:Création de l'Android Virtual
Device
47
Figure 17: Menu principal
48
Figure 18: la grammaire par thème
49
Figure 19: Contenus d'un thème
50
Figure 20: Vocabulaire par thème
51
Figure 21: Contenus d'un thème
d'étude
52
Figure 22 : Dictionnaire rechercher un mot et sa
définition
53
Figure 23: Vocabulaire recherche par mot
clé
54
Liste des Tableaux
Tableau 1: représentant les points forts et
faible de XP
2
Tableau 2: point fort et point faible du two track
unified process
11
Tableau 3: points forts et point faible de
processus unifié
13
Tableau 4: Tableau de Comparaison
15
Tableau 5: Classe et Méthode
32
Tableau 6: Outils de développement
39
Introduction
Générale:
Le développement de l'informatique mobiles'est
accéléré depuis le 21esiècle. Denouveaux
dispositifs (mobiles, tablette PC, PDA, téléphone mobile,
Smartphone, etc.) Offrent une portabilité accrue de l'information et des
communications sans fil (Wifi, Bluetooth, UMTS, etc...). Ces technologies ont
influencées les changements des comportements et les habitudes des
usagers dans beaucoup de secteurs comme l'éducation, la vie quotidienne,
et l'apprentissage. Les technologies mobiles peuvent avoir une grande
influence sur l'apprentissage. L'apprentissage commence à sortir des
salles de cours et à entrer dans des environnements moins classiques,
liés au contexte de l'apprenant. L'apprentissage devient ainsi
situé, contextuel, personnel, collaboratif, et continu tout au long de
la vie de l'apprenant. Utiliser des dispositifs mobiles pour apprendre,
n'importe où et n'importe quand c'est l'objectif de l'apprentissage
mobile (Mobile Learning M-Learning).
Étant donné qu'une langue ason rythme, ses
liaisons et son fonctionnement. C'est à force d'apprendre et
d'écouter régulièrement qu'on se familiarise avec une
langue authentique telle qu'elle est parlée au quotidien. Cet
apprentissage de langue s'il est fait par un système mobile facilitera
la tâche à l'apprenant (utilisateur) pour apprendre de
manière formelle et non formelle.
Dans ce travail il est question de réaliser une
application qui permettra à l'utilisateur d'un terminal mobile
équipé de la plate-forme Android, d'apprendre une langue de
manière authentiques, telle qu'on l'utilise à l'orale. Et
permettre aussi à l'usager de tirer profit de l'application et de toutes
les fonctionnalités qui lui seront intégrés.
En grande partie, il comprend la conception et la
réalisation de l'application. Ainsi une étude préalable
du sujet est nécessaire : la présentation du sujet, les
besoins fonctionnels et non fonctionnels. Au niveau de la conception nous
parlerons de toutes les fonctionnalités de l'application à
créer, les acteurs intervenants et les méthodes de conception.
Dans la réalisation, nous allons programmer les interfaces et vues
permettant de faire fonctionner l'application.
Chapitre 1
Présentation du sujet
Introduction
Etudier un projet consiste à concevoir, créer et
réaliser un logiciel à partir d'un besoin à satisfaire,
le logiciel peut être entièrement nouveau ou être
amélioré à partir d'un produit existant. Cette
démarche peut être expliquée par son illustration
systémique. C'est dans ce cadre que se situe le présent chapitre.
Il porte sur la présentation du sujet et de sa description
méthodologique.
I.
Présentation du sujet :
Notre sujet intitulé «développement d'une
application mobile d'apprentissage d'une langue » consiste à
créer une application d'apprentissage d'une langue vivante, partant des
activités (communément appelé interfaces)
spécifiques à la programmation android pour apprendre une langue
à travers des terminaux mobiles (tablette PC, Smartphone, Personal
digital Assistant(PDA), téléphone mobile etc.). De sorte à
ce que l'utilisateur (apprenant), se familiarise à cette langue. Il
s'agit de proposer des activités de lecture, d'écoute de mot,
d'accès au vocabulaire de la recherche par mot clé,
l'étude de la grammaire en consultant les règles grammaticale et
les phrases d'exemples.
II.
Méthodologie de conception :
Une méthodologie d'analyse de conception est un
procédé qui a pour objectif de permettre la formalisation des
étapes préliminaires du développement d'un système
afin de rendre ce développement plus fidèle aux besoins des
utilisateurs. Pour cela nous partons d'un énoncé informel :
le besoin exprimé par l'utilisateur, ainsi que l'analyse de l'existant
éventuel.
Ils existent plusieurs méthodes de conception, nous
présenterons quelques-unes, et par la suite nous ferons une nette
comparaison entre elles dans le but de sélectionner la méthode la
plus adaptée à notre projet.
1.
Méthode eXterme Programming (XP)
La méthode eXterme Programming a été
inventée par
Kent Beck,
Ward Cunningham et
Ron Jeffries pendant leur travail sur un projet « C3 (de calcul des
rémunérations) » celle-ci est née officiellement
en octobre
1999avec le livre eXterme
Programming Explained de Kent Beck. XP est une
méthode
agileplus particulièrement orientée sur l'aspect
réalisation d'une application. Elle définit un certain nombre,
recommande de bonnes pratiques permettant de développer un logiciel dans
les conditions optimales en plaçant le client au centre du processus de
développement.
XP est notamment basé sur les concepts
suivants :
· Les équipes de développeur travaillent
directement avec le client sur des cycles très courts d'une à
deux semaines maximum.
· Les livraisons de version du logiciel interviennent
très tôt et à une fréquence élevée
pour maximiser l'impact des retours utilisateurs.
· l'équipe de développeur travaille en
collaboration totale sur la base de binôme.
· le code est testé et nettoyé tout au long du
processus de développement.
· Les indicateurs permettent de mesurer l'avancement du
projet afin de permettre une mise à jour du plan de
développement.
Figure 1: graphe
représentant eXterme programming
Point fort et faible de la méthode XP :
XP
eXterme Programming
|
Point fort
|
Point faible
|
-Itératif
-Simpleàmettreenoeuvre
Faitunelargeplaceauxaspectstechniques:prototypes,règlesdedéveloppement,tests...
|
- Necouvrepaslesphasesenamontetenavalaudéveloppement
descapturesdesbesoins,support, maintenance,testsd'intégration...
- Eludelaphase
d'analyse,sibienqu'onpeutdépensersonénergieàfaireetdéfaire
- Assezfloudanssa
miseenoeuvre:quelsintervenants,quelslivrables
|
Tableau 1:
représentant les points forts et faible de XP
2. La
Méthode 2 Track Unified Process (2TUP) :
2TUP est un processus de développement logiciel qui
implémente le processus unifié (la méthode
générique de développement logiciel proche des
mécanismes architecturaux de RUP « Rational Unified
Process »). Chacune des étapes du cycle découle des
précédentes. Il préconise un cycle de vie en y, et
s'apparente à un cycle de développement en cascade, par
ailleurs elle est incrémentale : à partir de la capture des
besoins fonctionnels, on définit plusieurs cas d'utilisation
représentant chacun un incrément du cycle de
développement. Elle favorise des formes de recherche de qualité
et de performance intéressante telle que le service
réutilisation.
Figure 2 : graphe
représentant la méthode two track unified process
Point fort et faible duTwo track unified process :
2UTP
Two track unified process
|
Point fort
|
Point faible
|
- Itératif
- Donneuneplace
importanteàlatechnologieetàlagestiondurisque
Définitlesprofilsdesintervenants,leslivrables,
lesplannings,lesprototypes
|
-
Plutôtsuperficielsurlesphasessituéesenamontetenavaldudéveloppement:capturedesbesoins,support,maintenance,gestionduchangement...
- Neproposepasde
documentstypes
|
Tableau 2: point fort et
point faible du two track unified process
3. La
Méthode UP (Unified Process) :
Unifed Process est une méthode générique
de développement de logiciel. Générique
c'est-à-dire qu'il est nécessaire d'adapter UP au contexte du
projet, de l'équipe, du domaine d'application ou de l'organisation.
C'est une méthode de prise en charge de cycle de développement
d'un logiciel, et par ailleurs du développement pour les logiciels
orienté objets. UP est un processus de développement
incrémental et itératif ce qui signifie que le projet est
découpé en phases très courtes à l'issu de chacune
desquelles une nouvelle Version incrémentée est livrée.
Les principales caractéristiques du processus
unifié sont :
· le processus unifié est à la base de
composants.
· le processus unifié utilise le langage UML
(ensemble d'outils et de diagramme).
· le processus unifié est piloté par les cas
d'utilisation.
· centré sur l'architecture.
· itératif et incrémental.
L'objectif principal d'un système logiciel est de
rendre un service à ses utilisateurs, il faut par conséquent
comprendre les désirs et les besoins des utilisateurs du futur
système. Le processus de développement est donc centré sur
l'utilisateur. Le terme utilisateurs ne se focalisant pas seulement sur les
utilisateurs humains mais également les autres systèmes.
L'utilisateur représente donc une personne ou un objet dialoguant avec
le système en cours de développement.
Figure 3: graphe
représentant le processus unifié
Point fort et point faible du processus
unifié :
UP
Processus Unifié
|
Point fort
|
Point faible
|
Distingue clairement les phases projet
|
· itératif
· Ne propose pas de modèles de documents
|
Tableau 3: points forts et
point faible de processus unifié
· Le Processus Unifié est centré sur
l'architecture
Dès le démarrage du processus, on aura une vue
sur l'architecture à mettre en place. L'architecture d'un système
logiciel peut être décrite comme les différentes vues du
système qui doit être construit. L'architecture logicielle
équivaut à l'aspect statique et dynamique les plus significatifs
du système. Elle émerge des besoins de l'entreprise, tels qu'ils
sont exprimés par les utilisateurs et autres intervenants et tels qu'ils
sont reflétés par les cas qui sont exprimés par les
utilisateurs et autres intervenants et également tels qu'ils sont
reflétés par les cas d'utilisation.
· Le Processus Unifié est itératif et
incrémental
Le développement d'un produit logiciel destiné
à la commercialisation est une vaste entreprise qui peut
s'étendre sur plusieurs mois. On ne va pas tout développer d'un
coup. On peut découper le travail en plusieurs parties qui sont autant
de mini projets. Chacun d'entre eux représentant une itération
qui donne lieu à un incrément.
Une itération désigne une succession des
étapes de l'enchaînement d'activités, tandis qu'un
incrément correspond à une avancée dans les
différents stades de développement.
Le choix de ce qui doit être implémenté au
cours d'une itération repose sur deux facteurs :
Une itération prend en compte un certain nombre de cas
d'utilisation qui ensemble, améliore l'utilisabilité du produit
à un certain stade de développement. Elle traite en
priorité les risques majeurs.
Le processus unifié répète un certain
nombre de fois une série de cycles. Chaque cycle se traduit par une
nouvelle version du système.
Le processus unifié qui n'utilise pas le cycle de vie
en cascade, puis qu'est-elle trop figé et rigide, Et les tests seront
fait à chaque itération sans attendre la fin du projet.
4. Etude comparative entre les
trois méthodes :
Le tableau ci-dessous présente une comparaison entre ces
trois méthodes
Critère
|
XP (eXterme Programming)
|
2TUP ( Two Track Unified Process)
|
UP (Unified Process)
|
Accueil du changement
|
Flexible et adaptable
|
Adaptable
|
Adaptable
|
Collaboration Etroite avec le client
|
OUI
|
OUI
|
OUI
|
Application Fonctionnelles
|
Assez fonctionnelle
|
Assez fonctionnelle
|
Assez fonctionnelle
|
Documentation
|
Non
|
OUI
|
Oui
|
Processus et outils
|
Non
|
OUI
|
OUI
|
Cycle de vie
|
Non
|
En (Y)
|
En (v)
|
Taille de l'Equipe du projet
|
De petite Equipe et de petits projets
|
Petite et grandes équipes autant que pour le projet
|
Petites et grandes équipe autant que pour le projet
|
Tableau 4: Tableau de
Comparaison
Après cette brève comparaison, notre choix
s'est porté sur la méthode UP, car elle est beaucoup plus
complète que les méthodes agiles (XP). De même, elle
s'avère aussi être beaucoup plus simple que la méthode
2TUP.
Au faite elle se base sur UML (Unified Modeling Language)
raison pour laquelle notre choix sera centré sur la méthode XP.
Conclusion :
Le présent chapitre avait pour objectif de
présenter le cadre général de notre projet, qui consiste
à développer une application d'apprentissage d'une langue. De
cette étude, il en ressort que, du fait de sa simplicité, notre
travail devrait être fait sur la base de l'Unified Process, basé
sur le langage UML. Ceci nous amène donc à introduire notre
second chapitre qui est l'étude de l'existant et l'analyse des
besoins.
Chapitre 2
Etude
préliminaire
Introduction :
L'analyse des besoins est une démarche qui
« consiste à rechercher et à caractériser les
fonctions offertes par une application pour satisfaire les besoins de ses
utilisateurs. Tel est l'objectif de ce chapitre, qui portera sur l'étude
de l'existant. Nous présenterons quelques logiciels existants par la
suite l'analyse des besoins fonctionnels et non fonctionnels.
I. Etude de l'existant :
L'étude de l'existant est une phase importante pour
bien comprendre notre application actuelle et définir ses objectifs.
L'application est sensée offrir à l'utilisateur des unités
d'apprentissage. Cependant elle permettra de mettre à profit,
l'apprentissage d'une langue vivante en toute simplicité en offrant
à l'apprenant des activités d'apprentissage en partant du
vocabulaire de base illustré par les mots et les phrases. Parlant d'une
application d'apprentissage, elle fournit les activités telles que la
révision lors d'un apprentissage déjà fait, la sauvegarde,
ainsi qu'un dictionnaire. Généralement les applications mobiles
d'apprentissage sont des applications ayant pour but de combiner les
perspectives pédagogiques aux technologies. Nous présenterons
quelques applications mobiles d'apprentissage de langue existantes :
1. Busuu :
Busuu est une application mobile d'apprentissage d'une langue,
elle permet d'apprendre la langue de façon idéal où que tu
sois. Qui est centré sur des unités d'apprentissage du
vocabulaire complet environs 3000 mots et phrases clés, ainsi qu'un
niveau débutant et avancé, par ailleurs un nombre de sujet
différents avec des situations de la vie quotidienne, un outil
d'apprentissage audio-visuel complet comprenant des images et des
enregistrements effectuer. Il est conçu sur la base de modèle
très court car elle dispose d'une version gratuite (d'essais) qui
n'offre que 20 unités d'apprentissages, la version complète peut
être achetée directement dans l'application. Cette application
d'apprentissage de langue appelée busuu est disponible en plus de onze
langues différentes. Elle offre à ses usagers de
synchronisés leurs progrès lors de l'apprentissage sur la toile
via leurs site
www.busuu.com, l'une des
célèbres communautés d'apprentissage de langue en
ligne.
2. LingLing :
Lingling est une application
mobile qui utilise une répétition espacée d'apprentissage,
qui est basé sur la courbe de l'oubli d'Hermann Ebbinghaus
établit qu'après une séance de lecture qu'on a
oublié plus de 50% à 80% des informations qu'on a lues. Elle
présente un apprentissage de la langue avec beaucoup d'amusement, pour
ses développeurs ces deux facteurs accélère le processus
d'apprentissage jusqu'à 20 fois. De plus le lingling dispose plus de
42000 mots et enregistrement disponible dans 18 langues, et une
possibilité d'apprendre plus de 10 000 mots par an.Au dire de son
représentant aucun programme informatique ou application, ou
méthode ne pouvant le faire au paravent. Cette application permet
à ses utilisateurs d'apprendre la langue à travers le choix des
paquets, le choix d'un avatar est indispensable pour débuter
l'apprentissage avec le lingling, d'où une possibilité est
offerte à l'apprenant de changer son avatar au cours de l'apprentissage
elle offre également d'apprendre de nouveaux mots par jours, ainsi que
de replanifier l'apprentissage, constituer de différentes parties
élémentaires d'apprentissage les autres parties seront
acheté dans l'application valables pour les autres niveau à
savoir l'avancé et expert. Elle présente des
fonctionnalités telles que les mini jeux après avoir
mémorisé un certains nombres de mots, et le défis entre
apprenant à la base des apprentissages effectués.
3. Babel :
Cette application permet d'apprendre une langue en toute
simplicité. Apprendre le vocabulaire n'importe quand et n'importe
où sur votre terminal mobile ainsi que les outils d'une reconnaissance
vocale et un vocabulaire de base avancé lui sont intégrés.
Elle contient plus de 2000 et 3000 mots de vocabulaire par langue. Tous ces
mots et phrase sont illustrés par des images et prononcé par un
locuteur natif, et une reconnaissance vocale qui lui est intégrée
et permettant aux usagers d'améliorer leur prononciation et de constater
leurs progrès. Babel analyse les termes et phrases que vous avez appris
et vous interroge sur ceux-ci, exactement au bon moment. Ceci permet
d'assimiler le vocabulaire de façon durable, sans effort
supplémentaire. Babel est un logiciel qui sert à divertir, car
la lecture est relativement facile mais la prononciation pas du tout. Cette
application vous aidera pour cela et vous divertira dans le processus.
4. Mosalingua :
Comme toute application mobile
d'apprentissage mosalingua, permet tout simplement d'apprendre et de
s'améliorer dans plusieurs langues étrangères (Anglais,
anglais business, espagnol, italien et allemand). L'application comprend
également un système de répétition espacé
capable de calculer le planning adapté au niveau utilisateurs, de ses
difficultés et de son emploi du temps pour favoriser
l'apprentissage.
Dans mosalingua est
inclut :
· 3000 cartes
composées de mots et de phrases avec prononciation audio par des
natifs
· 14 grandes
catégories (comme exemple : les bases indispensables, achat,
tourisme, informatique, social, urgence, etc.) et plus de 100
sous-catégories (exemple : au restaurant, acheter et
négocier, sport etc. .)
· Dix niveaux disponibles
(essentiel)
· Des conseils
d'apprentissage et des petits dialogues.
Toutes ces applications
étant performantes les unes des autres présentent de nombreuses
fonctionnalités. Toutefois, elle propose des défauts de ne pas
avoir un dictionnaire, donc qui n'offrent pas à l'apprenant de
connaitre le contexte d'un mot qui ne lui est pas familier.
II.
Analyse des Besoins fonctionnels
L'analyse fonctionnelle, permet
d'aboutir à un résultat satisfaisant et efficace du thème
d'étude, il faut à ce stade définir avec précision
la bordure de la solution à développer. Ceci inclut
l'énumération des différents services que notre
application est supposée offrir à l'utilisateur.
Notre solution qui consiste au
développement d'une application mobile d'apprentissage d'une langue
vivante est sensée offrir aux usagers :
v Pour cela la
création d'une base de données sera nécessaire, afin de
mieux gérer nos interfaces, en vue d'établir un vocabulaire de
base ainsi que la grammaire et y stocker les mots
nécessaires.
v L'application devra
également être dotée d'un dictionnaire dans le but de
permettre à l'utilisateur, de mieux comprendre les mots et phrases
ainsi que leurs contextes à partir de laquelle l'utilisateur pourra
écouter quelques mots recherchés.
v L'utilisation de dictionnaire hors ligne
III. Analyse des besoins non
fonctionnels :
Un besoin non fonctionnels est
une restriction ou une contrainte qui pèse sur un service du
système, telle que les contraintes liées à
l'implémentation, les exigences en matière de performance, les
dépendances de plate-forme, la facilité de maintenance,
l'extensibilité et la fiabilité.
ü L'ergonomie des
interfaces
La solution doit présenter une
interface ergonomique englobant toutes les fonctionnalités offertes. La
manipulation des interfaces ne doit pas nécessité une
connaissance poussée en informatique, elle doit être simple et
claire afin de s'adapter aux connaissances informatiques de notre
utilisateur.
ü Fiabilité et
rapidité
Notre système doit garantir la
rapidité et la fiabilité de la recherche, ainsi que la gestion
optimale des ressources.
ü La compatibilité de l'application avec
différent système ou plateforme
La compatibilité de
l'application avec d'autre plateforme n'a pas d'impact sur le logiciel à
développer.
Conclusion :
Ce chapitre nous a permis l'élaboration du cahier de
charge, il a également permis d'avoir un aperçu plus net des
besoins auxquels devra répondre notre application. Avec ces besoins qui
ont été spécifié nous pouvons commencer le chapitre
suivant qui est la conception.
Chapitre 3
Conception
Introduction
La conception d'un système d'information ou d'un projet
c'est la pierre angulaire dans tout développement logiciel. Elle permet
de modéliser le projet à travers ses diagrammes, à partir
des besoins recueillis auprès des utilisateurs. Il est indispensable de
biens les comprendre et les décrire avec des diagrammes qui seront
utilisés dans le projet. Nous allons commencer par les diagrammes de cas
d'utilisation, en suite le diagramme de classes et en fin le diagramme de
séquences.
I.
Diagramme de cas d'utilisation :
1.
Définition :
Le Diagramme de cas d'utilisation permet d'obtenir un certain
nombre d'informations qui ont été recueillis auprès des
utilisateurs. Ces besoins spécifient l'utilisation du système
dans ses aspects statiques. Elle est l'image des fonctionnalités du
système déclenchées en réponse à la
stimulation d'un acteur.
2.
Description des cas d'utilisation :
Figure 4 : Diagramme de Cas
d'utilisation global
v Apprenant :
L'apprenant (acteur externe au système) est celui sur
qui sont focalisées les unités d'apprentissage. Bien qu'il soit
le seul utilisateur du système. Il peut consulter les
fonctionnalités telles que le vocabulaire, le dictionnaire et la
grammaire.
v Vocabulaire :
Ce cas d'utilisation sera doté des
fonctionnalités telles que :les mots et phrases illustrés
par thème, dont le système offrira à l'utilisateur dans le
but de mettre à profit une bonne connaissance linguistique en fonction
d'un ensemble de termes utilisés.
v Grammaire :
Ce cas d'utilisation nous illustre une possibilité
d'apprendre la grammaire par thème, et de bénéficier de
toutes ses unités proposées.
v Dictionnaire :
Le système offre la possibilité à
l'utilisateur de rechercher un mot, pour connaître la définition
du mot et son contexte.
v Rechercher Mot:
Ce cas d'utilisation formalise une dépendance
d'obligation avec le dictionnaire, elle permet à l'apprenant
d'écouter un mot recherché par l'utilisateur.
Diagramme d'utilisation Vocabulaire cas par cas et
recherche par thème :
Ce diagramme nous permettrons d'illustrer certains cas
d'utilisation du système, en essayant de faire une recherche par
thème du vocabulaire étudié fournies par l'application en
vue de mieux cerner les limites du système.
3.
Description du Vocabulaire par thème :
Figure 5 : diagramme de cas
d'utilisation vocabulaire par thème
Description textuelle des cas
d'utilisations :
a. Service 1 : « Sélectionner
un thème »
Sommaire d'identification
Titre : choix par thème du
vocabulaire
Résumé : ce cas
d'utilisation permet à l'utilisateur de choisir un thème
d'étude du vocabulaire.
Acteur : apprenant / l'utilisateur du
Terminal Mobile, du smart phone ou du PDA.
Description des Scénarios :
Pré condition : Aucune
Scénario Nominal :
1. L'utilisateur demande au système le vocabulaire et
ainsi que les thèmes d'études.
2. Le système lui offrira à son tour une Interfaces
contenant les vocabulaires par thème.
3. L'utilisateur pourra parcourir la liste du vocabulaire ou
sélectionner un thème.
4. Le système affiche le thème d'étude et
offre la possibilité à l'utilisateur d'apprendre.
b. service 2 : « recherche par
mot clé »
Sommaire d'identification :
Titre : Recherche par mot clé
Résumé : Ce cas d'utilisation permet à
l'apprenant de faire la recherche du vocabulaire par mot clé.
Acteur:apprenant / l'utilisateur du Terminal
Mobile, du smart phone ou du PDA.
Pré conditions : Aucune
Scénario nominal :
1. L'utilisateur Edit un mot recherché et presse le
bouton de rechercher
2. Le système recherche le mot dans la base de
données si le mot existe il affiche le mot et sa traduction.
4.
Description de la Grammaire par thème :
Figure 6 : diagramme de cas
d'utilisation grammaire par thème
Description textuelle des cas
d'utilisation :
a. Service 1 : « Etude de Grammaire
par thème »
Sommaire d'identification
Titre : choix d'une Catégorie
grammaticale
Résumé : ce cas
d'utilisation permet à l'utilisateur de choisir un thème
d'étude de la grammaire.
Acteur : apprenant / l'utilisateur du
Terminal Mobile, du smart phone ou du PDA.
Description des Scénarios :
Pré condition : Aucune
Scénario Nominal :
1. L'utilisateur demande au système la grammaire et
ainsi que les thèmes d'études.
2. Le système lui offre à son tour une
Interfaces contenant la grammaire par thème.
3. Le choix de l'utilisateur se portera sur un thème
choisi.
4. Le système affiche le thème d'étude et
offre la possibilité à l'utilisateur d'apprendre la grammaire.
b. Service 2 : « Consulter des
d'exemples »
Sommaire d'identification :
Titre : consulter des exemples
Résumé : Ce cas
d'utilisation permet de consulter les exemples de phrase de chaque
catégorie grammaticale sélectionné par l'apprenant.
Acteur : apprenant/l'utilisateur du
Terminal Mobile, du smart phone ou du PDA.
Description des Scénarios :
Pré conditions : Aucune
Scénarios nominal :
1. l'utilisateur demande une catégorie grammaticale.
2. le Système lui affiche le contenu d'une
catégorie et l'offre la possibilité d'apprendre à travers
les phrases d'exemples, et règle grammaticale.
b. Service 2 : « Etude de Grammaire
par thème »
Sommaire d'identification
Titre : choix d'une Catégorie
grammaticale
Résumé : ce cas
d'utilisation permet à l'utilisateur de choisir un thème
d'étude de la grammaire.
Acteur : apprenant / l'utilisateur du
Terminal Mobile, du smart phone ou du PDA.
Description des Scénarios :
Pré condition : Aucune
Scénario Nominal :
1. L'utilisateur demande au système la grammaire et
ainsi que les thèmes d'études.
2. Le système lui offre à son tour une
Interfaces contenant la grammaire par thème.
3. Le choix de l'utilisateur se portera sur un thème
choisi.
4. Le système affiche le thème d'étude et
offre la possibilité à l'utilisateur d'apprendre la grammaire.
b. Service 2 : « Consulter des
d'exemples »
Sommaire d'identification :
Titre : consulter des exemples de
phrase et règle grammaticale
Résumé : Ce cas
d'utilisation permet de consulter les exemples de phrase et règle
grammaticale de chaque catégorie grammaticale sélectionné
par l'apprenant.
Acteur : apprenant/l'utilisateur du
Terminal Mobile, du smart phone ou du PDA.
Description des Scénarios :
Pré conditions : Aucune
Scénarios nominal :
1. l'utilisateur demande une catégorie grammaticale.
2. le Système lui affiche le contenu d'une
catégorie et l'offre la possibilité d'apprendre les règles
grammaticales.
II.
Diagramme de Classe :
Les diagrammes de classes expriment de manière
générale l'aspect statique du système, en termes de classe
et de relation entre ses classes. Une classe décrit un ensemble d'objet
(attribut et comportement). Ainsi ses relations ou associations permettent
d'établir un lien entre ses objets.
1.
Liste des Classes et des Attributs :
Classes
|
Attributs
|
Méthodes
|
Thème
|
Contenus
|
|
Mot
|
Id_mot
mot
Définition
prononciation
|
Ecouter ()
Ajouter ()
|
Catégorie grammaticale
|
Id_categorie
Libellé
|
|
Exercice
|
Id_exercice
Description
|
|
Tableau 5: Classe et
Méthode
2.
Diagramme de Classes :
Figure 7: Diagramme de
classe
III.
Diagramme de Séquences
Le diagramme de séquence est un diagramme qui permet
d'illustrer l'interaction entre les objets. Participant à une
interaction qui particulière et les messages qu'ils
échangent organisés en séquences chronologique.
Axés sur ce que fait un système et non sur la manière dont
il le fait, un diagramme de séquence définit la logique d'une
instance particulière d'un cas d'utilisation. En général,
dans un diagramme de séquence, la Dimension Verticale représente
les heures (de haut en bas) appelé ligne de vie et la dimension
horizontales représente les différents objets.
Les principales informations contenues dans un diagramme de
séquence sont les messages échangés entre les lignes de
vie, présents dans un ordre chronologique. Ainsi contrairement au
diagramme de communication, le temps y est représenté
explicitement par une dimension (la dimension verticale) et s'écoule de
haut en bas.
Pour cela, nous allons détailler les diagrammes des cas
d'utilisation de que service du système.
IV. Cas de
L'apprenant :
1.
Dictionnaire
Figure 8:Dictionnaire
rechercher le mot et sa définition
L'apprenant déclenche une opération de
recherche en saisissant un mot le système (interface) va traduire
cette demande en contrôle qui va à son tour la traduire à
la table mot à une recherche de données saisie. Si celles-ci
existe, le mot sera alors afficher, sinon rien ne sera afficher.
2.
Vocabulaire :
Figure 9 : Accès
vocabulaire recherche par mot clé
Pour avoir accès au vocabulaire, l'apprenant doit au
préalable sélectionner le vocabulaire tout en accédant
à la liste de vocabulaire, puis sélectionner un thème
d'étude. Ou choisir une recherche par mot clé puis le
système lui afficher le résultat de la recherche.
3.
Accéder à la Grammaire
Figure 10: Règles
grammaticale et phrase d'exemple
Cette Séquence, illustre comment se passe
l'accès à la rubrique grammaire, au préalable l'apprenant
doit sélectionner la grammaire par la suite choisir une
catégorie grammaticale puis le système va l'afficher la grammaire
et sont Contenus.
Conclusion
Dans ce chapitre, nous avons développé notre
approche méthodologique grâce au langage UML, nous avons
essayé de montrer en détail et la manière dont chacune des
fonctions doit être exécutée en un premier temps et par la
suite nous avons eu à présenter une conception de notre
système.
Notre étude conceptuelle terminée, nous allons
entamer la réalisation proprement dite de notre projet.
Chapitre 4
Réalisation & test
Introduction
Ce chapitre fait l'objet de la réalisation du projet
proprement dite. Il s'agit de l'implémentation du code et la mise en
oeuvre du système à concevoir. Dans ce cadre nous commencerons
à présenter l'environnement de travail et matériel ainsi
que le logiciel utilisé. Par la suite, l'illustration des interfaces de
notre application.
I.
Environnement de Travail :
La réalisation de ce travail a nécessité
l'usage de plusieurs outils matériel et logiciel à
savoir :
1.
Environnement matériel :
Le matériel utilisé pour ce travail est un
ordinateur dont les références sont les suivantes :
v Portable HP 630
v Processeur : Intel Core i3 CPU M370 @ 2.4GHz 240.GHz
v RAM : 4.00 Go
v DD : 500 Go
v OS : Windows 7 Edition Intégrale
1. Environnement
Logiciel :
Les outils logiciel qui ont été utilisé
pour ce travail son récapitulé dans le tableau ci-dessous.
Système d'Exploitation
|
Windows 7
|
Langage de développement
|
XML Java
|
Outils de Développement
|
Eclipse
|
SGBD
|
SQLite
|
Modélisation
|
StarUML
|
Tableau 6: Outils de
développement
II.
Description des Outils
1.
XML
XML (Extensible Markup Language) se traduit comme un langage
de balisage étendu, ou langage à balisage extensible. Il est en
quelque sorte un langage qui permet de définir de nouvelle balise. Il
s'agit effectivement d'un langage permettant de mettre en forme les interfaces
graphiques sous android et d'y placée les vues grâce aux balises
(markup).
2.
Java
Le Langage Java fut développé en 1991 par James
Gosling et Partrick Naughton de Sun Microsystems, mais également
un environnement d'exécution.
Ce groupe de chercheur spécialisé dans le
développement de logiciel conçus pour contrôler des
appareils électronique. Et souhaitaient développer un langage de
programmation qui permette de contrôler les appareils du futur.
Java peut être segmentée en deux parties votre
programme écrit en langage java et d'autre part, une machine virtuelle
JMV (Java Virtual Machine) qui va se charger de l'exécution de votre
programme java. C'est cette plateforme qui garantit la portabilité de
Java puisse fonctionner.
Avec ce langage, on peut développer, des applications
(console), développer des applications mobiles, développer des
applets pour vos sites web, développer des sites JSP.
3.
SQLite
Le SQLite est une base de données très
appréciée car elle fournit une interface SQL tout en offrant une
empreinte mémoire très réduite et une rapidité de
traitement suffisante. En outre il appartient au domaine public tout le monde
peut l'utiliser. De nombreuse société (Adobe, Apple, Google,
Sun, Symbian) et plusieurs open-source (Mozilla, Php, Phyton) fournissent
désormais des produits intégrants le SQLite. Le SQLite est SGBD
étant intégré au moteur d'exécution d'Android.
4. StarUML
StarUML est un Logiciel de modelage UML qui est rentré
récemment dans le monde de l'Open Source. Ecrit en Delphi, il est
modulaire et propose plusieurs générateurs de code. Centré
sur UML, il permet donc de représenter sous forme graphique les
digrammes qu'il propose. C'est un logiciel efficace, facile à prendre en
main, avec ses points forts et ses points faibles.
Son principal avantage est que tous les diagrammes UML 1.x
peuvent être générés. La possibilité du code
source est un avantage indéniable pour l'utilisateur afin d'assurer la
pérennité du logiciel.
Cependant ce qu'on lui reproche est qu'il n'est disponible que
sous Windows.
Notre choix c'est porté sur ce logiciel car il est
simple et pratique. De plus, notre méthodologie étant
basée sur UML, StarUML convient le mieux pour modéliser nos
diagrammes.
III.
Configuration de l'environnement de développement
intégré (IDE) :
1.
Installation du JDK (Java Développement Kit)
Une fois que la Machine Virtuelle est lancée, on
procède à l'installation de l'environnement Java Oracle JDK
7.
Figure 11:Installations du
JDK
Au préalable, il faut commencer par préparer
l'environnement sous Windows et télécharger les outils
nécessaires ; suivi de l'installation Android SDK, Après
avoir Installé la plateforme Android, on continue avec l'installation
des outils nécessaire comme cela :
2.
Installation du SDK d'Android :
L'installation du Sdk Android nécessite au
préalable la préparation de l'environnement sous Windows
télécharger les outils nécessaire ; suivi de
l'installation d'Android SDK.
Figure 12: Installation du
SDK Android
L'installation du SDK seras suivie de l'installation des
différentes composantes du l'Android SDK. Le lancement de «Android
SDK Manager » depuis la racine du dossier ou à partir du menu
démarrer nous avions la possibilité de voir les
«périphériques virtuelles » (Virtual Devices)
appelé couramment émulateurs, les packages installés
disponibles « Avaible Packages » là où on
trouve la liste des Packages installés disponibles disponible chez
Google ou chez des développeurs tierce parties.
Figure 13: Installation des
Configurations des Framework d'android OS
3.
Ouverture d'eclispsepour le paramétrageduplugin ADT
Un IDE est un logiciel dont l'objectif est de faciliter le
développement, généralement pour un ensemble restreint de
langages. Il contient un certain nombre d'outils, dont au moins un
éditeur de texte souvent étendu pour avoir des
fonctionnalités avancées telles que l'auto-complétion ou
la génération automatique de code des outils de compilation et un
débogueur. Dans le cas du développement Android, un IDE est
très pratique pour ceux qui souhaitent ne pas avoir à utiliser
les lignes de commande. Eclipse est l'IDE le plus répandus chez les
développeurs pour la programmation en Java. Il n'a pas besoin
d'être installé il s'exécute comme une application
portable.
Paramétrage d'éclipse et installation du
pluginADT
Figure 14: URL
Plugin
Afin d'intégrer les outils d'Android dans Eclipse il
faut installer Android Développement Tools (ADT) à partir de
l'url si vous posséder une connexion Internet «
https://dl-ssl.google.com/android/eclipse/»
Ces derniers constituent un plugin de IDE Eclipse pour l'installation de
émulateur. Il étend la capacité de l'IDE pour l'OS de
Google, permettant de Compiler, d'exécuter du code Android, de
créer des interfaces graphiques. Après cela notre environnement
de travail prêt à l'emploi.
4.
Création d'un AVD (Android Virtual Device) :
Un AVD qui est aussi appelé Android Virtual Device,
est un émulateur de terminal sous Android, c'est-à-dire c'est un
logiciel qui fait croire à la machine (ordinateur) qu'il est un appareil
mobile sous Android. C'est la raison pour laquelle vous n'avez pas besoin de
périphérique pour l'exécution de nos applications il va
nous falloir un AVD pour ce faire, dans le menu Windows de la barre de menu ou
en cliquant sur l'icône.
Pui ajouter un nouveau AVD en attribuant un nom et en choisissant la cible
indiquant sa capacitéé de stockage.
Figure 15: Barre de Menu et
d'outils pour la création de L'AVD
Figure 16:Création
de l'Android Virtual Device
IV.
Présentation des Interfaces :
1.
Menu Principal de L'application
Figure 17: Menu
principal
L'interface ci-dessus c'est le Menu principal de l'application
elle constitué d'un listviewqui est composé de trois parties le
dictionnaire, la grammaire et le vocabulaire.
2.
Grammaire par thème :
Figure 18:la grammaire par
thème
Cette interface résume les thèmes d'étude de
la rubrique grammaire.
3.
Grammaire Contenus d'un thème d'étude
Figure 19: Contenus d'un
thème
Cette interface illustre le contenu d'un thème
d'étude de la grammaire
4.
Vocabulaire par thème
Figure 20: Vocabulaire par
thème
Cette interface affiche les thèmes d'étude de la
rubrique Vocabulaire Composé de deux boutons menus : la
première rechercher permet de faire une recherche du vocabulaire par mot
clé et le second bouton menu (quitter) permet un retour à
l'interface d'accueil.
5.
Vocabulaire Contenus d'un thème d'étude
Figure 21: Contenus d'un
thème d'étude
Cette interface illustre le contenu d'un thème
d'étude coté vocabulaire suite à la sélection d'un
thème par l'apprenant.
6.
Dictionnaire
Figure 22 : Dictionnaire
rechercher un mot et sa définition
Cette interface illustre la recherche d'un mot et sa
définition, ainsi lorsque l'utilisateur saisira un mot et cliqué
sur le bouton de rechercher une réponse lui seras transmise si le mot
existe dans la base si non rien ne seras affiché.
7. Vocabulaire recherche par
mot clé :
Figure 23: Vocabulaire
recherche par mot clé
L'interface si permet la recherche par mot clé pour y
accéder l'apprenant doit au préalable sélectionner le
vocabulaire par la suite presser le bouton menu de son mobile deux menus
apparaîtront le premier rechercher le deuxième quitter. Appuyer
sur le première, une nouvelle activité lui seras affiché
par le système celle de la recherche par mot clé et l'apprenant
pourra faire sa recherche par mot.
Conclusion
Dans ce chapitre, nous avons présenté la phase
de l'implémentation de notre application tout en mentionnant
l'environnement logiciel et matériel ainsi que les technologies
utilisées.
L'aperçu de nos interfaces réalisés et
des tests unitaires effectués qui nous ont permis de mieux cerner le
principe de fonctionnement de notre application.
Conclusion générale
Ce projet a été mise en oeuvre dans le but
d'offrir une solution logicielle autrement dit une application mobile
d'apprentissage d'une langue vivante à travers les technologies mobiles
(smart phone, personal digital assistant et terminaux mobile etc...). Pour y
parvenir, il a fallu au préalable présenter notre sujet et
définir la méthodologie de conception utilisée. Par la
suite, l'étude de l'existant nous a permis de couvrir tous les besoins
du point de vue utilisateur que nous aurons à traiter, notamment
celui d'offrir une application facile à utiliser et de
répondre aux attentes des utilisateurs. L'étude
détaillée des diagrammes a facilité
l'implémentation de nos interfaces.
Ce projet de fin d'étude m'a beaucoup appris, car
chaque outil utilisé et chaque rechercher effectuée m'ont
octroyé une nouvelle connaissance. Comme StarUML et l'environnement
de développement Intégré utilisé.
L'évolution constante et rapide des nouvelles technologies implique
qu'une application comme la nôtre soit sans cesse
améliorée, afin de présenter des fonctionnalités
plus complètes et d'actualité. Un avantage certain serait de
doter notre application d'un dictionnaire. Bien que la solution
développée semble répondre aux besoins
énumérés dans le cahier de charge, toute fois il faut
révéler que cette solution s'adapterait mieux si l'application
est implémentée via un serveur distant (le web service).
Bibliographie
hellart.fr/android/art_du_developpement_android.pdf
http://www.memoireonline.com/04/12/5643/m_Conception-et-realisation-d-une-application-de-gestion-du-personnel-cas-de--CONGELCAM-S-A5.html
http://manu.kegtux.org/
http://android.developpez.com/faq/?page=envId#pres_plugin
www.ecole.ensicaen.fr/~elallam/mini.../livrable_methode_comparatif.pdfý
http://manu.kegtux.org/Java/Tutoriels/Android/androidAvance.html#persistance
Webographies
http://www.anglaisfacile.com/free/news/pdf.php
http://www.siteduzero.com/informatique/tutoriels/creez-des-applications-pour-android/l-emulateur-de-telephone-android-virtual-device
http://fr.wikipedia.org/wiki/Extreme_programming
http://fr.wikipedia.org/wiki/Unified_Process
www.commentcamarche.net/contents/477-methodes-agiles-rad-xp
http://www.freewebs.com/fresma/Formation/UML/Processus%20Unifie.pdfý
http://marketing-webmobile.fr/2012/11/application-lingling-apprenez-une-langue-en-seulement-10-mois/
http://www.babbel.com/apprendre-anglais-en-ligne/61428-vocabulaire-et-phrases
fr.wiktionary.org/wiki/axe
|