Академический Документы
Профессиональный Документы
Культура Документы
CURRICULUM VITAE
ETAT CIVIL
25 ans
Masculin
Célibataire
lazatiankasina@gmail.com
0342577462 / 0322217437
ETUDES ET DIPLOMES
Novembre 2014 : Suivis d‘un stage au sein du CISCO Ambalavao sur le thème
Novembre 2013 : Suivis d‘un stage au sein du Centre de Service Agricole Ambalavao sur
2
Aout 2013 : Conception et réalisation d‘une application pour la « GESTION D‘UNE
COMPETENCES
Linguistiques
COMPETENCES
LANGUES compétences lire Ecriture et Communication
rédaction orale
français Très bien Très bien Très bien bien
anglais bien Très-bien bien Assez-bien
Informatiques
DIVERS
3
INTRODUCTION
La deuxième partie contient l‘analyse et la conception du projet. Dans cette partie sont
développées les études effectuées avant la réalisation du projet.
4
REMERCIEMENTS
La contribution à ce mémoire est loin d‘être une tâche facile. De nombreux facteurs sont
mis en jeu sur le plan moral et matériel. Ainsi, c‘est avec un immense plaisir que nous
réservons cette page en témoignage de ma reconnaissance envers tous ceux qui m‘ont aidé à
la réalisation de ce stage.
Veuillez ne pas m‘en vouloir, ceux qui ne seront pas cités ci-dessous pour des raisons
d‘oubli regrettable dont je tiens sincèrement à excuser, je cite donc :
- Madame RASOAZANANERA Marie Monique, présidente de l‘université de
Fianarantsoa ;
- Monsieur ANDRIAZAFIMAHAZO Lahinirina Fridolin, Directeur du Centre
Universitaire de Formation Professionnalisante ;
- Monsieur HAJALALAINA Aimé Richard, Chef du département informatique ;
- Monsieur RABETAFIKA Haja Louis enseignant chercheur qui a accepté
d‘encadrer mes travaux ;
- Monsieur ANDRIANIRINA Mamy Julien qui a accepté d‘encadrer mes travaux et
nous a aidé pour les collectes des données. ;
- Tout le personnel du Centre Universitaire de Formation Professionnalisante;
- Tous les membres de ma famille qui nous ont soutenus moralement et
financièrement;
Que chacun d‘eux reçoive la gratitude qu‘il mérite, pour toutes les aides qu‘ils m‘ont
apportées.
5
AVANT-PROPOS
A ce stade, chaque étudiant effectue un stage en entreprise d‘une durée de quatre mois.
Afin de permettre aux étudiants de confronter leurs acquis théoriques à la réalité du milieu
professionnel. A la fin de ce stage, les étudiants doivent rédiger un livre de mémoire et le
soutenir devant les membres de Jury. Ce présent document décrit les activités effectuées au
sein de la circonscription scolaire d‘Ambalavao.
6
7
8
9
10
11
12
13
14
PARTIE I : DOMAINE D’ETUDE ET DE TRAVAIL
15
Chapitre 1 : PRESENTATION GENERALE DU CUFP
1.1 HISTORIQUE
1.2 PARTENAIRES
16
et MAMA. La société Lazan‘i Betsileo, la société STAR, la société JIRAMA et les réseaux
TIAVO.
1.3.1.2 Stages
17
1.3.1.3 Diplôme
1.3.1.4 Compétences
1.3.2.2 Stages
18
1.3.2.3 Diplôme
1.3.2.4 Compétences
1.3.3.2 Stages
19
1.3.3.3 Diplôme
1.3.3.4 Compétences
- Formulaire de candidature ;
- Une demande manuscrite adressée à Monsieur le Directeur du Centre ;
- Une copie certifiée du diplôme du Baccalauréat ou équivalent ;
- Un bulletin de naissance moins de trois (03) mois ;
- Deux (02) enveloppes timbrées à l‘adresse du candidat (Ar 300) ;
- Une (01) enveloppe timbrée grand format (Ar 500) ;
- Trois (03) photos d‘identité ;
Droit d‘examen : Bordereau de versement d‘Ar 30. 000 au nom du Centre Universitaire de
Formation Professionnalissante de l‘Université de Fianarantsoa au compte BOA N°
12939120007.
20
Le dossier d‘inscription doit parvenir à MONSIEUR LE DIRECTEUR DU CENTRE
UNIVERSITAIRE FORMATION PROFESSIONNALISANTE – BP 1135 – 301 Fianarantsoa
OU À déposer au CENTRE UNIVERSITAIRE DE FORMATION
PROFESSIONNALISANTE - TANAMBAO FIANARANTSOA.
Le test de niveau se déroulera dans les centres examen suivants : Fianarantsoa, Antananarivo,
Manakara, Ambositra et Ihosy. Ainsi, les épreuves à composer sont :
21
1.4.1 Master professionnel en management décisionnel
1.4.1.1 Condition d’accès
1.4.1.3 Objectifs
Les sortants de la mention Management Décisionnel travaillent dans les secteurs privé
et public des différentes régions de Madagascar en tant que chefs de conduite de travaux
d‘enquêtes communautaires, concepteurs de projets, chefs de services ou de bureaux, chefs ou
directeurs d‘entreprises. Parmi ces secteurs où ils occupent des postes en conformité avec leur
formation on peut citer :
22
- Les Communes Urbaines ;
- Les sociétés d‘assurances (Ny Havana, ARO et MAMA) ;
- Les Sociétés Commerciales et industrielles : (Société Lazan‘i Betsileo, Société
JIRAMA, BOA, BNI et BFV-SG).
Enfin, les étudiants obtenus le diplôme de Master en Management Décisionnel sont capables :
1.4.2.3 Objectifs
23
1.4.3 Modalités d’entrée en M1 et en M2
Pour s‘inscrire en Master 1 et en Master 2 en Mention Management Décisionnel (MD) et en
Mention Système d‘Information Géomatique – Télédétection et Décision (SIGTD), les pièces
à fournir sont :
- Formulaire de candidature ;
- Une demande manuscrite adressée à Monsieur le Directeur du Centre ;
- Une copie certifiée du diplôme de Licence et Maitrise ou équivalent ;
- Une copie certifiée des relevés de notes en L1, L2, L3 et M1 ;
- Un curriculum vitae ;
- Une lettre de motivation ;
- Un bulletin de naissance moins de trois (03) mois ;
- Deux (02) enveloppes timbrées à l‘adresse du candidat (Ar 300) ;
- Une (01) enveloppe timbrée grand format (Ar 500) ;
- Trois (03) photos d‘identité ;
Droit d‘examen : Bordereau de versement d‘Ar 30. 000 au nom du Centre Universitaire de
Formation Professionnalisante de l‘Université de Fianarantsoa au compte BOA N°
12939120007.
24
1.5 ORGANIGRAMME DU CUFP
L‘organigramme représente la structure hiérarchisée d‘un établissement de travail. Au
sein du centre, cette hiérarchie est présentée comme suit :
25
Chapitre 2 : PRESENTATION GENERALE DE LA CISCO
AMBALAVAO
2.1 HISTORIQUE
Avant 1972, Ambalavao était encore administrée par la Circonscription Scolaire de
Fianarantsoa. Après 1972, le ministère a opté la politique de la malgachisation et la
déconcentration du ministère était appliquée. Ainsi était créée la ZEB ou Zone de l‘Education
de Base dans chaque District.
L‘année 1975 était la date d‘ouverture de la ZEB d‘Ambalavao. Elle était administré
par un Professeur conseiller pédagogique dénommé Chef ZEB en la personne de
M.RANDRIAMARO Irénée, assisté d‘un secrétaire dans le traitement des affaires courantes
(M. RABENIALA René). Le Chef ZEB était le représentant du chef CISCO(Fianarantsoa)
dans le district. Le bureau de la ZEB siégeait encore à cette époque à l‘EPP d‘Avaramanda.
A partir de 1975, compte tenu de la politique présidentielle un EPP par Fokontany, un CEG
par Commune, la tâche du Chef ZEB s‘avérait plus lourde, il était seconde par un adjoint
administratif en la personne de RAVOAVY Michel, instituteur de la catégorie «B ».
Notons que la dénomination de service avait été changé plusieurs fois à savoir ZEB-COZEB-
CIRESEB, avant de devenir en définitif CISCO.
26
COZEB : Circonscription de la zone d‘Education de Base ;
Au fil des années les attributions de la CISCO s‘alourdissaient au fur et à mesure des
créations de bâtiments scolaires tant du Niveau I, Niveau II, Niveau III, reflet de l‘évolution
de la CISCO n‘ayant auparavant que le CEG d‘Ambohijafy, elle compte actuellement à peu
près un lycée par commune , cette évolution lui procure l‘avantage d‘être choisie comme
CISCO pilote à presque tous les projets obtenus par le ministère (PAM-PRAGAP-APC-
Ecoles Mères)
Chef + un secrétaire
Chef + un adjoint administratif + deux secrétaires
Chef + deux adjoints (administratif et pédagogique) et les secrétaires
Chef + Trois adjoints (administratif, pédagogique et Programmation) et les secrétaires + Chef
ZAP
Chef + Trois adjoints (administratif, pédagogique et Programmation) et les secrétaires + Chef
ZAP + un conseiller pédagogique
Les bureau-logement ne suffisait plus face au nombre du personnel qui faisait fonctionner le
service, la CISCO a dû utiliser l‘ancien bâtiment qui contenait le groupe électrogène qui
alimentait la ville en électricité avant l‘arrivée de la JIRAMA en 1984.
Au temps du Chef CISCO RALAIVAO jeanmuël qui a voulu libérer l‘EPP Avaramanda et
grouper le personnel au même endroit, le troisième bâtiment sis à côté du bureau-logement a
été érigé par le personnel lui-même avec ses propres efforts et moyens.
27
Le quatrième bâtiment servant de salle de matériel informatique n‘a été obtenu qu‘en 2007, ce
qui résulte les quatre bâtiments utilisés par le CISCO jusqu‘à présent.
Au début, le Chef CISCO a été désigné parmi les professeurs conseiller pédagogiques
ayant fait de l‘Institut.
A partir de l‘année 2005, ce poste a fait l‘objet d‘un appel d‘offre lancé par le ministre.
Voici les responsables qui se sont succédé dans la gestion et l‘administration du service selon
la date et la dénomination du service.
28
Adjoint à la programmation : RANDRIANATOANDRO
29
2.2 ORGANIGRAMME DE LA CISCO AMBALAVAO
Comme la hiérarchie des personnels dans toutes les entreprises, sociétés ou
établissement, la figure suivante représente l‘organigramme de la CISCO Ambalavao
30
2.3 CYCLE DES DOSSIERS POUR LA RETRAITE
2.3.2 Retraite
C‘est la cessation définitive des activités professionnelles conformément aux
dispositions réglementaire et législative.
Il existe trois types de retraite qui sont :
- la retraite en cas de limite d‘âge si le personnel atteint l‘âge de 60 ans ;
- la retraite anticipée qu‘on peut distinguer en deux cas : la retraite d‘ancienneté si la
personnel avait accompli 25 ans de service et la retraite proportionnelle pour le
personnel qui avait accompli de 15 ans de service.
31
Tableau 2.3.2.1 : Listes des pièces à fournir
Pour la retraite en cas de limite d’âge Pour la retraite en cas anticipée
- Acte de naissance - Demande avec avis favorable du Chef
- Extrait du dernier arrêté hiérarchique
d‘avancement - Acte de naissance
- Relevé de service (établi par la - Extrait du dernier arrêté
CISCO) d‘avancement
- Souche du bon de caisse ou de l‘avis - Relevé de service (établi par la
de crédit CISCO)
- Souche du bon de caisse ou de l‘avis
de crédit
Ce tableau montre les circuits des dossiers suivants les différents bureaux hiérarchiques.
Tableau 2.3.2.2 : Circuit des dossiers
32
PARTIE II : ANALYSE ET CONCEPTION
33
Chapitre 3 : ANALYSE DE L’EXISTANT
L‘Analyse de l‘existant sert à étudier et à critiquer tout ce qui existe dans l‘entreprise.
Cette étude permet de connaitre tous les problèmes et de proposer des solutions pour
résoudre les problèmes concernant les travaux dans le domaine.
DVD-
Intel Core-i3
PROLINK 4 Go 500 Go LED 17‘‘ R/RW 01
2,00 GHz
Intel Pentium
RAFFLE 4 512 Mo 40 Go CRT 15‘‘ CD-R 01
2,00 GHz
Intel Pentium
DELL 4 256 Mo 20 Go CRT 15‘‘ CD-R 01
2,00 GHz
PC bureau
Intel Pentium
NEC 4 512 Mo 20 Go CRT 15‘‘ CD-R 01
2,00 GHz
Intel Pentium
Max Data 4 256 Mo 20 Go CRT 15‘‘ CD-R 01
1,80 GHz
Intel Pentium
CD-R
CONCEPT 4 512 Mo 40 Go CRT 15‘‘ 01
2,00 GHz
Intel Core-i3 DVD-
PC Portable ACER 4 Go 500 Go LCD 15‘‘ 01
1,80 GHz R/RW
34
Tableau 3.1.1.3 : Caractéristique du switch.
Prolink 100Mbps 08 01
Marque Nombre
PROLINK 01
Désignation Caractéristiques
35
3.1.3 Diagramme de tâches-documents
Ce tableau présente les différentes tâches et les documents qui circulent entre
système et responsable.
36
Tableau 3.1.3.2 : Présentation de « diagramme tâches-documents »
37
3.1.4 Description de tâches-documents
- Documents
Numéro
Numéro document Libellé-rôle
tâche
Informations sur les dossiers: qu‘il s‘agit les
D1 différents dossiers à fournir et le motif. T1, T2 et T3
38
- Tâches
N° Document Document
Description Poste de travail Fréquence
tâche entré sorti
Saisie du personnel :
Enregistrement des informations
concernant les personnels et ainsi
T2 Responsable Par jour D1 -
ses dossiers.
39
- Tous les machines sont connectées en réseau pour faciliter la réalisation de
l‘application Client/serveur ;
40
3.5 ETUDE D’OPPORTUNITE
En utilisant cette application, l‘établissement de la CISCO d‘Ambalavao bénéficie de
quelques fonctionnalités suivant :
41
Chapitre 4 : CONCEPTION
- Le diagramme des cas d‘utilisation : représente les fonctionnalités que le système doit
savoir faire ;
- Le diagramme de classes et le diagramme d‘objets : représente la description statique
des données et des traitements ;
- Le diagramme états-transitions et le diagramme d‘activités : représente les états des
objets selon les événements ;
- Le diagramme de séquence et le diagramme de collaboration : représente les
interactions entre objets ;
- Le diagramme de composants et le diagramme de déploiement : représente la
réalisation et le déploiement.
42
Parmi les neuf diagrammes d‘UML, nous allons nous limiter à quatre de ces diagrammes pour
résoudre les problèmes. Ces quatre diagrammes sont :
Les cas d‘utilisation font apparaître les besoins fonctionnels et leur ensemble
constituant le diagramme de cas d‘utilisation décrit les fonctionnalités complètes du système.
Pour avoir plus de clarté, chaque cas d‘utilisation est suivi de :
- Description textuelle des cas d’utilisation : C‘est la présentation des points
essentiels pour spécifier de façon pertinente un cas d‘utilisation c‘est a dire le
nom du cas d‘utilisation, les acteurs, l‘objectif, le résumé du métier, les prés et post
conditions, les enchainements des actions, ainsi que les exceptions ;
- Les scénarios : Ces scénarios sont décrits sous la forme d‘échange d‘évènements
entre l‘acteur et le système. On distingue le scénario nominal, qui se déroule quand il
n‘y a pas d‘erreur, des scénarii alternatifs qui sont les variantes du scénario nominal et
enfin les scénarii d‘exception qui décrivent les cas d‘erreurs.
.
Figure 4.1.3 : Un acteur
43
- Un cas d’utilisation
Un cas d‘utilisation est une unité cohérente représentant une fonctionnalité visible de
l‘extérieur. Il réalise un service de bout en bout, avec un déclenchement, un
déroulement et une fin. Un cas d‘utilisation se représente par une ellipse contenant le nom du
cas.
44
Figure 4.1.3.1.1 : Ligne de vie
- Les messages
Un message définit une communication particulière entre des lignes de vie. Plusieurs
types de messages existent, les plus courants sont :
- Messages asynchrones
Ces messages n‘attendent pas de réponse et ne bloquent pas l‘émetteur. La figure ci-dessous
montre un message asynchrone.
- Messages synchrones
L‘émetteur reste bloqué le temps que dure l‘invocation de l‘opération. La figure ci-dessous
montre un message synchrone.
45
4.1.3.2 Formalisme du diagramme de séquence
CLASSE
VISIBILITE
- : attribut private
+ : attribut public
46
Les associations
Multiplicité Sens
1 Obligatoire (un et un seul)
0..1 Optionnel (0 ou 1)
0..* ou * Quelconque
n..* Au moins n
n..m Entre n et m
l,n,m l, n, ou m
47
4.1.5.1 Les éléments constitutifs du diagramme d’activités
Un diagramme d‘activité est composé par des nœuds d‘activités comme l‘indique la figure
suivante.
48
4.2 PHASE DES ETUDES DETAILLEES
49
Mnémoniques Définitions Types Obligatoire Longueur
50
Tableau 4.2.2 : Règles de gestion.
Référence Descriptions
Tous les personnels qui demandent de retraite sont tous enregistrés, et possèdent
RG00 une identification unique.
RG01 chaque personnel appartient à un établissement.
RG06 Pour chaque demande, on doit avoir un motif pour cette demande dont elle
possède un identifiant.
Référence Descriptions
RO01 L‘utilisateur doit enregistrer tous les tous les personnels qui font les demandes
de retraite.
RO02 Le chef CISCO doit contrôler tous les dossiers apportés avec la demande.
RO3 Le chef CISCO doit valider les dossiers de demande.
L‘utilisateur de l‘application peut faire les opérations suivant :
RO04 Ajout d‘un enregistrement
Suppression d‘un enregistrement ;
Mise à jour d‘un enregistrement.
51
4.3 MODELISATION
Chaque phase a des entrées et des sorties, qui sont généralement des documents et
parfois des produits. Toute sortie d'une phase servira d'entrée à une phase ultérieure, souvent
celle qui suit immédiatement, mais pas toujours. Certaines activités déployées pendant une
phase lui sont donc spécifiques et d'autres sont destinées à préparer les phases qui suivent.
4.3.2.1 Modèle en V
Le principe de ce modèle est qu'avec toute décomposition doit être décrite la
recomposition, et que toute description d'un composant est accompagnée de tests qui
permettront de s'assurer qu'il correspond à sa description. Ceci rend explicite la préparation
des dernières phases (validation-vérification) par les premières (construction du logiciel), et
permet ainsi d'éviter un écueil bien connu de la spécification du logiciel : énoncer une
propriété qu'il est impossible de vérifier objectivement après la réalisation.
52
Conséquences :
- obligation de concevoir les jeux de test et leurs résultats ;
- réflexion et retour sur la description en cours ;
- meilleure préparation de la branche droite du V.
53
La figure suivante représente le modèle de cycle de vie en V.
Certaines phases portent le nom d'une activité ce qui signifie que l'activité est
essentielle pour cette phase, mais n'impose pas qu'elle n'ait lieu que dans cette étape. D'autres
activités interviennent, par exemple le contrôle technique et la gestion de la configuration sont
présents tout au long du processus.
54
Les développements récents de ce modèle font paraître de la validation - vérification à chaque
étape :
55
2. analyse des risques, évaluation des alternatives et éventuellement maquettage ;
3. développement et vérification de la solution retenue, un modèle « classique » (cascade
ou en V) peut être utilisé ici ;
4. revue des résultats et vérification du cycle suivant.
L'analyse préliminaire est affinée au cours des premiers cycles. Le modèle utilise des
maquettes exploratoires pour guider la phase de conception du cycle suivant. Le dernier cycle
se termine par un processus de développement classique.
56
4.3.3 Etudes comparatives de ces trois modèles
Ce tableau représente les avantages et les inconvénients de ces trois modèles :
57
4.3.4 Gestion du projet
Pour la réalisation de l‘application de gestion des demandes de retraite, nous
utilisons le modelé du cycle en V car sa représentation tient d'avantage à la réalité, le
processus de développement n'est pas réduit à un enchaînement de tâches séquentielles.
Elle montre que:
- c'est en phase de spécification que l'on se préoccupe des procédures de
qualification ;
- c'est en phase de conception globale que l'on se préoccupe des procédures
d'intégration ;
- c'est en phase de conception détaillée que l'on prépare les tests unitaires ;
- Le modèle de cycle de vie en V permet d'anticiper sur les phases ultérieures de
développement du produit. En particulier le modèle en V permet de commencer
plus tôt :
- Le plan de tests de qualification ;
- Le plan d'évaluation des performances ;
58
Le tableau ci-dessous représente le différent outil de conception.
Points Poséidon
-Le niveau logique n‘est pas supporté, la génération du code SQL est plus que limite.
Visual paradigm
Forts -Un grand choix de l‘SGBD est pris en compte, la réactivité et l‘efficacité du support
-Le déplacement des objets et de liens sur un graphique du niveau logique qui n‘est pas
toujours réussi et aussi l‘absence de l‘identifiant de classe et de l‘association n-aire.
faibles
Win‘ design
Forts -C‘est un outil le plus facile à utiliser et son interface est très intuitive.
faibles -Le point faible de la version évaluée concerne la transformation de diagramme UML
complexes en MLD et en MCD. Les problèmes sont connus et en cours de maintenance
59
4.4 REPRESENTATION DU DIAGRAMME DE CAS D’UTILISATION
Pour notre projet, le diagramme de cas d‘utilisation est représenté comme indique la
figure ci-dessous.
Le diagramme de cas d‘utilisation nous montre les cas d‘utilisation, les acteurs, priorité du
cas d‘utilisation, les prés et post conditions, le système et ces fonctions essentielles, la
description des scénarii, Un modèle de description d‘un cas d‘utilisation est de spécifier de
façon pertinente dans ces points essentiels.
- Les cas d‘utilisation : décrit les grandes fonctions du système du point de vue des
acteurs;
- Les acteurs : ce sont des entités qui utilisent le système à représenter ;
60
- Priorité du cas d‘utilisation : pour la gestion du projet ;
- Les prés condition : elles décrivent dans quel état doit être le système (l‘application)
avant que ce cas d‘utilisation puisse être déclenché;
- Post conditions : elles décrivent l‘état du système à l‘issue des déférents scénarii;
- La description des scénarii : Ils sont décrits sous la forme d‘échanges d‘évènements
entre l‘acteur et le système,
Chaque cas d‘utilisation est décrit par une description fonctionnelle et correspond à un
diagramme de séquence.
- Description textuelle
61
- Description des scénarii
Les tableaux ci-dessous présentent les descriptions des scenarii pour le cas d‘utilisation
s‘authentifier.
Scenario nominal
Utilisateur Système
Ouverture 1.1 Ouverture du formulaire accueil
Authentification Saisie authentification
Authentification avec succès
Accès aux formulaires
Scenario alternatif
Utilisateur Système
A : Champ obligatoire vide
Vérification des champs obligatoires
Message qui indique que les champs obligatoires
doivent être remplis
Reprendre au point 1
B : Login ou Mot de passe erronée
Recherche d‘information dans la base
Message d‘erreur pour l‘authentification
Reprendre au point 1.
- Diagramme de séquence
Scénario nominal
62
Figure 4.4.2.1 : Diagramme de séquence « s‘authentifier » (sn)
Scénario alternatif
63
- Le diagramme de classe
- Description textuelle
Le tableau ci-dessous représente la description textuelle pour le cas d‘utilisation « Fournir les
dossiers»
64
- Description des scénarii
Ces tableaux représentent la description des scenarii pour le cas d‘utilisation « Fournir les
dossiers».
Scenario nominal
Personnel Système
2 Prépare les dossiers à déposés 2.2 Vérifier les dossiers déposés
2.3 Vérifier la date de dépôt des dossiers
Rapport d‘état
Scenario alternatif
Personnel Système
2 Prépare les dossiers à déposés 2.2 Vérifier les dossiers déposés
2.3 Vérifier la date de dépôt des dossiers
2.4 Dossier invalide
Reprendre au point 2
- Diagramme de séquence
Scénario nominal
Le scénario nominal de cas d‘utilisation «Fournir les dossiers» est représenté comme indique
la figure ci-dessous.
65
Scénario alternatif
Le scénario alternatif de cas d‘utilisation «Fournir les dossiers » est représenté comme indique
la figure ci-dessous.
- Le diagramme de classe
Le diagramme de classe de cas d‘utilisation «Fournir les dossiers» est représenté comme
indique la figure suivante.
66
4.4.4 Cas d’utilisation «Enregistrement de personnel»
Le tableau ci-dessous décrit le scénario nominal et alternatif du cas d‘utilisation
«Enregistrement de personnel».
- Description textuelle
Scenario nominal
Utilisateur Système
3. Cliquer sur personnel Affichage du formulaire de personnel
3.3 Saisie sur les champs 3.4 Vérification et contrôle champ
3.5 Enregistrement
3.6 Rapport d‘état
Scenario alternatif
Tableau 4.4.4.3 : Description du scenarii alternatif« Enregistrement personnel»
Utilisateur Système
A : Champ obligatoire vide
Contrôle champs
Message d‘information pour les champs vides
Reprendre au point 3.2
B : Personne déjà existée à la base
Enregistrement
Vérification dans la base
Message d‘information que cette personne est déjà
existée
Reprendre au point 3.2
67
- Diagramme de séquence
Scénario nominal
Scénario alternatif
68
- Diagramme d’activité «Enregistrement de personnel»
OK
OK
OK OK
69
- Le diagramme de classe
70
4.4.5 Cas d’utilisation « Enregistrement dossiers »
Le tableau ci-dessous décrit le scénario nominal et alternatif du cas d‘utilisation
« Enregistrement dossiers ».
Scenario nominal
Utilisateur Système
2 Cliquer sur Ajouter 2.1 Affichage du formulaire d‘ajout
Remplissage des champs et Vérifie si les dossiers édités sont complets
Validation du formulaire d‘ajout Contrôle des champs
Contrôle de saisie
Insertion dans la base de données
Rapport d‘état
71
Scenario alternatif
Utilisateur Système
A : Vérification des dossiers
Remplissage des champs Vérifie si les dossiers insères sont exactes
Message qui indique que ce dossier est invalide
Reprendre au point 2.1
B : Dossiers incomplètes
Remplissage des champs 3.2 Vérifie les dossiers manqués
Message qui indique qu‘il y a encore des dossiers
incomplets
Reprendre au point 2.1
- Diagramme de séquence
Scénario nominal
72
Scénario alternatif
73
- Diagramme d’activité «Enregistrement dossiers»
OK
OK
OK OK
74
- Le diagramme de classe
75
4.4.6 Cas d’utilisation « Mise à jour dossiers et personnels »
Le tableau ci-dessous décrit le scénario nominal et alternatif du cas d‘utilisation
«Mise à jour dossiers et personnels».
- Description textuelle
Le tableau ci-dessous représente la description des scenarii pour le cas d‘utilisation «Mise à
jour dossiers et personnels»
Scenario nominal
Utilisateur Système
3 Cliquer sur mise à jour 3.1 Affichage du formulaire mise à jour
Saisie sur les champs à modifier Vérifie pour qu‘il n‘y à pas d‘identifiant identique
puis terminer Contrôle champs
Insertion à la base
Rapport d‘état
76
Scénario alternatif
Tableau 4.4.6.3 : Description des scenarii alternatif «Mise à jour dossiers et personnels»
Utilisateur Système
A : Champ obligatoire non rempli
Contrôle champs
Indique que les champs obligatoires non remplis
Reprendre au point 3.1
B : identifiant identique
4.4 Vérifier les identifiants dans la base
Informe que l‘identifiant est déjà existé dans la base
Reprendre au point 3.1
- Diagramme de séquence
Scénario nominal
Le Scénario nominal de cas d‘utilisation «Mise à jour dossiers et personnels» est représenté
comme indique la figure ci-dessous.
77
Scénario alternatif
Le Scénario nominal de cas d‘utilisation «Mise à jour dossiers et personnels» est représenté
comme indique la figure ci-dessous.
Le Scénario nominal de cas d‘utilisation «Mise à jour dossiers et personnels» est représenté
comme indique la figure suivante.
78
OK
OK
OK OK
- Diagramme de classe
79
Figure 4.4.6.4 : Diagramme de classe «Mise à jour dossiers et personnels»
80
4.4.7 Cas d’utilisation «Envoie dossiers »
Le tableau ci-dessous décrit le scénario nominal et alternatif du cas d‘utilisation
« Envoie dossiers »
- Description textuelle
Tableau 4.4.7.1 : Cas d‘utilisation «Envoie dossiers»
Nom du cas Envoie dossiers
Objectifs Pour trouver les dossiers complets et envoyés
Acteur Principal Responsable
Pré Condition Les dossiers ne sont pas encore envoyés
Post Condition Afficher la liste des dossiers envoyés
Date 12/01/2015
Responsable Laza
Version 1.0
Le tableau suivant représente la description des scenarii pour le cas d‘utilisation «Envoie
dossiers»
Scenario nominal
Scenario alternatif
Tableau 4.4.7.31 : Description de scenarii alternatif « Envoie dossiers»
Utilisateur Système
A : date invalide
6.7 Vérifie la date de début de service par rapport
à la date de dépôt des dossiers.
Informe que c‘est une durée invalide
B : Champs obligatoire non rempli
Contrôle champs
Message qui indique qu‘il y a encore des champs
obligatoires non remplis
Reprendre au point 6.1
81
- Diagramme de séquence
Scénario nominal
Le Scénario nominal de cas d‘utilisation «Envoie dossiers» est représenté comme indique la
figure ci-dessous.
Scénario alternatif
Le Scénario nominal de cas d‘utilisation «Envoie dossiers» est représenté comme indique la
figure suivante.
82
- Diagramme d’activité «Envoie dossiers»
Le Scénario nominal de cas d‘utilisation «Envoie dossiers» est représenté comme indique la
figure suivante.
OK
OK
OK OK
83
- Diagramme de classe
Le diagramme de classe de cas d‘utilisation «Envoie dossiers» est représenté comme indique
la figure suivante.
84
- Description textuelle
Tableau 4.4.8.1 : Cas d‘utilisation «Contrôler dossiers envoyés»
Scenario nominal
Tableau 4.4.8.2 : Description de scenarii nominal « Contrôler dossiers envoyés »
Utilisateur Système
6 Placer le curseur sur le champ 6.1 Effectue la recherche
de recherche et taper le numéro Affichage du résultat de recherche
immatricule
Scenario alternatif
Tableau 4.4.8.3 : Description des scenarii alternatif « Contrôler dossiers envoyés »
Utilisateur Système
Dossiers non trouvé
7.2 Vérifier si les dossiers sont déjà insérés dans la
base
Indique que ce dossier est non trouvé
Message d‘information
85
- Diagramme de séquence
Scénario nominal
Le scénario nominal de cas d‘utilisation «Contrôler dossiers envoyés» est représenté comme
indique la figure ci-dessous.
Scénario alternatif
Le Scénario alternatif de cas d‘utilisation «Contrôler dossiers envoyés» est représenté comme
indique la figure ci-dessous.
86
- Diagramme d’activité « Control Préparation des travaux »
OK
OK
OK OK
87
- Diagramme de classe
88
Voici se présente le diagramme de classe total :
89
PARTIE III : PHASE DE REALISATION
90
Chapitre 5 : LA REALISATION
5.1.1 Définition
Le cœur d‘une application est la base de données proprement dite, mémoire à terme des
informations utilisées par l‘application. C‘est une sorte de classeur informatique qui renferme
des informations structurées de telle façon qu‘il soit facile de s‘y reporter.
91
5.1.3 Utilité
Une base de données permet de mettre des données à la disposition d‘utilisateurs pour une
consultation, une saisie ou bien une mise à jour, tout en s‘assurant des droits accordés à ces
derniers. Une base de donne peut être locale, c'est-à-dire utilisable sur une machine par un
utilisateur, ou bien repartie, c'est-à-dire que les informations sont stockées sur des machines
distantes et accessibles par réseau.
92
5.1.4.2 PostgreSQL
PostgreSQL est un SGBD édité par la société PostgreSQL.
Il donne différents avantages par le fait que :
- Il est « open source » et gratuit ;
- il est facile à utiliser et à administrer ;
- il supporte l‘héritage de tables.
- il est très riche fonctionnellement et possède une multitude de modules ;
- il est fiable et relativement performant, tout en restant simple d'utilisation ;
- il supporte la majorité du standard SQL-92 et possède en plus un certain nombre
d'extensions (Java, Ruby, PL-SQL) ;
5.1.4.3 Oracle
Oracle est un SGBD édité par la société du même nom Oracle Corporation, leader
mondial des bases de données.
Il offre des avantages du faite que :
93
Cependant, Oracle aussi possède certains inconvénients :
- Licence payante
- Complexité à la manipulation
Licence BSD
- Coût nul ;
- Code source disponible ;
- Aucune contrainte de redistribution.
Robustesse
- Sécurité des données ;
- Résistance aux bogues applicatifs.
Souplesse, extensibilité
- Facilité de configuration de PostgreSQL ;
- Montée en puissance et en charge progressive ;
- Gestion des gros volumes de données.
94
5.1.4.4.1 Historique
5.1.4.4.2 Fonctionnalité
Standard SQL ;
Respect complet d‘ACID ;
MVCC (supérieur au verrou de lignes) ;
Intégrité référentielle (clés étrangères) ;
Index fonctionnels et partiels.
95
5.2 LE LANGAGE DE PROGRAMMATION
PHP est aussi un langage interprété côté serveur, sa syntaxe simple (héritée du C et de
PERL), ses fonctions particulièrement adaptées aux applications Web et la documentation
permettent une grande productivité et une rapidité au niveau du développement. PHP est riche
car il dispose d'un grand nombre d'extensions qui lui permettent de couvrir l'essentiel des
besoins relatifs aux applications Web. PHP permet aussi de réutiliser librement des
applications telles que les interfaces de gestion de base de données, des interfaces mail, etc.
PHP s‘allie surtout avec les Open Source ; avec LINUX comme système d‘exploitation,
APACHE comme serveur Web, MySQL comme base de données, le tout forme une entité très
puissante pour un site assez moyen. [4]
L‘inconvénient majeur d‘ASP est qu‘il est une technologie Microsoft, seuls les
serveurs Web Microsoft IIS (Internet Information Server) sous Microsoft Windows NT
Server et PWS (Personal Web Server) sous Windows 95 / 98 supportent ASP, une nécessité à
acheter les licences n‘est pas à exclure pour le système d‘exploitation Microsoft bien que
l‘application serveur soit gratuite. [5]
96
5.2.1.1.3 CGI (Common Gateway Interface)
Les premiers serveurs HTTP ne comportaient pas de programmes pour générer des
réponses de façon dynamiques. Des interfaces étaient utilisées pour appeler d'autres
programmes capables de traduire les requêtes en un contenu exécutable. Le premier standard
utilisé a été CGI, c'est une norme qui définit un mécanisme qui permet au serveur HTTP de
transmettre les informations d'une requête à des programmes externes.
Le langage Perl est le langage le plus utilisé pour écrire des scripts CGI, mais on peut écrire
des langages scripts dans bien d'autres langages.
L'inconvénient de ces scripts est qu'ils sont très gourmand en ressources systèmes. Chaque
scripts utilisent un processus différent ce qui demande beaucoup de mémoire et d'utilisation
processeur. [6]
JSP est une technologie de script exécuté du côté serveur (mieux pour la
sécurité), il est basé sur le langage de programmation Java. Héritant des avantages de Java,
JSP profite de tout ce qu'offre ce langage pour le développement et le déploiement
d'applications. En effet Java est un langage orienté objet fortement typé, permettant
l'encapsulation, le traitement des exceptions et la gestion automatique de la mémoire. JSP est
aussi multiplateforme, si le script marche sur un système d‘exploitation, il fonctionnera
toujours sur un autre type de système ayant le support adéquat. Toutes les applications Web
réalisées en JSP bénéficieront alors de tous ces avantages. [7]
JSP est un langage de script (ou langage interprété) exécuté du côté serveur. Il est utilisé
pour la réalisation d‘application web dynamiques très puissants .C‘est un langage complet, il
permet ainsi de réaliser d‘autres applications serveur tourner sous web grâce à :
Essayons de rassembler ces critères de comparaison dans un tableau, avec une échelle allant
de faible à élever de oui ou non:
Architecture
Non Oui Oui Oui
neutre
JSP peut être combiné avec d‘autres langages de script pour la facilité de
développement et de l‘interaction du fonctionnement de l‘application web.
Le HTML n'est pas un langage de programmation mais c‘est un langage à balises, c'est
un simple fichier texte contenant des balises permettant de mettre en forme le texte, les
images, etc... Le HTML est un système qui formalise l'écriture d'un document avec des balises
98
de formatage indiquant la façon dont doivent être présentés le document et les liens qu'il
établit avec d'autres documents.
Le principe des feuilles de style consiste à regrouper dans un même document des
caractéristiques de mise en forme associées à des groupes d'éléments. Il suffit de définir par
un nom un ensemble de définitions et de caractéristiques de mise en forme, et de l'appeler
pour l'appliquer à un texte. Il est ainsi possible de créer un groupe de titres en police Arial, de
couleur verte et en italique.
Les feuilles de style ont été mises au point afin de compenser les manques du HTML
ce qui concerne la mise en page et la présentation. En effet, le HTML offre un certain nombre
de balises permettant de mettre en page et de définir le style d'un texte, toutefois chaque
élément possède son propre style, indépendamment des éléments qui l'entourent. Grâce aux
feuilles de style, lorsque la charte graphique d'un site composé de plusieurs centaines de pages
web doit être changée, il suffit de modifier la définition des feuilles de style en un seul endroit
pour changer l'apparence du site tout entier. [8]
Elles sont appelées « feuilles de style en cascade » car il est possible d'en définir
plusieurs et que les styles peuvent être hérités en cascade.
- d'obtenir une présentation homogène sur tout un site en faisant appel sur toutes les
pages à une même définition de style ;
- de permettre le changement de l'aspect d'un site complet entier par la seule
modification de quelques lignes ;
- une plus grande lisibilité du HTML, car les styles sont définis à part ;
- des chargements de page plus rapides;
- un positionnement plus rigoureux des éléments.
99
5.2.1.3.3 Javascript
AJAX est basé sur les standards web JavaScript, XML, HTML et CSS. Il utilise le
PHP ou autre langage de script, et peut être fonctionnel du coté serveur .Il permet de modifier
partiellement la page affichée par le navigateur pour la mettre à jour sans avoir à recharger la
page entière.
Traditionnellement, pour obtenir des informations stockées sur le serveur, on a recours
aux méthodes GET ou POST et la réponse du serveur est obtenue toujours sous la forme
d‘une nouvelle page. Ce chargement de page à chaque réponse ralentit considérablement le
fonctionnement de l‘application. Grâce à AJAX, JavaScript peut communiquer directement
avec le serveur à travers l'objet XMLHttpRequest.
Ainsi, une page web peut effectuer une requête HTTP et obtenir une réponse du
serveur sans rechargement de la page entière. Le navigateur du client n'est pas nécessairement
rafraîchi et tout est transparent pour l'utilisateur. [10]
5.2.1.3.5 JQuery
JQuery est un framework JavaScript libre et Open Source, implanté côté client, qui
porte sur l‘interaction entre le DOM, JavaScript, AJAX et le Html. Cette librairie JavaScript a
pour but de simplifier les commandes communes du JavaScript. La bibliothèque jQuery
fournit une couche d‘abstraction générique pour les scripts web. Elle est donc utile pour la
plupart des développements de scripts. Toutefois, les fonctionnalités standard permettent de
répondre aux besoins suivants :
100
- Accéder aux éléments d’un document. Sans l‘aide d‘une bibliothèque
JavaScript, il faut écrire de nombreuses lignes de code pour parcourir
l‘arborescence du DOM (Document Object Model) et localiser des parties
spécifiques de la structure d‘un document HTML. jQuery fournit un mécanisme
de sélection robuste et efficace qui permet de retrouver n‘importe quels éléments
d‘un document afin de les examiner ou de les manipuler.
- Modifier l’aspect d’une page web. CSS propose une solution puissante pour
modifier le rendu des documents, mais elle montre ses limites lorsque les
navigateurs web ne respectent pas les mêmes standards. Avec jQuery, les
développeurs peuvent contourner ce problème en se fondant sur une prise en
charge identique des standards quels que soient les navigateurs. Par ailleurs, la
bibliothèque permet de modifier les classes ou les propriétés de style appliquées à
une partie du document, même après que la page a été affichée.
- Altérer le contenu d’un document. jQuery ne se borne pas à des changements
cosmétiques mais permet de modifier le contenu du document. Du texte peut être
changé, des images peuvent être insérées ou interverties, des listes être
réordonnées, l‘intégralité de la structure du contenu HTML peut être revue et
étendue. Toutes ces possibilités sont permises par une API (Application
Programming Interface) simple d‘emploi.
- Répondre aux actions de l’utilisateur. Même les comportements les plus
élaborés et les plus puissants ne sont d‘aucune utilité si leur exécution n‘est pas
contrôlée. La bibliothèque jQuery propose une solution élégante pour intercepter
une grande variété d‘événements, comme un clic sur un lien, sans avoir à mélanger
des gestionnaires d‘événements au code HTML. De plus, cette API de gestion des
événements permet de passer outre les incohérences des navigateurs, qui
constituent une véritable nuisance pour les développeurs web.
- Animer les modifications d’un document. Pour la bonne mise en œuvre des
comportements interactifs, le concepteur doit également fournir un retour visuel à
l‘utilisateur. La bibliothèque jQuery apporte son aide en proposant des animations,
comme les effets de fondu et de volet, ainsi qu‘une boîte à outils pour en
construire de nouvelles.[11]
101
5.2.1.4 Fonctionnement du JSP
JSP présente de nombreux avantages par rapport aux autres langages de génération de
contenu. Comme il s'agit d'une technologie basée sur Java, JSP profite de tous ce qu'offre ce
langage pour le développement et le déploiement d'applications. En effet Java est un langage
orienté objet fortement typé, permettant l'encapsulation, le traitement des exceptions et la
gestion automatique de la mémoire.
D'autre part, grâce aux API normalisées pour les JSP et à la portabilité du byte code compilé
Java, on n'est pas limité à un seul type de plate-forme, de système d'exploitation. On peut
changer les composants d'une page JSP comme on le souhaite.
De plus, JSP utilise l'ensemble de la plateforme JAVA sous-jacente ; par conséquent, les JSP
peuvent directement tirer avantage de toutes les API Java.
JSP n'est pas rattaché à un éditeur particulier, les développeurs peuvent donc choisir les
solutions de leurs choix.
Lorsque la page est demandée par un utilisateur en HTTP, alors le serveur web HTTP va
transmettre sa requête à un moteur de JSP qui va interpréter le page, compiler le code et
générer la réponse. L'utilisateur ne verra aucune ligne de code Java dans les sources de la
page qu'il aura reçu.
La couche présentation affiche les données. Elle envoie les demandes de l‘utilisateur à la
couche métier pour que ce dernier les traite. Et elle reçoit les résultats renvoyés par la couche
métier et les affiche.
102
5.3.1 La couche métier
Cette couche renferme la logique de l‘application : Elle reçoit et analyse les demandes de
l‘utilisateur, elle retrouve et modifie les données via la couche données et elle renvoie les
résultats à la couche présentation
Le projet Tomcat a été lancé comme implémentation de référence par James Duncan
Davidson architecte logiciel chez Sun. Il a contribué à rendre le projet libre et a joué un rôle
majeur dans sa donation par Sun à la fondation Apache. Davidson aspirait dès le départ à
rendre le projet libre. Comme la plupart des projets libres sont associés à un livre O‘Reilly
avec un animal en couverture, il a souhaité donner un nom d'animal au projet. Il a choisi le
nom Tomcat (litt.matou) car cet animal représentait quelque chose qui peut prendre soin de
lui-même. Son souhait de voir une couverture d'animal s'est finalement concrétisé lorsque
O'Reilly a publié un livre sur Tomcat avec un félin en couverture.
103
5.4.2 Principe de fonctionnement
Tomcat est souvent utilisé en association avec un autre serveur web, en général
Apache. Apache s'occupe de toutes les pages web traditionnelles, et Tomcat uniquement des
pages d'une application web Java. On peut utiliser le module mod jk pour paramétrer la
communication entre Apache et Tomcat. Techniquement, Apache communique avec Tomcat
sur le port 8009 (via le protocole ajp13), mais Tomcat peut aussi être atteint via son propre
port (8080 par défaut).
- bin : Scripts et exécutables pour différentes tâches : démarrage (startup), arrêt, etc. ;
- common : Classes communes que Catalina et les applications Web utilisent ;
- conf : Fichiers de configuration au format XML et les DTD que ces fichiers XML
utilisent ;
- logs : Journaux des applications Web et de Catalina ;
- server : Classes utilisées seulement par Catalina ;
- shared : Classes partagées par toutes les applications Web ;
- webapps : Répertoire contenant les applications web (et les éventuels .war);
- work : Fichiers et répertoires temporaires (le cache).
Le Java Development Kit (JDK) est l'environnement dans lequel le code Java est
compilé pour être transformé en bytecode afin que la machine virtuelle Java (JVM) puisse
l'interpréter. Les composants primaires du JDK sont une sélection d'outils de programmation,
incluant :
104
L'environnement d‘exécution Java fait également partie du JDK.
Le Java Development Kit, communément appelé JDK, est le kit de développement de base
que propose gratuitement la firme Sun Microsystem. Le Kit de développement comprend
plusieurs outils, parmi lesquels :
- java: un interpréteur d'applications (machine virtuelle) ;
- applet viewer: un interpréteur d'applets ;
- javap: un décompilateur, pour revenir du bytecode au code source ;
- jar: un compresseur de classes Java ;
5.4.4 Le compilateur
javac est un compilateur, c'est-à-dire qu'il transforme le code source en bytecode, un
fichier binaire intermédiaire interprétable par la machine virtuelle sur n'importe quelle plate-
forme. javac s'utilise avec la syntaxe suivante :
javac -g nom_du_fichier.java
L'option -g permet tout simplement d'inclure dans le pseudo-code des informations de
débogage afin de pouvoir utiliser le débogueur jdb.
5.4.5 L'interpréteur
L'interpréteur java est une machine virtuelle fonctionnant en mode texte, c'est-à-dire
sans interface graphique. Sa syntaxe est la suivante : javanom_du_fichier.
105
5.5.2 Configuration minimale requise pour le client
Concernant les postes clients (les utilisateurs), la configuration requise est
présentée dans le tableau 5.5.2 suivant :
106
5.5.4 Architecture
5.5.4.1 Architecture logicielle
JSP est un programme Java s'exécutant côté serveur Web. C‘est un programme source
Java embarqué dans une page HTML ce qui le différencie du Servlet. Le Servlet est un
programme "autonome" stocké dans un fichier «. Class » sur le serveur. Servlet et JSP
peuvent s‘exécuter sur tous les serveurs Web (Apache, IIS, ...) auxquels un "moteur" de
servlet/JSP est ajouté, le plus connu est Tomcat. JSP est compilé automatiquement en servlet
par le moteur.
3- Le ficher «.jsp » va être transformé en Servlet puis il sera compilé par la machine
virtuelle Java JVM (Java Virtual Machine) pour avoir un fichier « .class » ;
4- Après compilation, le Servlet renverra un fichier HTML qui sera interprété par le
navigateur de L‘utilisateur. [12]
107
5.5.4.2 Architecture matérielle
La page est totalement au format HTML (ne nécessite pas une interprétation serveur),
elle sera retournée à l‘utilisateur qui l‘apercevra.
La page est dans un format «. jsp » :
- Le serveur envoie la page à un interpréteur qui va exécuter les commandes
inscrites dans les scripts de la page.
- Après compilation, la page est totalement en HTML, elle sera retournée à
l‘utilisateur qui l‘apercevra.
108
5.6 OUTILS DE DEVELOPPEMENT
Donc, la totalité de l‘application a été programmée sur NetBeans, car il nous offre des
nombreuses fonctionnalités, une palette d‘outils complète et performante et un système de
gestion des applications ou des applets efficace. NetBeans combine l‘éditeur de code et
l‘éditeur de mise en page ce qui permet un travail plus rapide et plus productif.
Dreamweaver est un outil à multiples facettes qui permet d‘intervenir sur chacun des
langages qui composent le web. Il est très simple et très souple de pouvoir modifier ou
composer l‘ensemble des documents d‘un site grâce à Dreamweaver CS5.
Dreamweaver 8 nous aide à organiser et à gérer nos fichiers. Il comprend une série de
fonctions permettant de gérer et de transférer des fichiers depuis et vers un serveur distant.
Lorsqu‘on transfère des fichiers entre le site local et le site distant, Dreamweaver conserve la
même structure de fichiers et de dossiers sur les deux sites.
109
Dreamweaver crée automatiquement les dossiers nécessaires s'ils n'existent pas déjà
sur le site de destination.
On peut également synchroniser les fichiers entre le site local et le site distant. Dans ce
cas, il copie les fichiers requis dans les deux sens et supprime, le cas échéant, les fichiers
inutiles.
C‘est pour ces multiples avantages que nous avons décidé de choisir cet outil pour
réaliser notre projet.
110
Chapitre 6 : METRIQUE DE L’APPLICATION
Fichiers 109 6 8 95
Classe 52 2 30 20
Interfaces 10 0 0 10
111
Ces changements ont commencé à faire apparaître des problèmes dans le modèle
original de COCOMO. La solution était de réinventer le modèle pour les années 90.
COCOMO II est né après plusieurs années d‘efforts combinés d'USC (Université de
Californie du sud), d'IRUS- UC, et des organismes partenaires.
Ce nouveau modèle prend en compte les évolutions des techniques de développement
survenues depuis les années 70. Il est aussi prêt pour les évolutions futures.
La méthode COCOMO se base sur une approche algorithmique pour déterminer « l‘effort »
et le « temps de développement » d‘une application.
Elle ne prend pas en compte les activités concernant les phases ne faisant pas partie du cycle
de développement :
Les études de faisabilité ;
La spécification des besoins techniques ;
La validation opérationnelle chez le client ;
L‘exploitation ;
La maintenance.
Son principe est basé sur le nombre de lignes de code en Kilo. Sont prises en compte :
Les instructions et les déclarations de format ou de données effectivement produites
concernant uniquement le logiciel fournit au client ;
Les commandes des différentes procédures. [13]
112
6.3 Qualification du projet
Pour qualifier notre application, il faut vérifier toutes les caractéristiques qui
déterminent la qualité d‘un logiciel, il y a plusieurs caractéristiques qui déterminent cette
qualité de logiciel, mais nous avons ici les dix qui sont les plus importantes, on a :
Validité : aptitude d'un produit logiciel à remplir exactement ses fonctions, définies
par le cahier des charges et les spécifications ;
Fiabilité (ou robustesse) : aptitude d'un produit logiciel à fonctionner dans des
conditions anormales ;
Extensibilité : facilité avec laquelle un logiciel se prête à une modification ou à une
extension des fonctions qui lui sont demandées ;
Réutilisabilité : aptitude d'un logiciel à être réutilisé, en tout ou en partie, dans de
nouvelles applications ;
Compatibilité : facilité avec laquelle un logiciel peut être combiné avec d'autres
logiciels ;
Efficacité : Utilisation optimales des ressources matérielles ;
Portabilité : facilité avec laquelle un logiciel peut être transféré sous différents
environnements matériels et logiciels ;
Vérifiabilité : facilité de préparation des procédures de test ;
Intégrité : aptitude d'un logiciel à protéger son code et ses données contre des accès
non autorisés ;
Facilité d'emploi : facilité d'apprentissage, d'utilisation, de préparation des données,
d'interprétation des erreurs et de rattrapage en cas d'erreur d'utilisation.
113
Chapitre 7 : MISE EN ŒUVRE
- Installation du JDK ;
- Installation du logiciel postegreSQL en utilisant le manuel d‘installation ;
- Copie de tous les dossiers contenant les fichiers l‘application ;
- Importation du fichier « .sql » en utilisant le manuel d‘utilisation de l‘application.
7.3Fonctionnalité de l’application
114
7.4 Les Menu de l’application
- Le menu personnels, dossiers et responsables
Dans chaque menu, on a la possibilité de faire l‘insertion, puis après enregistrement on
aperçue les listes et dans laquelle on peut les mettre à jour, l‘imprimer et supprimer des
données.
- Le menu rapport
On peut donc contrôler les rapports des dossiers envoyé. Lister et imprimer tous les dossiers
envoyés.
- Menu recherche avancé
On peut faire une recherche à partir d‘une date, des dossiers.
- Statistique
Chaque statistique est présentée par une fourchette de date de chaque année. Chaque tableau
sera représenté graphiquement sous forme de diagramme.
Voici la liste des différentes statistiques à générer :
Concernant le taux de retraite limite d‘âge chaque année ;
Concernant le taux de retraite anticipé chaque année ;
- Authentification
Pour assurer sa sécurité, l‘application est protégée par une authentification à son ouverture.
Paramétrage :
Les utilisateurs sont catégorisés selon les services exerçant sur l‘application. Leurs
droits sont modifiables selon le choix de l‘administrateur ;
L‘utilisateur admet le droit d‘autoriser, de modifier ou de supprimer un droit d‘un
autre utilisateur ;
La suppression d‘une entité est validée par une fenêtre de confirmation ;
L‘utilisateur doit d‘abord entrer son login et son mot de passe avant d‘utiliser le
logiciel ;
Cet écran permet aux utilisateurs de cette application d‘introduire le login et son mot de passe.
115
Chapitre 8 : DEROULEMENT DE REALISATION DU SYSTEME
Développement de Modification et
Décembre l ‗authentification décoration de
Création des divers formulaires
2014 des administrateurs l‘interface
Janvier
Codage sur les divers formulaires
2015
Test final et
Test de chaque modification du code
Février Codage sur les divers formulaires
partie en fonction des
2015
problèmes rencontrés
Présentation finale
Mars
au service
2014
[14]
116
Quelque part de certaines tâches que nous avons effectué occupe plus de temps que
prévu comme la modélisation et l‘analyse du problème ainsi que la programmation des
interfaces.
Comme ce que le tableau précédemment a démontré, nous avons créé la base dans la
troisième et quatrième semaine (Après l‘étude de l‘existant et l‘analyse des besoins). La
première chose que nous avons fait c‘est de déterminer tous les entités, puis nous avons fait
les liaisons sur les différentes entités qui se correspondent.
Chaque modèle crée était exporté en script de création SQL avec Visual Paradigm. Un
fichier au format SQL contenant les requêtes de création des tables d‘une base de données est
généré par l‘outil. Il ne reste plus qu‘à exécuter ce fichier dans l‘interface d‘administrateur
pgAdmin de PostgreSQL.
Lors de l‘exécution du script, tous les objets du modèle (les entités, associations)
étaient créés sans aucun problème ; les clés primaires et clés étrangères étaient toutes
présentes. Le script généré par Visual Paradigm convenait à PostgreSQL. Ce qui fait
l‘avantage de Visual Paradigm par rapport aux autres outils de création de base de données.
117
8.3.3 Création des requêtes
Les requêtes SQL permettent d‘accomplir une action sur les bases de données comme
la sélection d‘informations, la création de tables, l‘ajout, la suppression et la modification des
informations.
Par exemple : Requêtes SQL permettant d‘insérer et supprimer un enregistrement dans la base
de données.
Les fonctions sont la base d‘une programmation claire et efficace. Une sorte de
sous-programme isolé du reste du code. Elle peut être exécutée à tout moment, depuis
n‘importe quelle partie du code principal ou n‘importe quelle autre fonctions, par simple
appel et en incluant le nom de fichier contenant la fonction. Le principal avantage des
fonctions est le non répétition de la même séquence de code. L‘utilisation des fonctions
permet ainsi le gain de productivité, la meilleure lisibilité du code, et une maintenance facile.
Il doit être facile à comprendre et facile à utiliser alors une forme générale a été
adoptée pour tous les formulaires. Cette forme sera divisée en trois parties : L‘entête et le pied
de page, les rubriques et le contenu de la page.
118
L‘entête de page sera constitué d‘une bannière avec le logo du service et les différents
pavés dépendant du contenu du site, l‘identification du site sera inscrite en haut de la page.
Les rubriques seront placées sur la partie gauche et droite de la page tandis que le contenu
sera au milieu.
8.4.2 Fonctionnalités
La fonctionnalité de base de toute IHM est de permettre une interaction entre les
utilisateurs de l‘application et le système interactif. La population visée par cette application
est large et son niveau présupposé en informatique est basique.
Agréable esthétiquement ;
De prise en main rapide ;
Intuitive ;
A l‘ergonomie classique c‘est à dire non déroutante.
De même, il est absolument inenvisageable de considérer une IHM qui ne permettrait
pas le contrôle total de l‘application : données, paramètres,…etc.
119
8.4.2 Quelques captures d’interface
Les figures suivantes représentent le choix que nous avons adopté pour les formulaires
pour la mise en place des éléments de contrôle de notre IHM.
Le menu vertical à gauche permet de contrôler les personnels et ses dossiers et ainsi le
menu horizontal en haut pour les besoins de menus particuliers comme recherche avancée.
120
La figure suivante représente le formulaire de saisie du personnel. Tous les champs
sont obligatoirement à remplir.
121
CONCLUSION
Pour conclure, durant cette 4 mois de stage au sein de la CISCO Ambalavao, grâce
aux interviews pour le regroupement des informations, nous avons pu faire cette rapport et
ainsi programmé un logiciel pour la gestion de la demande de retraite afin de mieux gérer
cette demande sans complication ni difficulté surtout la gestion des dossiers et la recherche.
En fait, l‘utilisation de ce logiciel fournit d‘avantage pour la CISCO Ambalavao grâce à son
efficacité et sécurité.
Personnellement, ce stage m‘a permis de mettre en pratique et d‘approfondir les
connaissances reçues au CUFP notamment en programmation, base de données et surtout en
conduite de projet. Il m‘a confronté une nouvelle fois au monde du travail et m‘a permis
d‘intégrer auprès d‘une équipe pluridisciplinaire. Le fait d‘être intégré dans une équipe
dirigeante au sein de ce service m‘a permis de mieux comprendre les objectifs et les moyens
mis en œuvre pour réaliser un projet, en fonction de divers paramètres, aussi bien humains,
qu‘administratifs.
122
LISTE DES ANNEXES
123
DEPLOIEMENT ET INSTALLATION DE L’APPLICATION
Les programmes à installer reposent sur une base, un support qu‘on appelle aussi
plate-forme. Dans le cas de la JSP, la plate-forme Java est obligatoire.
Dans le cas, la plate-forme adéquate est le J2EE (Java 2 Platform, Enterprise Edition),
Java version entreprise.
De notre projet, nous avons choisi la dernière version stable de Java, version standard,
jdk 1.8.0_11-windows-i586, téléchargeable sur le site officiel de Sun Microsystems
(http://java.sun.com/j2se/1.4.1/download.html.
L‘installation est assez simple car il suffit de suivre les instructions une par une.
124
Pour reconnaître cette plate-forme sur tout le système, il faut configurer les variables
d‘environnement. Dans le cas de Windows, il faut y aller dans l‘option « Propriété » du Poste
de travail puis dans l‘onglet « Avancé » pour trouver le bouton « Variable d‘environnement ».
A la variable PATH, la valeur [C:\Program Files\Java\jdk1.8.0_11\bin] est ajoutée, la valeur à
ajouter par défaut est [C:\Program Files\Java\jdk1.8.0_11\bin].
La plate-forme Java est prête à l‘emploi, l‘étape suivante est l‘installation du serveur Web.
125
Le répertoire qui peut contenir les scripts JSP est le répertoire « webapps » dans
C:\Program Files\Apache Software Foundation\Apache Tomcat\webapps.
Le serveur Web peut contenir maintenant notre site Web mais pour rendre ce site
dynamique, l‘utilisation d‘un Système de Gestion de Base de Données (SGBD) est
appropriée.
PostgreSQL est téléchargeable, en fichier zip, sur son site officiel et la dernière version
stable a été PostgreSQL-8.4.4 win.zip.
L‘installation est assez simple. On décompresse le fichier zip à l‘aide d‘un utilitaire comme
Winzip ou WinRAR dans le répertoire voulu et on lance le fichier « Setup.exe » et suivre les
instructions (Choisir le nom d‘utilisateur, mot de passe, le répertoire d‘installation…). Le
répertoire d‘installation choisi pour PostgreSQL a été le répertoire par défaut [C:\Program
Files\PostgreSQL].
126
Une fois l‘installation terminée, On peut insérer notre base portant le nom :
« base_site_srat » dans le PostgreSQL. Grâce à l‘existence de cette base, les données
pourront être stockées dans des tables spécifiques à une application donnée. Cependant
PostgreSQL ne peut pas encore interagir avec les interfaces du site dans le serveur web
Tomcat. Pour se connecter donc à une base de données, Java utilise le pilote JDBC (Java
DataBase Connectivity).
JDBC est une API qui permet l‘exécution des expressions SQL, et qui permet aussi
d‘accéder à des bases de données en utilisant le langage Java. JDBC rend l‘accès facile à
n‘importe quelle base de données, autrement dit, il offre la possibilité d‘accès à une base SQL
notamment MySQL, Oracle, PostgreSQL et tant d‘autres.
JDBC inclut des classes pour des constructions de bases de données classiques, telles
que les connexions de base de données, les instructions SQL et les jeux de résultats. La
technologie JDBC nécessite par ailleurs un pilote (driver) pour chaque type de base de
données. Dans le cas de notre SGBD, le pilote JDBC employé est le « PostegreSQL JDBC
Driver » intégrant déjà dans Netbeans. On a juste inséré ce pilote dans le dossier «Libraries »
de notre projet et on peut y accéder dans toutes les bases dans PostgreSQL.
127
GLOSSAIRES
Administrateur : Un administrateur est une personne qui possède les pleins pouvoirs sur un
système donné.
Base de Données : C‘est un ensemble de données organisées de telle manière qu‘on puisse
les exploiter.
Cahier des charges : C‘est un document décrivant le plus explicitement possible le contenu
de la prestation et de la fourniture attendue et des éventuelles contraintes concernant les
conditions techniques de développement, d‘exploitation et de qualité.
Cycle de vie : C‘est la suite des étapes nécessaires au développement et à la mise au d‘une
application. Il comporte successivement : l‘expression de la faisabilité des besoins, la
conception préliminaire du système, les spécifications fonctionnelles du système, la
conception préliminaire de l‘application, la conception détaillée du logiciel, le codage de
l‘application…etc.
DOM ou Document Object Model : Modèle Objet de description de document spécifié par le
World Wide Web Consortium (W3C) et permettent d‘accéder au contenu de documents Html
et XML.
128
Internet : Réseau mondial associant des ressources de télécommunication et des ordinateurs
destiné à l‘échange de messages électroniques, d‘informations multimédias et des fichiers.
JavaScript : Langage de script développé par Netscape et initialement baptisé Livescript, qui
s‘exécute dans les pages HTML côté client. Il permet d‘interagir avec les composants
normalement statiques d‘une page HTML.
JAVA : Langage de développement, produit par la société Sun et lancé le 23 mai 1995 et écrit
par James Gosling, pour créer des applications autonomes et de doter les documents HTML
de nouvelles fonctionnalités : animations interactives, modèles 3D.
Logiciel : C‘est un ensemble d‘éléments informatiques qui permet d‘assurer une tâche ou une
fonction bien précise (exemple : Logiciel de comptabilité, Logiciel de gestion des prêts).
Open source : L‘expression Open Source caractérise les logiciels dont le code source est
visible, modifiable et librement redistribuable sous certaines conditions, ces conditions
pouvant être plus ou moins strictes.
TOMCAT : Tomcat est un serveur web Java pour permettre de supporter la technologie JSP.
129
REFERENCES WEBOGRAPHIQUES ET
BIBLIOGRAPHIQUES
Référence webographique
1. Sur le langage JSP, HTML, CSS, JQuery, Ajax
Ces sites sont très complets et bien structuré. Un site de base aussi bien pour les
professionnels que pour les néophytes.
http://www.javafr.com/
http://www.codes-sources.com/
http://www.w3.org
http://www.developpez.com
www.ccim.be/ccim328/js/index.htm
http://uml.free.fr/cours
http://ego.developper.com/uml/tutoriel/casUtilisation
http://www.openweb.eu.org
Site expliquant comment utiliser le langage HTML ainsi que le XHTML et le CSS. Le
contenu est utile mais surtout à réserver aux expert en programmation web.
http://mammouthaland.free.fr/cours/css/index.php
Site généraliste possédant un espace dédié à l‘explication de l‘utilisation des feuilles de style
CSS. Explication complètes, bien structurées et faciles d‘accès.
http://www.siteduzero.com
Site spécialisé dans l‘explication du langage JSP ou PHP ou ASP ou autre langage de
programmation aux débutant. Contient cependant des informations complexes comme la
création d‘un HT Access sur son site. Très bien réalisé, explications simples et concises.
http://www.tutorialspoint.com/index.html
Site expliquant plusieurs fonctionnalités et script JSP telles que les fonctions date (), mail (),
etc.… Le site contient également des espaces dédiés aux langages ASP, PERL, CSS, HTML,
JavaScript… Très bien conçu mais mériterait plus d‘explications des fonctions.
130
2. Sur le SGBD PostgreSQL
ftp://ftp.postgresql.org
Référence bibliographiques
[1] Encyclopédie comment ça marche ;
[4] Damien Seguy 1997 1998 1999 2000 PHP Documentation Group.
[5] Active Server Pages Source. Contributeurs: Abrahami, Alecs.y, AlexKarpman, Alno,
Alternax82, Athymik, Auxerroisdu68, Badmood.
[10] commentcamarche.
[12] Support de cours JSP de Monsieur HAJALALAINA Aimé Richard 2013 -2014;
[14] Support de cours système conduits de projet de Monsieur Bakari Maëcha 2013 – 2014 ;
131
132
133
134
135
136
137
RESUME DU STAGE
Notre stage s'est déroulé le mois de Novembre 2014 et s‘est mise à terme jusqu‘au
mois de Février 2015 au sein du CISCO Ambalavao. Le sujet du stage qu‘on nous a confié est
la « Conception et réalisation d‘une application pour la gestion des demandes de retraite»
dans le cas de la CISCO Ambalavao. Ce sujet a été donné par Monsieur
RASOLOVOAHANGY Andrianantenaina, Chef circonscription scolaire d‘Ambalavao. Le
but du projet est de « géré automatiquement les demandes de retraite des personnels au sein
du CISCO Ambalavao et visualisé les personnels qui vont à la retraite de chaque année ».
Pour la création cette application, nous avons effectué une analyse approfondie sur le sujet en
utilisant le langage de modélisation UML pour la conception car nous avons utilisé la théorie
orientée objet pour ce travail. La réalisation a été développée en JSP (Java Server Pages) et un
système de gestion de base de données PostgreSQL.
ABSTRACT
My training course proceeded November 2014 and will be spread out until February
2015 within the CISCO of Ambalavao. The subject of the training course that one entrusted
to me is ―demand retirement control‖ for the CISCO of Ambalavao. This subject was given
by Mr. RASOLOVOAHANGY Andrianantenaina, Chef CISCO of Ambalavao. The goal of
the project is ―automatically control of personal retirement demand every year―. For the
creation of this application, we had to carry out a thorough analysis of the subject by using the
language of modeling UML for the design because we used the directed theory object for this
work. The realization was developed in JSP (Java Server Pages) and a data base management
system PostgreSQL was used.
138