Ecole National Supérieur d'Ingénieur à Tunis
لجمهورية التونسيةا
وزارة التعليم العالي والبحث العلمي جامعة تونس
بتونّس للمهندسين العليّا الوطنيّةالمدرسة
Département de Mathématiques Appliqués et modélisation النمّذجة و التّطبيقيّة ريّاضيّاتهندسة ال قسم
Rapport de stage Ouvrier
1ère année génie Mathématiques appliquées et
Modélisation
Réalisation d’un application J2EE
Elaboré par :
Haroun SMIDA
Encadré par :
Mr Chokri MHADHBI
Entreprise d’accueil :
1
Remerciement
Au terme de ce stage, je tiens à exprimer mes profondes
gratitudes à mon encadreur Monsieur Chokri MHADHBI,
pour son soutien, ses directives objectives aussi pour son
engagement à m’aider et son encadrement judicieux dans le
cadre de ce stage.
Avant de commencer, j’aimerai exprimer mes vifs
remerciements et gratitudes les plus distinguées à tous qui
m’ont aidé à effectuer ce stage dans les meilleures
conditions, qui m’ont encouragé par leurs conseils précieux,
qui m’ont offert les divers es documentations efficaces et
nécessaires pour ma formation.
Enfin, je remercie mes professeurs et ceux qui ont
participés de près ou de loin dans la mise en œuvre de ce
programme de formation professionnel.
2
Table des matières
TABLE DES FIGURES ...................................................................................................................................................................... 4
PRESENTATION DE LA SOCIETE : .............................................................................................................................................. 5
1. DIRECTION GENERALE : ................................................................................................................................................................ 6 a. Service Comptabilité :........................................................................................................................................................ 6 b. Service du Personnel : ....................................................................................................................................................... 6
2. DIRECTION COMMERCIALE : ......................................................................................................................................................... 6 a. Service professionnel : ...................................................................................................................................................... 6 b. Service après-vente : .......................................................................................................................................................... 6
DIRECTION INDUSTRIELLE : ....................................................................................................................................................... 7
1. SERVICE QUALITE ET FORMATION : ............................................................................................................................................. 7 2. SERVICE PRODUCTION : ................................................................................................................................................................. 8 3. SERVICE METHODE : ...................................................................................................................................................................... 8 4. SERVICE TECHNIQUE ET MAINTENANCE : ................................................................................................................................... 9
a. Service technique : .............................................................................................................................................................. 9 b. Service maintenance :........................................................................................................................................................ 9
5. RESOURCE HUMAINE : ................................................................................................................................................................ 10 6. SERVICE GESTION DE PRODUCTION : ....................................................................................................................................... 10
a. Service Logistique : .......................................................................................................................................................... 10 b. Magasin : .............................................................................................................................................................................. 10
ACTIVITE DU DEPARTEMENT INDUSTRIEL : ..................................................................................................................... 11
1. PROCESSUS D’INSERTION AUTOMATIQUE : ............................................................................................................................. 11 a. Service d’insertion Axiale : ........................................................................................................................................... 11 b. Service insertion radiale : ............................................................................................................................................. 13 c. Service insertion CMS : (composants montés en surface) ............................................................................. 15
2. INSERTION MANUELLE : ............................................................................................................................................................. 18 3. CHAINE TV ................................................................................................................................................................................... 19 4. CHAINE EXPORT .......................................................................................................................................................................... 19 5. CHAINE FINAL .............................................................................................................................................................................. 21
PRESENTATION DU PROJET : ‘GEST_COMP’ ........................................................................................................................ 23
1. PRESENTATION DE L’APPLICATION : ........................................................................................................................................ 23 2. FONCTIONNALITES ...................................................................................................................................................................... 23 3. EXIGENCES .................................................................................................................................................................................... 23 4. SPECIFICATIONS .......................................................................................................................................................................... 23
a. Gestion du personnel ...................................................................................................................................................... 24 b. Gestion des compétences .............................................................................................................................................. 24 c. Gestion des polyvalences .............................................................................................................................................. 24 d. Gestion des évaluations ................................................................................................................................................. 24
CONCEPTION ET REALISATION .............................................................................................................................................. 25
1. CONCEPTION ................................................................................................................................................................................ 25 2. MODELISATION UML ................................................................................................................................................................. 25 3. CAHIER DE CHARGES FONCTIONNEL ......................................................................................................................................... 25 4. SPECIFICATION TECHNIQUES ..................................................................................................................................................... 27
3
5. REALISATION ............................................................................................................................................................................... 27 a. Plateforme de travail ...................................................................................................................................................... 27 b. Architecture de l’application ....................................................................................................................................... 27 c. Environnement de développement .......................................................................................................................... 31
BIBLIOGRAPHIE ............................................................................................................................................................................ 33
LEXIQUE .......................................................................................................................................................................................... 34
4
Table des figures
FIGURE 1 :ORGANIGRAMME DE LA SOCIETE .............................................................................................................................................. 7 FIGURE 2: PROCESSUS D’INSERTION AUTOMATIQUE ............................................................................................................................. 11 FIGURE 3 :SEQUENCEUR ............................................................................................................................................................................ 12 FIGURE 4 : VCD ........................................................................................................................................................................................... 12 FIGURE 5 : MACHINE RADIALE .................................................................................................................................................................. 14 FIGURE 6 : VUE ARRIERE D’UNE MACHINE RADIALE ............................................................................................................................. 15 FIGURE 7 : TETE D’UNE MACHINE RADIALE ............................................................................................................................................ 15 FIGURE 8 : LES ETAPES DE SERVICE CMS ............................................................................................................................................... 16 FIGURE 9: DEK 256 HORIZON .................................................................................................................................................................. 17 FIGURE 10: LA MACHINE DE POSE SIEMENS ........................................................................................................................................... 17 FIGURE 11: LE FOUR .................................................................................................................................................................................. 18 FIGURE 12: TEST FINAL DES TELEVISEURS ............................................................................................................................................. 19 FIGURE 13: TESTEUR TAKAYA .............................................................................................................................................................. 20 FIGURE 14: RACK FONCTIONNEL ............................................................................................................................................................. 20 FIGURE 15: EQUIPE CONTROLE QUALITE ................................................................................................................................................ 21 FIGURE 16: CHAINE FINALE ...................................................................................................................................................................... 22 FIGURE 17: DIAGRAMME DE CAS D'UTILISATION .................................................................................................................................. 26 FIGURE 18: ARCHITECTURE LOGICIELLE CIBLE ..................................................................................................................................... 27 FIGURE 19: GWT LOGO ............................................................................................................................................................................ 28 FIGURE 20: NETBEANS LOGO ................................................................................................................................................................... 31 FIGURE 21: POWERAMC LOGO ............................................................................................................................................................... 31 FIGURE 22: APACHE TOMCAT LOGO ....................................................................................................................................................... 31 FIGURE 23: MYSQL LOGO ........................................................................................................................................................................ 32
5
Présentation de la société :
La compagnie Tunisienne d’Electronique EL_ATHIR a été créée en 1965, son siège
social se situe au 27 avenue Khair-Eddine Pacha Tunis dans un local de 200 m2, dont
l’effectif est de 320 employés et son premier responsable est madame Sonia Allani,
EL_ATHIR a une capitale de 18821754 DT.
Il s’agit d’une entreprise privée qui a commencé par la production des transistors sous
l’égide de la marque THOMSON. Puis, en 1968, elle a poursuivi ce partenariat avec les
téléviseurs noir et blanc. Et depuis 1974, elle a commencé à produire les téléviseurs
couleurs.
Depuis, l’entreprise a développé ses activités, s’est étendue couvrant aujourd’hui
plus de 14000m2 et son effectif s’est agrandi jusqu’à compter plus de 800 employés.
Actuellement, l’entreprise s’est vue contrainte de réduire son effectif a 300 employés à
cause de récents évènements géopolitiques qui ont affecté l’économie tunisienne.
Raison sociale Compagnie Tunisienne de l’électronique « EL-
ATHIR »
Forme juridique Société anonyme
Fondateur Mme. Sonia ALLANI
Téléphone (+216) 71 904 133
Fax (+216) 71 908 782
Nationalité Tunisienne
Certification ISO 9001 V 2008
Activités de son département industriel
Téléviseurs couleurs et autre produit
électroniques destinés au grand public
Cartes électroniques en sous-traitance
LCD Samsung
LCD SABA (Vestel)
6
Principaux clients
• SAMSUNG
• SESSY
• BOUYER
• SABA
1. Direction générale :
a. Service Comptabilité :
Tenir la comptabilité.
Passer les écritures comptables.
Elaborer le bilan annuel.
b. Service du Personnel :
Recruter et gérer le personnel
Gérer la paie et les déclarations sociales.
Assurer les relations avec les partenaires sociaux.
Gérer le plan de formation du personnel.
Assurer la communication interne et externe
Gérer les opérations de prévention et de santé.
2. Direction commerciale :
a. Service professionnel :
Installer des produits vendus par la société.
Préparer les vidéos, les caméras, récepteurs, appareils de mesure
b. Service après-vente :
Réparer les téléviseurs uniquement produits par la maison.
7
Direction industrielle :
Gérer les ressources humaines et matérielles du Département Industriel
Assumer la responsabilité des résultats industriels, des résultats qualité et de la
sécurité du personnel du Département Industriel
Coordonner les décisions inter services du Département Industriel
Assurer la liaison entre la Direction Générale et le Département Industriel
Proposer et négocier la politique industriel et les objectifs généraux avec la
direction générale.
1. Service qualité et formation :
Gestion du système de management de la qualité :
Participer à la sensibilisation du personnel par l’affichage des résultats qualité et
par les actions d’amélioration.
Direction Industrielle
Service qualité et formation
Qualité
de produit
Système
qualité
nt
Service production
Insertion
automatique
Insertion
manuelle
Service méthode
Service technique et maintenance
Service maintenance
Service
technique
Ressource
humaine
Service gestion de production
Magazin MP
Service
logistique
Agent qualité fournisseur
Figure 1 :Organigramme de la société
8
Traitement des réclamations clients et mise en place des plans d’actions
efficaces.
Agent qualité fournisseur(AQF) :
Traitement et suivi des incidentes qualités fournisseur.
Veiller à la collecte et la saisie des résultats qualité des différents points de
contrôle qualité.
Assurer le suivi des dossiers de non-conformité.
Qualité produit :
Validation des nomenclatures.
Validation de process de fabrication des produits.
Réalisation et suivi du test long duré.
Un travail qui a rapporté à l’entreprise la marque de l'ISO 9001 version 2008.
2. Service production :
Fabriquer les produits conformément aux plannings, aux plans de contrôle, aux
dossiers de fabrication et aux consignes d’Assurances Qualité
Organiser le flux de production
Gérer la capacité de production (ordonnancement)
Définir les gammes et les dossiers de fabrication (méthodes)
Suivre et améliorer la fluidité
Animer le personnel dans le but de le faire participer à une amélioration continue
de la qualité des produits.
3. Service méthode :
Contrôler et valider les nomenclatures internes CTE.
Les nomenclatures servent pour l'approvisionnement ainsi que la programmation
des machines. Quant aux fiches d'instructions, elles donnent à chaque poste en détails
les opérations à effectuer jusqu'à l'évacuation au poste suivant tout en respectant les
règles de sécurité et de qualité.
9
Etablir, gérer et mettre à jour les dossiers de fabrication des produits.
Travailler sur l’amélioration des procédés et des processus de fabrication et des
moyens de production.
Assurer la coordination entre les services (production, qualité, technique).
Etablir les cahiers de charge CTE des produits à commander.
4. Service technique et maintenance :
a. Service technique :
Fournir l’assistance à la production et aux différents autres services du
département
Etudier et réaliser les équipements de test, de réglages et de contrôle
Gérer la maintenance de ces équipements
Mettre en place les méthodes de réglage des produits en fabrication conformément
à leur dossier technique
Former selon besoin des opérateurs travaillant sur les équipements de test, de
réglage et de contrôle
Assurer l’analyse de défaillance des produits
Gérer la fonction métrologique
b. Service maintenance :
Mettre en œuvre la politique de la maintenance définie par la direction de
l’entreprise
Définir des stratégies les mieux adaptées pour atteindre le rendement maximal
des systèmes de production
Maintenance préventive et corrective de tous les systèmes
Travaux d’installation et de mise en route de matériels neufs
Travaux directement liés aux conditions de travail :
Sécurité, hygiène, environnement, pollution, etc.
Amélioration, reconstruction et modernisation des installations
Gestion des pièces de rechange, des outillages et des moyens de transport et de
manutention
10
5. Resource humaine :
Recruter et gérer administrativement le personnel.
Gérer la paie et les déclarations sociales.
Assurer les relations avec les partenaires sociaux.
Assurer la communication interne et externe.
Gérer les opérations de prévention et de santé.
6. Service Gestion de production :
Gérer et mettre à jour les nomenclatures des produits.
Gestion et suivi de la capacité de production.
Planification et suivi de la réalisation de la production.
Contrôle et suivi de la facturation Export.
a. Service Logistique :
Approvisionner les composants nécessaires à la fabrication des produits destinés
au marché national tunisien
Assurer le transport et les formalités douanières
Réceptionner, stocker et gérer les matières premières
Gérer les magasins Produits Finis de la Sous-traitance.
Sélectionner les fournisseurs (du marché national tunisien)
b. Magasin :
Stockage et gestion des matières premiers nécessaires à la production.
Colisage de fournisseur
Utilisation de Logiciel GPAO
System FIFO (first in first out)
Coordination avec magasins extérieurs (dépôt Ben Arous).
11
Activité du département industriel :
1. Processus d’insertion automatique :
La figure ci-dessous montre le processus d’insertion des ateliers automatique :
Figure 2: Processus d’insertion automatique
a. Service d’insertion Axiale :
C’est la première étape de la production. Cette partie du service est spécialisée dans
l’insertion des composants électroniques couchés sur des cartes imprimées vierge :
Diodes, Résistances, Straps (fil métalliques conductrices) ; etc.…. Suivant la nomenclature
réalisée par le service méthode.
Séquenceur :
C’est une machine qui sert à réaliser des séquences identiques d’une sélection bien
déterminée de composantes électroniques sous forme d’une bobine qui sera ensuite
utilisé par le VCD pour insérer les composantes dans les plaques électroniques.
Insertion automatique
Atelier 1
Radiale
Axiale
Atelier 2
CMS
12
VCD : VCD (Variable Center Distance) :
Le VCD est la machine qui récupère les séquences réalisées par le séquenceur et les
insèrent automatiquement dans la carte électronique.
Figure 4 : VCD
Figure 3 :Séquenceur
13
VCD - SEQUENCEUR :
C’est une machine qui récupère de la matière première c’est à dire les composantes
électroniques en entrer et sélectionne les composantes à insérer et les insèrent
automatiquement dans les plaques électroniques.
La machine VCD-SEQ est la nouvelle génération des machines axiales. C’est
l’assemblage de deux machines (VC + Séquenceur) en une seule machine VCD-SEQ ; elle
est commandée manuellement (chargement des plaques et des composants) et
automatiquement (insertion).
Sa fonction principale est d’insérer les composants électroniques montés
horizontalement (diodes ; résistances ; Straps…) en s’appuyant sur un chemin
d’insertion et de déplacement de la table commandé par un programme enregistré dans
la mémoire de la machine par l’ordinateur.
NB : Chaque type de plaque de n’importe quel produit à son propre programme
d’insertion + son plan de chargement.
Machine Jumper
Le Jumper est une machine similaire au VCD qui sert à insérer des simples fils
conducteurs, le travail de cette machine peut être confié au VCD ou VCD-séquenceur,
mais faute de temps et l’utilisation très fréquente des fils conducteur on a recours au
Jumper pour faciliter et spécifier la tache de chaque type de machine.
La C.T.E. a recours au Jumper car elle a rencontré des problèmes avec le fils dans le
séquenceur et le VCD-séquenceur.
Machine Presse rivet
Cette machine leur rôle fait le pliage avec une force automatique par vérin à une charge
bien déterminé pour écraser tous les rivets au même temps.
b. Service insertion radiale :
La machine d’insertion automatique radiale : cette machine a pour tâche d’insérer les
composants électroniques radiaux, l’insertion se limite aux résistances, diodes,
14
transistors et aux condensateurs. La machine d’insertion automatique radiale est
similaire à celle de l’insertion axiale.
Il y a dans ce service deux machines identiques qui servent à produire deux types de
produit différents.
La première est dotée d’une technologie plus avancée que la deuxième, du coup on
remarque l’existence des mêmes effecteurs dans les deux machines sauf que dans la
première machine les composants sont plus petits de taille.
Figure 5 : Machine radiale
Cette chaîne est totalement automatisée la présence humaine se limite aux
chargements des produits dans des compartiments appropriés suivant un ordre bien
déterminé et le chargement des racks des cartes électroniques et le reste se fait
automatiquement, cela est dû à l’ajout d’autre composant à la machine comme l’ascenseur
de chargement et de déchargement.
15
Figure 6 : Vue arrière d’une machine radiale
Cette machine possède une interface utilisateur pour sélectionner le programme
d’insertion et aussi permet la visualisation des problèmes rencontrés dans l’insertion
comme l’absence de produit à insérer ou des problèmes de plaquage dans l’insertion etc.
Figure 7 : Tête d’une machine radiale
c. Service insertion CMS : (composants montés en surface)
C’est la partie la plus sensible de l’insertion automatique. Le service insertion
automatique de CMS a pour tâche d’insérer les petits composants électroniques qui se
16
fixent sur les cartes électroniques par l’intermédiaire d’une colle spécifique ou par de la
crème à braser.
Il y a essentiellement trois types de machine qui remplissent ses différentes taches :
La machine de sérigraphie (Dek 256 Horizon).
La machine de pose siemens des CMS.
Le four.
La machine de sérigraphie : est une machine conçue pour le dépôt de colle qui sert à
fixer les composants CMS sur les cartes électroniques.
Unité de chargement
Unité de pose de colle
Unité de placement des
composants
Four
Contrôle de qualité
Figure 8 : Les étapes de service CMS
17
Figure 9: Dek 256 Horizon
La machine de pose des CMS : C’est une machine qui dépose les composantes sur la
colle déjà mise par la machine de sérigraphie d’une façon automatique dans leurs
emplacements dans la carte électronique.
Figure 10: La machine de pose siemens
Le four : cette étape est effectuée en trois séquences :
Prés chauffage
Chauffage
Refroidissement
18
Figure 11: Le four
Contrôle de qualité :
Ce poste a pour objectif de définir clairement les modalités du contrôle des
composants montés en surface et de garantir la qualité des cartes sur lesquels les CMS
ont été posés.
L’opérateur vérifie :
Le bon positionnement des composants sur la carte (décalage par rapport à la
position prévu pour le composant).
La polarité des composants.
Le débordement de la colle sur les pastilles pour ne pas créer de court-circuit.
Le manque de composant.
Le contrôle est effectué à 100% dans le cas d’un nouveau produit et 10% de la
production de chaque rack pour le même produit tout en respectant la spécification du
produit.
2. Insertion manuelle :
19
La chaine fait partie intégrante de l’usine, le travail qu’elle effectue est le
complément de l’insertion automatique.
En effet, les composants qui ne peuvent pas être insérés automatiquement
(présentant des caractéristiques non-conforme aux performances des machines) sont
insérés par des ouvriers manuellement : Condensateurs ; circuits intégrés ;
transformateurs ; etc.
3. Chaine TV
Différentes Etapes de Suivi d’un TV en Production :
Test statique -banc d’alignement -test fonctionnel -contrôle qualité châssis
Entrée chauffée -réglage géométrie -réglage vidéo -réglage couleur
Réglage focus-réglage son -control qualité final (TV ouvert) -rigidité diélectrique
Contrôle qualité finale (TV fermé)
Figure 12: Test final des téléviseurs
4. Chaine Export
Les fournisseurs clients passent une commande à la compagnie, puis ils envoient
les matières avec un modèle de fabrication.
Suivant un calendrier précis obéissant aux plannings, un produit est lancé sur ligne de
production. Il passe d’abord par une multitude de postes d’insertion manuelle. Une fois
terminée, la carte sera envoyée à la soudure par vague.
La carte sera par la suite contrôlée à une première étape par un testeur statique. Ce
test est dit « test in situ ». La carte n’est pas soumise à une tension élevée. Seuls des blocs
20
de composants sont soumis à une basse tension afin de déterminer les éléments
défectueux.
A la fin du test, l’appareil affiche les emplacements des composants à déclarer et il
imprime leurs adresses et le problème détecté pour chacun d’eux.
Figure 13: Testeur TAKAYA
Le dépannage est fait sur le même poste de travail.
L’opératrice remplace alors les résistances, les diodes et tous les composants non
fonctionnels, puis refait le test jusqu’à ce que ce soit « valide ».
Les cartes passeront par la suite par un test fonctionnel. On mettra à l’épreuve les
performances requises par chaque modèle : son, amplification ou réduction de grandeurs
électriques, etc.
Figure 14: Rack fonctionnel
Elle est mise alors sous tension et subit des réglages afin de répondre aux tâches
demandées.
21
Reste à faire le contrôle qualité qui s’avère sur cette ligne est minutieux, filtrable et
exigent en plus. La contrôleuse mentionne par écrit et avec une pastille rouge les défauts
détectés et en cas d’erreur répétitive, elle signale le problème au chef responsable.
Figure 15: Equipe contrôle qualité
Le dépannage se fait après le contrôle qualité doit être suivi par un test in situ car la
carte a été déjà mise sous tension.
Avant d’être mises en emballage, les faces cuivres des cartes sont frottées et nettoyées
à l’aide d’un produit alcoolisé (C2H60) afin d’éliminer la résine et les tâches de graisse.
Le stockage de tout le lot sera fait au magasin en attendant leur date d’expédition.
5. Chaine final
- Assemblage les cartes alimentations, les cartes mères, les speakers et insertion des
circuits courants dans la télévision.
- Fermeture par la cache arrière
- Test rigidité d’électrique
- Chauffe
- Réglage de blanc
Analyse de couleur
Générateur de mire
Media Player
Amplificateur de son
- Réglage final
- Contrôle qualité
- Emballage les télévisions
- Sarclage les palettes de télévisions
22
- Contrôle.
Figure 16: Chaine finale
23
Présentation du projet : ‘Gest_Comp’
1. Présentation de l’application :
L'objectif principal de mon stage est la réalisation d'une application intranet qui se présente sous le nom de Gest_Comp. (Gestion des compétences et des polyvalences).
Tenant compte de la difficulté de maintien en cohérence de la base de donnée l’évaluation mensuelle des personnels, EL-ATHIR a décidé de se doter d'un outil de gestion interne. Des fonctionnalités ont été ajoutées afin de faciliter la recherche de profils ou de compétences, et l'ajout de nouvelles compétences.
En effet, l'application gère un réel suivi des personnels à travers les taches qu'ils ont déjà effectué. Gest_Comp se divise alors en 4 modules principaux étroitement liés les uns les autres :
Gestion du personnel Gestion des compétences Gestion des polyvalences
Gestion des évaluations
2. Fonctionnalités
L’application Gest_Comp doit permettre de :
Gérer les informations du personnel Gérer les compétences Gérer les polyvalences Ajouter les évaluations Rechercher les profils ou des compétences
3. Exigences
L'application doit être développée sur un mode Utilisateur / Serveur. Tenant compte de l'évolutivité de l'application et de l'aspect « requêtes », la mise en œuvre d'une base de données est indispensable, et elle doit respecter les différentes formes normales.
4. Spécifications
Les spécifications ont été rédigées par mon tuteur, mes collègues et moi et m'ont été remises après la lecture du cahier de charges. Ce sont en fait, les recommandations du directeur de la BU (business unit) Banque, finances et Assurance (qui joue le rôle de client) qui définit les fonctionnalités principales que devra pouvoir effectuer les futurs utilisateurs de l'application.
24
a. Gestion du personnel
L'application doit permettre d'ajouter, modifier, supprimer une personne.
Au minimum, une personne a :
Nom Prénom Matricule
b. Gestion des compétences
L'application doit permettre d'ajouter, modifier, supprimer une compétence.
Au minimum, une compétence a :
Numéro Description
c. Gestion des polyvalences
L'application doit permettre d'ajouter, modifier, supprimer une polyvalence.
Au minimum, une polyvalence a :
Numéro Description
d. Gestion des évaluations
L'application doit permettre d'ajouter, modifier, supprimer une évaluation.
Au minimum, une évaluation a :
Numéro Date (mois/année) Type (compétence/polyvalence) Employé
25
Conception et Réalisation
1. Conception
Après lecture du cahier de charges et réalisation des IHM, une étape devient indispensable, celle de l'élaboration du cahier de charges fonctionnel et des spécifications techniques.
Cette étape essentielle dans le projet va conditionner la qualité, la rapidité et la simplicité du développement et aussi faciliter la reprise du projet par une autre personne.
2. Modélisation UML
De toute évidence, je me suis tourné vers une conception objet à l'aide du standard UML (objet relationnel Unified Modeling Language, traduisez "langage de modélisation objet unifié") qui est devenu incontournable. Cet outil méthodologique fournit les éléments indispensables pour remédier aux inconvénients majeurs de l'approche objet :
- Un langage (pour s'exprimer clairement à l'aide des concepts objets), qui doit permettre de représenter des concepts abstraits (graphiquement par exemple), limiter les ambiguïtés (parler un langage commun, au vocabulaire précis, indépendant des langages orientés objet), faciliter l'analyse (simplifier la comparaison et l'évaluation de solutions).
- Une démarche d'analyse et de conception objet, pour ne pas effectuer une analyse
fonctionnelle et se contenter d'une implémentation objet, mais penser objet dès le départ, définir les vues qui permettent de décrire tous les aspects d'un système avec des concepts objets.
Ainsi, l'UML comble une lacune importante des technologies objet que je compte utiliser par la suite. Il permet d'exprimer et d'élaborer des modèles objet, indépendamment de tout langage de programmation. De plus il normalise les concepts objet.
Les auteurs d'UML préconisent d'utiliser une démarche guidée par les besoins des utilisateurs du système, centrée sur l'architecture logicielle, itérative et incrémentale car un processus de développement qui possède ces qualités fondamentales favorise la réussite d'un projet (conseil que j'ai bien évidemment suivi).
3. Cahier de charges fonctionnel
L'objectif du cahier des charges fonctionnelles, tout d'abord, est de décrire de manière fonctionnelle l'application. Je définis ainsi qu'il me faut établir une application permettant l'utilisation partielle ou totale de fiches internes selon un profil d'utilisateur. Ainsi le document décrit, à l'aide de scénarios, toutes les fonctionnalités que doit posséder Gest_Comp ainsi que les différents acteurs amenés à l'utiliser.
26
Ainsi l'application est divisée en « uses cases » ou cas d'utilisation, comportant chacun son scénario selon l'acteur, et regroupé en package. Un diagramme de cas d'utilisation a été réalisé pour pouvoir étaler la charge de travail sur la période du stage.
Diagramme de cas d’utilisation :
Figure 17: Diagramme de cas d'utilisation
Le cas d'utilisation est ensuite détaillé en un ou plusieurs scénarios. Un scénario est une suite d'échanges entre des acteurs et le système pour décrire un cas d'utilisation dans
27
un contexte particulier. C'est un enchaînement précis et ordonné d'opérations pour réaliser le cas d'utilisation.
4. Spécification techniques
L'objectif du spécifications techniques est d'approfondir les fonctionnalités déjà élaborés en rédigeant des solutions adaptées et cohérentes. Ce document décrit ainsi en détails tout l'aspect technique de l'application. A savoir, son organisation, le diagramme de classes avec une description pour chacune d'elles et l'enchaînement des appels de méthodes au cours du déroulement d'un cas d'utilisation.
5. Réalisation
Dans cette partie je présente la plateforme de travail et les étapes du développement du module mission que j'ai choisi comme exemple.
a. Plateforme de travail
Cette plateforme de travail assiste le développeur à partir de l'étape de modélisation UML jusqu'au déploiement de l'application sur le serveur. Cette plateforme est utilisée par toutes les équipes de projets soit en interne ou en externe et ce pour les raisons suivantes :
Diminuer les risques tout au long du projet. Faciliter les différentes phases du projet. Augmenter la qualité de ce qui est produit (faire bien et du premier coup). Augmenter le niveau d'adéquation entre le besoin et le produit réalisé. Diminuer les coûts et délais de développement.
b. Architecture de l’application
La couche présentation : contient les composants qui doivent interagir avec l'utilisateur de l'application, comme les pages Web, les formulaires, ainsi que tout ce qui régit le comportement de l'interface utilisateur. J'utilise GWT
La couche métier : Intègre les fonctionnalités et les traitements propres à l'application. Ces fonctionnalités sont implémentées avec des composants avec états. Cette couche est générée en utilisant le Framework Spring IOC.
La couche d'accès aux données : Fournit une interface simple pour accéder aux données et les manipuler. Les composants de cette couche abstraient la sémantique de la couche de données sous-jacente. Chaque composant fournit typiquement des méthodes pour créer, lire, mettre à jour et effacer des entités de données. L'outil utilisé ici est Hibernale qui produit des objets DAO pour les entités définies dans le model UML.
La couche stockage de données : comprend l'ensemble des sources de données de l'application, constitué principalement du SGBD. Dans mon cas c'est MySQL
28
i. GWT
Figure 19: GWT Logo
29
GWT (Google Web Toolkit) est un Framework développé par Google, permettant de créer des pages web dynamiques en utilisant la technologie AJAX. Son fonctionnement consiste à créer l'interface graphique en utilisant le langage Java (à l'instar de la technologie swing pour les applications locales). Le code java est ensuite compilé et transformé en code JavaScript/AJAX. Ce dernier sera embarqué dans un serveur d'applications qui se chargera de le transmettre au navigateur web. Ce Framework est apparu en 2006 et est sous licence open source.
Au-delà du simple Framework, cette solution promue par Google apporte une nouvelle approche du développement d'application de type client léger. En effet, le développeur fait ici abstraction quasi complète de la complexité habituelle liée au JavaScript/CSS/HTML.
Le Framework 1(*): est un espace de travail modulaire. C'est un ensemble de bibliothèques, d'outils et de conventions permettant le développement rapide d'applications. Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres (voir urbanisation).
Un framework fournit un ensemble de fonctions facilitant la création de tout ou d'une partie d'un système logiciel, ainsi qu'un guide architectural en partitionnant le domaine visé en modules. Un framework est habituellement implémenté à l'aide d'un langage à objets, bien que cela ne soit pas strictement nécessaire : un framework objet fournit ainsi un guide architectural en partitionnant le domaine visé en classes et en définissant les responsabilités de chacune ainsi que les collaborations entre classes. Un sous-ensemble de ces classes peuvent être des classes abstraites.
Le déploiement à grande échelle de bibliothèques d'objets exige un framework ; celui-ci fournit un contexte où les composants sont réutilisés.
Si l'utilisation du terme bibliothèque est limitée à l'ensemble des fonctions du système, le terme de framework peut être employé par extension pour inclure également l' architecture logicielle préconisée pour cette bibliothèque (organisation en couches, utilisation du modèle MVC, etc.), voire l'environnement de développement bâti autour ( Microsoft .NET + Visual Studio, etc.) même si celui-ci est capable de gérer différents frameworks.
On trouve différents types de frameworks :
Framework d'infrastructure système : pour développer des systèmes d'exploitation, des interfaces graphiques, des outils de communication. (exemple : Framework .Net, Eclipse, NetBeans, Struts)
Framework d'intégration intergicielle : pour fédérer des applications hétérogènes. Pour mettre à dispositions différentes technologies sous la forme d'une interface unique. (Exemple : Ampoliros avec ses interfaces RPC, SOAP, XML)
Frameworks d'entreprise : pour développer des applications spécifiques au secteur d'activité de l'entreprise.
30
Frameworks orientés Système de gestion de contenu
Les principaux avantages de ces frameworks sont la réutilisation de leur code, la standardisation du cycle de vie du logiciel (Spécification, développement, maintenance, évolution), ils permettent de formaliser une architecture adaptée au besoin de l'entreprise. Ils tirent parti de l'expérience des développements antérieurs.
Ces frameworks sont en quelque sorte des progiciels extrêmement souples et évolutifs
Ajax : ou Asynchronous JavaScript And XML (« XML et JavaScript asynchrones »), est un acronyme désignant une solution informatique libre pour le développement d' applications Web. À l'image de DHTML ou de LAMP, AJAX n'est pas une technologie en elle-même, mais un terme qui évoque l'utilisation conjointe d'un ensemble de technologies libres couramment utilisées sur le Web :
- HTML (ou XHTML) pour la structure sémantique des informations.
- CSS pour la présentation des informations.
- DOM et JavaScript pour afficher et interagir dynamiquement avec l'information
présentée.
- l'objet XMLHttpRequest pour échanger et manipuler les données de manière
asynchrone avec le serveur Web.
- XML.
En alternative au format XML, les applications AJAX peuvent utiliser les fichiers texte ou JSON. Les applications AJAX peuvent être utilisées au sein des navigateurs Web qui supportent les technologies décrites précédemment. Parmi eux, on trouve Mozilla, Firefox, Internet Explorer, Konqueror, Safari ou encore Opera. Toutefois, ce dernier ne supporte pas les transformations XSLT nativement pour les versions antérieures à la 9.0
Java Swing: est une bibliothèque graphique pour le langage de programmation Java, faisant partie du package Java Foundation Classes (JFC), inclus dans J2SE. Swing constitue l'une des principales évolutions apportées par Java 2 par rapport aux versions antérieures.
Swing offre la possibilité de créer des interfaces graphiques identiques quel que soit le système d'exploitation sous-jacent, au prix de performances moindres qu'en utilisant Abstract Window Toolkit (AWT). Il utilise le principe Modèle/Vue-Contrôleur (M/VC, les composants Swing jouent en fait le rôle de Contrôleur au sens du MVC) et dispose de plusieurs choix d'apparence (de vue) pour chacun des composants standard
ii. Hibernate
Hibernate est un Framework de mapping objet/relationnel ou de persistance de données pour J2EE. En effet, la couche applicative voit les données comme des classes dont le contenu reste en mémoire même après la fin d'exécution du programme. D'où persistance objet des données. De plus, le lien entre les classes exposées et la source physique des données (moteur base de données relationnelle) est défini par un fichier XML. D'où mapping objet relationnel.
31
iii. Spring
SPRING est un conteneur dit « léger », c'est-à-dire une infrastructure similaire à un serveur d'application J2EE. Il prend donc en charge la création d'objets et la mise en relation d'objets par l'intermédiaire d'un fichier de configuration qui décrit les objets à fabriquer et les relations de dépendances entre ces objets. Le cœur de SPRING et ce qui fait sa très grande force sont la mise en œuvre du design pattern « Inversion Of Control » ou encore « Dependency Injection ». L'idée du pattern IOC est très simple, elle consiste, lorsqu'un objet ‘A’ a besoin d'un objet ‘B’, à déléguer à un objet ‘C’ la mise en relation de ‘A’ avec ‘B’.
c. Environnement de développement
Cette partie présente les différents outils et logiciels de développement utilisé avec l'architecture logicielle.
i. NetBean
Figure 20: NetBeans Logo
Netbeans est un environnement de développement intégré (EDI) qui supporte
une large variété de langages de programmation et d'outils de collaboration.
ii. Power AMC
Figure 21: PowerAMC Logo
C’est un outil de modélisation qui permet à la fois de faire du Merise et de l'UML.
iii. Apache Tomcat
Figure 22: Apache Tomcat Logo
Tomcat est un conteneur de servlet J2EE. Issu du projet Jakarta, Tomcat est désormais un projet principal de la fondation Apache. Tomcat implémente les spécifications des servlets et des JSP de Sun Microsystems. Il inclut des outils pour la configuration et la gestion, mais peut également être configuré en éditant des fichiers de configuration XML. Comme Tomcat inclut un serveur HTTP interne, il est aussi considéré comme un serveur HTTP.
32
iv. MySQL
Figure 23: MySQL Logo
MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées. Il est multithread, multi-utilisateurs. C'est un logiciel libre développé sous double licence en fonction de l'utilisation qui en est faite : dans un produit libre (open-source) ou dans un produit propriétaire. Dans ce dernier cas, la licence est payante, sinon elle est libre.
33
Bibliographie
http://fr.wikipedia.org/wiki/Java_2_Enterprise_Edition
http://www.memoireonline.com/
http://librapport.org/getpdf.php?get=841&id=17&pagename=FILE:download/document%20view
JDK1.8
http://java.sun.com/j2ee/1.8/docs/api/index.html
Apache Tomcat
http://tomcat.apache.org/
Spring IOC
http://www.martinfowler.com/articles/injection.html,
http://smeric.developpez.com/java/uml/avalon/ioc/
GWT
http://code.google.com/webtoolkit/
Hibernate 3.0
http://www.hibernate.org/hib_docs/reference/fr/html/
MySQL
http://www-fr.mysql.com/
34
Lexique
Apache Tomcat
Conteneur "Open Source" de Servlet J2EE. Il fait partie du projet Jakarta au sein de la fondation Apache. Tomcat implémente les spécifications des Servlets et des JSP de Sun Microsystems. Comme Tomcat inclut un serveur HTTP interne, il est aussi considéré comme un serveur HTTP.
HTML
Langage informatique créé et utilisé pour écrire les pages Web. C'est un langage de balises surtout axé sur la mise en forme du texte.
J2EE
"Java 2 Platform Entreprise Edition", c'est une spécification pour le langage de programmation Java de Sun plus particulièrement destiné aux applications d'entreprise. Dans ce but, toute implémentation de cette spécification contient un ensemble d'extension au Framework Java standard (J2SE) afin de faciliter la création d'applications réparties.
JSP
"Java Server Pages", technologie basée sur Java qui permet aux développeurs de générer dynamiquement du code HTML, XML ou tout autre type de page Web. La technologie permet au code Java et à certaines actions prédéfinies d'être ajoutés dans un contenu statique.
MySQL
Gestionnaire de base de données libre.
Oracle
Système de gestion de base de données relationnelle fourni par Oracle Corporation et couramment utilisé dans les applications sur différentes plates-formes.
Servlets
C'est une API qui permet de générer dynamiquement des données au sein d'un serveur HTTP. Ce programme Java s'exécute dynamiquement sur le serveur Web et permet l'extension des fonctions de ce dernier : accès à des bases de données, transactions...
SGBD
Abréviation pour Système de Gestion de Base de Données.
35
SQL
"Structured Query Language" ou langage structuré de requête est un pseudo-langage informatique standard et normalisé destiné à interroger ou manipuler une base de données relationnelle.
UML
"Unified Modeling Language", c'est un langage graphique de modélisation des données et des traitements.
XML
"eXtensible Markup Langage", standard du W3C qui sert de base pour créer des langages de balisage : c'est un "métalangage".
Top Related