Anda di halaman 1dari 30

Prface

Le monde de lentreprise de nos jours a pris un nouvel horizon de communication,


linformatisation dapplications et de services est devenu primordiale pour les
socits moderne, tant donn que cela permet une fluidit dchange rapide, et une
accessibilit a tout genre de publique.
Si on remarque que le march informatique des applications et des fonctionnalits
est devenu gourmand, cest bien que la qualit qui se prsente comme phnomne
arbitre qui favorise un projet a un autre, bien que la qualit dun rendu est dfinie
selon le choix de lide et la ralisation.
Il est claire que l'accs a un service est devenu assur par plusieurs appareil, dont
lordinateur, le smartphone cela prouve quun ingnieur moderne, doit tre capable
de dvelopper son ide, sur de divers plates-formes, pour satisfaire les besoins actuel
dun march.
tant donn que notre cole ESPRIT a t toujours proactive vis vis aux
avancements technologiques, elle a invit ses tudiants a raliser un projet multiples
plateformes: Desktop, Web et Mobile, ce qui confirme la continuit de cette politique
dapprentissage par problme, afin de habituer ses tudiants a se mettre en situation,
prparant de ceux-ci, a tre plus proche a la vie professionnel, en apprenant la
conception et le codage a travers des projets, qui utilisent une mthodologie rcente
et pratiques.
Enfin nous tenons remercier, toute lquipe pdagogique dESPRIT et les
intervenants professionnels responsables du module PI.DEV, pour avoir assur un
encadrement et le suivi de celle-ci.

Table des matires


1) Identification des Acteurs.....................................................................................3
2) Etude des Besoins Fonctionnel.............................................................................3
a. Besoin fonctionnels aux utilisateurs en gnral...............................................3
b. Besoins fonctionnels destins aux Freelancer..................................................4
c. Besoins fonctionnels destins aux Job Owner..................................................4
d. Notre application doit permettre ladministrateur :......................................4
3) Etude des besoins non fonctionnels.....................................................................4
1. Mthodologie :.......................................................................................................5
La mthode agile SCRUM :....................................................................................5
2.1.

Identification des acteurs :.............................................................................7

3.1

Modlisation du diagramme de cas dutilisation global..............................8

3.1.2 Dterminer les cas dutilisations.....................................................................8


4.Etude et choix de lenvironnement.........................................................................10
4.1

Environnement de dveloppement..............................................................10

I.

Etude de Contexte
Dans le cadre de lapprentissage du module PIDEV, nous avons t invit a

raliser un projet dapplication Desktop, Web & Mobile. il sagit bien dune
plateforme sur laquelle les utilisateurs peuvent dposer ou chercher des projets
de diffrents catgories allant du graphisme jusquau dveloppement en
diffrents langages, nous allons donc permettre aux utilisateurs d'tre
directement lis. il est vident que ce projet existe dj auparavant, avec Odesk,
Vworker, Codeur Or notre projet aurait a la fois plus doptions, et moins de
complexits vis a vis a des nouveaux utilisateurs, accompagn dune charte
graphique moderne et attirante.

1) Identification des Acteurs


-

Freelancer : Utilisateur qui sinscrire pour proposer une offre a un projet.


JobOwner : dpose son projet et choisi parmi les offres proposs.
Administrateur : gre lapplication.

2) Etude des Besoins Fonctionnel


a. Besoin fonctionnels aux utilisateurs en gnral
Notre Application doit permettre tout utilisateur de :
-

sinscrire en tant que Freelancer ou JobOwner


pouvoir accder son compte en sauthentifiant.
Accder ses informations, personnelles, les modifier.
dsactiver son compte.
Chercher un membre.

b. Besoins fonctionnels destins aux Freelancer


Notre application doit permettre au Freelancer de :
- Accder ses Informations personnelles, les modifier ainsi dsactiver son compte.
- Consulter la liste des projets.
- Evaluer une entreprise.
- Passer une certification.
- Rechercher un projet.
- Dposer son cv.
- Dposer une candidature pour les projets.
c. Besoins fonctionnels destins aux Job Owner
- Publier un projet, ainsi sa modification et sa suppression..
- Consulter les candidatures pour son projet.
- Evaluer une entreprise.
- Choisir les Freelancer pour le projet.
- Signaler des rclamations.
d. Notre application doit permettre ladministrateur

- Consulter les affectations pour les projets.


- Envoyer un message au Freelancer ou bien Jobowner.
- Bannir un utilisateur.

- Pouvoir consulter les messages changs entre un Freelancer et un Jobowner


- Ajouter un test, modifier et les supprimer.
- Retirer laffectation dun Freelancer
- Ajouter des comptes dadministrateurs
- Valider un projet

3) Etude des besoins non fonctionnels


- Notification (newsletters) pour les projets en rapport des skilles des freelancers
- Interface simple et convivial pour lutilisateur
- scuris lapplication pour assurer le payement entre le Freelancer et le Jobowner
- chaque membre peut contacter un autre membre ou un administrateur.

Dans le cadre de la ralisation de notre projet intgr, nous avons choisi de


suivre la mthode Agile Scrum .
Dans cette premire partie nous dcrirons les diffrentes phases du projet. Par ce
prsent rapport, nous allons dcortiquer les diffrentes parties du Sprint 0, o nous
spcifions essentiellement les acteurs principaux du systme, les besoins
fonctionnels et non fonctionnels marquants ainsi que nous entamons lanalyse
gnrale.
Nous allons avoir recours aussi larchitecture globale de notre application et
identifier les fonctionnalits principales travers llaboration du Product Backlog.

1. Mthodologie :
La mthode agile SCRUM :
Pour remdier aux failles des mthodes de dcoupage en phases (voir cycle en V) et
de dcoupage en activits WBS (Work Brakedown Structure) La mthode SCRUM

dfinit un cadre de travail permettant la ralisation de projets complexes.


Initialement prvu pour le dveloppement de projets type Software , cette
mthode peut tre applique tout type de projet, du plus simple au plus innovant,
et ce, de manire trs simple.
Lapproche Agile SCRUM propose au contraire de rduire considrablement
voire compltement cet effet tunnel en donnant davantage de visibilit, en
impliquant le client du dbut la fin du projet et en adoptant un processus de
dveloppement itratif et incrmental. Elle considre que le besoin ne peut
tre fig et propose au contraire de sadapter aux changements de ce dernier. Mais
pas sans un minimum de rgles.
Les projets qui suivent la mthode agile SCRUM sont diviss en plusieurs cycles
de travail relativement court que lon appelle sprints .
Cette mthode nous a permis, en tant que membres de lquipe, dvaluer
rgulirement les progrs lis au projet et de planifier les prochaines tapes de
dveloppement.
Scrum permet de produire la plus grande valeur mtier dans la dure la plus courte.

Le Cycle projet avec Scrum

La rpartition des rles dans Scrum :


Chaque projet utilisant la mthode SCRUM se mne autour dune quipe autoorganise et multifonctionnelle : auto-organise car il ny a pas de chef dquipe
qui dcide des rles de chacun, et multifonctionnelle car chaque membre de lquipe
est partie prenant dans le dveloppement de chaque fonctionnalit.
On distingue trois rles principaux savoir :
Le Product Owner :
Un directeur de produit qui est soit le client, soit une personne reprsentant le
client, il dfinit les fonctionnalits du produit ,choisit la date et le contenu de la
release, responsable du retour sur investissement et accepte et rejette les
rsultats.
Le Scrum Master :
Il reprsente le management de projet ,il est responsable de faire appliquer les
valeurs et les pratiques de Scrum par lquipe ,rsout les problmes et sassure que
lquipe est compltement fonctionnelle et productive .
Membres de lquipe :
Dans la mthode Scrum, lquipe est responsable de la ralisation oprationnelle des
travaux , ou en dautres termes, participe au dveloppement de lapplication; et
cest toute lquipe qui est responsable du rsultat final de chaque sprint .ils
sorganisent eux-mmes et ne changent pas de composition pendant un sprint.

2.Etude de contexte
Il sagit de limplmentation dune application sintitulant freelancer, qui facilite la
gestion du processus dembauche distance.

freelancer va permettre aux freelancer connects daccder leurs comptes afin


de pouvoir grer ou valuer lensemble des projets proposs. Dautre part, elle met
disposition du job owner la gestion des diffrentes propositions doffres reus de la
part des freelancers pour raliser leurs projets..

2.1.

Identification des acteurs :

Un acteur est une entit qui interagit avec le systme. Plus spcifiquement, le rle jou par un
simple utilisateur cest de produire un flux dinformations.
Dans notre application, nous distinguons 3 principaux acteurs, savoir :
un

3.Analyse Globale
3.1

Modlisation du diagramme de cas dutilisation global

3.1.1 Identification des cas dutilisation :


