Java projet

Pages: 19 (4507 mots) Publié le: 21 mars 2013
Introduction Aux Design Patterns

M.Youssfi, ENSET, Université Hassan II Mohammedia med@youssfi.net

Architectures d’une application moderne
App Java •SWING Smart Phone

SGBD

RMI, JMS CORBA,SOAP

Serveur d’application J2EE Couche DAO
JPA, Hibernate

SOAP (HTTP+XML)

Couche métier
Application .Net

SOAP (HTTP+XML) ou CORBA

Couche Service MiddleWares :
- RMI - CORBA - EJBSession - SOAP (Web Sevices) - JMS -Java Mail -SMSLib

Couche web
- Struts - Spring - JSF

Aplication PHP

SOAP (HTTP+XML) SMTP, POP3, IMAP
Serveur Messagerie

SMS
Client SMS

HTTP

Client HTTP
med@youssfi.net | ENSET Université Hassan II Mohammedia

-HTML, CSS, JavaScript -XML, AJAX, Jquery, Spry 2 -SVG ou Flash

Rappels :Qualité d’un Logiciel
La qualité d’un logiciel semesure par rapport à plusieurs critères : Répondre aux spécifications fonctionnelles : Une application est créée pour répondre , tout d’abord, aux besoins fonctionnels des entreprises. Les performances:
La rapidité d’exécution et Le temps de réponse Doit être bâtie sur une architecture robuste. Eviter le problème de montée en charge

La maintenance:
Une application doit évoluer dans le temps. Doitêtre fermée à la modification et ouverte à l’extension Une application qui n’évolue pas meurt. Une application mal conçue est difficile à maintenir, par suite elle finit un jour à la poubelle.
med@youssfi.net | ENSET Université Hassan II Mohammedia

3

Qualité d’un Logiciel
Sécurité
Garantir l’intégrité et la sécurité des données

Portabilité
Doit être capable de s’exécuter dansdifférentes plateformes.

Capacité de communiquer avec d’autres applications distantes. Disponibilité et tolérance aux pannes Capacité de fournir le service à différents type de clients :
Client lourd : Interfaces graphiques SWING Interface Web : protocole http Client SmartPhone Téléphone : SMS ….

Design des ses interfaces graphiques
Charte graphique et charte de navigation

Accès viadifférentes interfaces (Web, Téléphone, PDA, ,) Coût du logiciel

med@youssfi.net | ENSET Université Hassan II Mohammedia

4

Inversion de contrôle ou Injection de dépendances

Rappels de quelque principes de conception
Une application qui n’évolue pas meurt. Une application doit être fermée à la modification et ouverte à l’extension. Une application doit s’adapter aux changements Efforcez-vous àcoupler faiblement vos classes. Programmer une interface et non une implémentation Etc..

Couplage Fort et Couplage faible
M.Youssfi

Couplage fort
Quand une classe A est lié à une classe B, on dit que la classe A est fortement couplée à la classe B. La classe A ne peut fonctionner qu’en présence de la classe B. Si une nouvelle version de la classe B (soit B2), est crée, on est obligé demodifier dans la classe A. Modifier une classe implique:
Il faut disposer du code source. Il faut recompiler, déployer et distribuer la nouvelle application aux clients. Ce qui engendre un cauchemar au niveau de la maintenance de l’aplication A b: B calcul() : double
getValue() : double

1

B

Exemple de couplage fort
Presentation metier:MetierImpl main(String[] a):void 1 MetierImpl dao:DaoImpl calcul() : double
getValue() : double

1

DaoImpl

package metier; import dao.DaoImpl; public class MetierImpl { private DaoImpl dao; public MetierImpl() { dao=new DaoImpl(); } public double calcul(){ double nb=dao.getValue(); return 2*nb; } }

package dao; public class DaoImpl { public double getValue(){ return(5); } }
package pres; import metier.MetierImpl; public classPresentation { private static MetierImpl metier; public static void main(String[] args) { metier=new MetierImpl(); System.out.println(metier.calcul()); } }

Problèmes du couplage fort
Dans l’exemple précédent, les classes MetierImpl et DaoImpl sont liées par un couplage fort. De même pour les classe Presentation et MetierImpl Ce couplage fort n’a pas empêché de résoudre le problème au niveau...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Projet java
  • Comment D Buguer Un Projet Java Sous NetBeans
  • Java
  • java
  • Java
  • Java
  • java
  • Java

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !