WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réalisation d'une application de Gestion de CV

( Télécharger le fichier original )
par Benito d'ALMEIDA
Pole Universitaire léonard de vinci - Ingénieur Informatique 2007
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

17. 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.

Diagramme de classes

18. 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.

18.1. 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.

18.2. Architecture logicielle cible

v 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

v 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.

v 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 Hibernate qui produit des objets DAO pour les entités définies dans le model UML.

v 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

18.2.1. GWT

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).

Des tentatives de francisation du terme ont été faites. On trouve ainsi parfois les termes cadre d'applications, proposé par l' Office québécois de la langue française [1] ou cadriciel [2].

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 :

v 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)

v 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)

v Frameworks d'entreprise : pour développer des applications spécifiques au secteur d'activité de l'entreprise.

v 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 partie de l'expérience des développements antérieurs.

Ces frameworks sont en quelque sorte des progiciels extrêmement souples et évolutifs

Ajax 2(*): 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 Swing3(*) : 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

Javascript : est un langage de programmation de type script, orienté objets à prototype, principalement utilisé pour les pages Web dynamiques.

* 1 Définition de Wikipedia

* 2 Selon Wikipedia

* 3 Toujous selon Wikipedia

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Les esprits médiocres condamnent d'ordinaire tout ce qui passe leur portée"   François de la Rochefoucauld