Lidentification des cas dutilisation une premire fois, nous donne un aperu des
fonctionnalits futures que doit implmenter le systme.
Cependant, il nous faut plusieurs itrations pour ainsi arriver constituer des cas
dutilisation complets. Dautres cas dutilisation vont apparatre au fur mesure de
la Description de ceux l, et lavancement dans le recueil des besoins fonctionnels
.
Pour constituer les cas dutilisation, il faut considrer l'intention fonctionnelle de
Lacteur par rapport au systme dans le cadre de l'mission ou de la rception de
chaque message
3.1.2 Dterminer les cas dutilisations
Un cas dutilisation reprsente un ensemble de squences dactions ralises par
le systme et produisant un rsultat observable intressant pour un acteur
particulier.
Il modlise un service rendu par le systme, en exprimant les interactions
acteurs/systme et apportant une valeur ajoute notable lacteur concern.

Ceci est le diagramme de cas dutilisation gnrale qui rsume les activits prises
en charge par le systme, ainsi que les personnes qui entreprennent ces activits.
Freelancer utilise un diagramme de cas d'usage pour connatre ce qui suit au sujet
du systme :

Figure 1 cas d'utilisation global

3.2

Modlisation du diagramme de cas dutilisation global

Le diagramme de classe est lun des diagrammes statiques d'UML. Il permet de


dcrire la structure d'un systme informatique tout en montrant les diffrentes
classes, leurs attributs, leurs mthodes ainsi que les relations entre eux. Tout au long
de nos sprints, nous essayerons de construire ce diagramme au fur et mesure en
ajoutant les diffrentes classes dduites.

4.Etude et choix de lenvironnement


4.1

Environnement de dveloppement

Lenvironnement de dveloppement est un terme qui dsigne lensemble doutils et


de langage utilis pour limplmentation dune solution informatique. Nous
commenons par lenvironnement matriel.
4.1.1 Environnement logiciel
4.1.1.1 Netbeans IDE

Netbeans IDE
NetBeans est un environnement de dveloppement intgr (IDE), open source et
multi-langues, cr par Sun. Il a la particularit dtre multiplateforme : il est
compatible avec Windows, MacOs, Linux et Solaris. De plus, il supporte plusieurs
langages de programmation.
4.1.1.2 Wamp

Wamp server
Wamp server est une plateforme de dveloppement des applications web
dynamiques. Ce logiciel est trs intressant puisquil englobe tous les outils
ncessaires pour le fonctionnement dune application web notamment un serveur de
base de donnes MySQL, un serveur web apache et une interface de gestion des bases
de donnes facile utiliser PHPMyadmin
4.1.2 Langage de programmation

Les langages de programmations utilises pour le dveloppement de notre


application sont les suivants :
4.1.2.1 PHP

php
PHP ou Hyper Text Preprocessor est un langage de script extrmement puissant et
destin pour le dveloppement des applications web. PHP est lun des langages de
programmation les plus populaire. Le point fort de ce langage cest quil est portable
et simple utiliser.
4.1.2.2. JQuery

jQuery
Afin de rendre notre application plus interactif nous avons fait recourt jQuery qui
est une bibliothque JavaScript libre qui porte sur l'interaction entre JavaScript et
HTML, et a pour but de simplifier des commandes communes de JavaScript.
4.1.2.3. JAVA

Java
Le langage Java est un langage de programmation informatique orient objet. Java
reprend en grande partie la syntaxe du langage C++, trs utilise par les
informaticiens
4.1.2.4. Ajax

AJAX
Cest un concept de programmation Web reposant sur plusieurs technologies comme
le JavaScript et le XML d'o le nom AJAX. Il permet de faire communiquer une
page Web avec un serveur Web sans occasionner le rechargement de la page.
4.1.2.5 Html 5

HTML 5
LHypertextMarkupLanguage, connu HTML, est le format de donnes conu pour
reprsenter les pages web. Cest un langage de balisage permettant dcrire de
lhypertexte.
4.1.2.6. Css 3

css3
CSS3 appartient la famille des styles, il offre de nouvelles possibilits intressantes
pour crer un impact avec vos dessins, vous permet dutiliser des feuilles de style plus
varis pour des effets de style beaucoup plus intressante.
4.1.2.7 Java script

java script
Le Javascript est un langage de script incorpor dans un document HTML. Cest un
langage de programmation qui permet d'apporter des amliorations au langage

HTML en permettant d'excuter des commandes du ct client, c'est--dire au


niveau du navigateur et non du serveur web.
4.1.2.8 Framework Symfony

Symfony
Symfony 2 est un Framework MVC (kit de logiciel bas sur le Modle Vue
Contrleur), libre.Il permet de dvelopper, rapidement et avec facilit, des sites et
applications.
4.2
Outils de configuration
Loutils de configuration utilise pour le dveloppement de notre application est le
suivant :
Gitlab :

Gitlab
Gitlab est un clone du clbre site GitHub permettant d'hberger des rpertoires Git
et de mettre en place plusieurs outils autour afin de mieux grer les projets l'aide
d'un gestionnaire de bugs (issues) ou encore d'un wiki pour la documentation.

partie Aziz :

Le Backlog de produit est le coeur de Scrum, il est l'ensemble des fonctionnalits du


produit que l'on veut dvelopper .cest une liste priorise de besoins et exigences que
veut le client .il est labor par le Product owner avant le lancement des sprints

ID

Feature

Gestion
consultations

ID_US

User Story

Priority

des 1.1

En tant que freelancer je 70


souhaite consulter la liste
des projets via Desktop

1.2

En tant que freelancer je 50


souhaite consulter la liste
des projets via web

1.3

En tant que freelancer je 30


souhaite consulter la liste
des projets via mobile

gnrer
statistiques

1.4

En tant que jobowner je 70


souhaite consulter les
candidatures pour mon
projet via Desktop

1.5

En tant que jobowner je 50


souhaite consulter les
candidatures pour mon
projet via Web

1.6

En tant que jobowner je 30


souhaite consulter les
candidatures pour mon
projet via Mobile

1.7

En
tant
que 70
administrateurs
je
souhaite consulter les
affectations pour les
projets via Desktop

1.8

En
tant
que 50
administrateurs
je
souhaite consulter les
affectations pour les
projets via Web

1.9

En
tant
que 70
administrateur
je
souhaite
pouvoir
consulter les messages
chang
entre
les
freelancer et jobowner
via Desktop

1.10

En
tant
que 50
administrateur
je
souhaite
pouvoir
consulter les messages
chang
entre
les
freelancer et jobowner
via Web

des 2.1

En
tant
administrateur
souhaite gnrer

que 70
je
des

statistiques via Desktop

Evaluation

Gestion des tests

2.2

En
tant
que 50
administrateur
je
souhaite gnrer
des
statistiques via Web

2.3

En
tant
que 30
administrateur
je
souhaite gnrer
des
statistiques via Mobile

3.1

En tant que freelancer je 70


souhaite valuer une
entreprise/jobowner via
Desktop

3.2

En tant que freelancer je 50


souhaite valuer une
entreprise/jobowner via
Web

3.3

En tant que jobowner je 70


souhaite
valuer
un
freelancer via Desktop

3.4

En tant que jobowner je 50


souhaite
valuer
un
freelancer via Web

4.1

En
tant
que 70
administrateurs
je
souhaite ajouter un test
via Desktop

4.2

En
tant
que 50
administrateurs
je
souhaite ajouter un test
via Web

4.3

En
tant
que 70
administrateurs
je
souhaite modifier un test
via Desktop

4.4

En
tant
que 50
administrateurs
je
souhaite modifier un test

Via web

Gestion
affectations

Gestion
rclamations

4.5

En
tant
que 70
administrateurs
je
souhaite supprimer un
test via Desktop

4.6

En
tant
que 50
administrateurs
je
souhaite supprimer un
test via Web

4.7

En tant que Freelancer je 70


souhaite passer des tests
Via desktop

4.8

En tant que Freelancer je 50


souhaite passer des tests
via web

des 5.1

En
tant
que 70
Administrateur je veux
retirer laffectation dun
freelancer un projet via
desktop

5.2

En
tant
que 50
Administrateur je veux
retirer laffectation dun
freelancer un projet via
Web

5.3

En tant que jobOwner je 70


souhaite
choisir
les
freelancer pour le projet
via Desktop

5.4

En tant que jobOwner je 50


souhaite
choisir
les
freelancer pour le projet
via Web

des 6.1

En tant que jobowner je 60


souhaite dposer mes
rclamations en cas de
non satisfaction
via
Desktop

6.2

En tant que jobowner je 50


souhaite dposer mes
rclamations en cas de
non satisfaction via Web

6.3

En tant que Freelancer je 70


souhaite dposer mes
rclamations via Desktop

6.4

En tant que Freelancer je 50


souhaite dposer mes
rclamations via Web

Gestion des recherches 7.1

En
tant
que 70
Administrateur
je
souhaite
lancer
une
recherche pour trouver
un Freelancer /jobowner
via Desktop

7.2

En
tant
que 50
Administrateur
je
souhaite
lancer
une
recherche pour trouver
un Freelancer /jobowner
via Web

7.3

En tant que Freelancer je 70


souhaite
lancer
une
recherche pour trouver
un jobowner Via Desktop

7.4

En tant que Freelancer je 50


souhaite
lancer
une
recherche pour trouver
un jobowner via web

7.5

En tant que Freelancer je 70


souhaite
lancer
une
recherche pour trouver
un projet via Desktop

7.6

En tant que Freelancer je 50


souhaite
lancer
une
recherche pour trouver
un projet via Web

Gestion Projet

Gestion des dpts

7.7

En tant que jobowner je 70


souhaite
lancer
mes
recherches pour trouver
un
Freelancer
Via
Desktop

7.8

En tant que jobowner je 50


souhaite
lancer
mes
recherches pour trouver
un Freelancer Via web

8.1

En tant que jobowner je 70


veux ajouter un projet
Via Desktop

8.2

En tant que jobowner je 50


veux ajouter un projet
Via Web

8.2

En tant que jobowner je 70


veux supprimer un projet
Via Desktop

8.3

En tant que jobowner je 50


veux supprime un projet
Via Web

8.4

En tant que jobowner je 70


veux modifier un projet
Via Desktop

8.5

En tant que jobowner je 50


veux modifier un projet
Via Web

9.1

En tant que freelancer je 70


souhaite dposer mon cv
via Desktop

9.2

En tant que freelancer je 50


souhaite dposer mon cv
via Web

9.3

En tant que freelancer je 70


souhaite dposer
mes
candidatures pour les
projets via Desktop

10

11

12

Gestion des contacts

9.4

En tant que freelancer je 50


souhaite dposer
mes
candidatures pour les
projets Via web

9.5

En tant que freelancer je 50


souhaite
dposer
le
projet final via Web

10.1

En tant que jobowner je 70


souhaite contacter les
freelancer via Desktop

10.2

En tant que jobowner je 50


souhaite contacter les
freelancer via Web

10.3

En tant que jobowner je 70


souhaite contacter les
freelancer via Desktop

10.4

En tant que jobowner je 50


souhaite contacter les
freelancer Via web

Gestion des payements 11.1

En tant que jobowner je 70


souhaite
payer
les
freelancer Via desktop

11.2

En tant que jobowner je 50


souhaite
payer
les
freelancer via Web

12.1

En tant que freelancer je 70


souhaite modifier mon
compte via Desktop

12.2

En tant que freelancer je 50


souhaite modifier mon
compte via Web

12.3

En tant que jobowner je 70


souhaite modifier mon
compte via Desktop

12.4

En tant que jobowner je 50


souhaite modifier mon
compte via Web

Gestion des comptes

12.5

En
tant
que 70
administrateur
je
souhaite
pouvoir
supprimer des comptes
via Desktop

12.6

En
tant
que 50
administrateur
je
souhaite
pouvoir
supprimer des comptes
via Web

12.7

En
tant
administrateurs
souhaite ajouter
comptes
dadministrateurs
Desktop

que 70
je
des

En
tant
administrateurs
souhaite ajouter
comptes
dadministrateurs
Web

que 50
je
des

12.8

via

via

12.9

En tant que freelancer je 70


souhaite dsactiver mon
compte via Desktop

12.10

En tant que freelancer je 50


souhaite dsactiver mon
compte via Web

12.11

En tant que jobowner je 70


souhaite dsactiver mon
compte via Desktop

12.12

En tant que jobowner je 50


souhaite dsactiver mon
compte via Web

12.13

En tant que utilisateur je 70


souhaite accder sur mon
compte via login et mot
de passe via Desktop

12.14

En tant que utilisateur je 50


souhaite accder sur mon
compte via login et mot
de passe via Web

12.15

En tant que freelancer je 70


souhaite minscrire en
local sur via desktop

12.16

En tant que freelancer je 50


souhaite minscrire sur
via web

12.17

En tant que jobowner je 70


souhaite minscrire via
Desktop

12.18

En tant que jobowner je 50


souhaite minscrire sur
via web

Le diagramme de dploiement permet d'illustrer l'architecture physique du systme et de


montrer la relation entre ses diffrentes composantes. Voici le diagramme de dploiement de
notre application.

Maquette :

figure 1.1 reprsente la page dauthentification de lapplication

Figure 1.2 la page daccueil de jobowner

figure 1.3 ajouter un nouveau projet

Figure 1.4 liste des Projets dun jobowner

Figure 1.5 Liste des condidats pour un projet

figure 1.6 reprsente la livraison du projet

Anda mungkin juga menyukai