Vous êtes sur la page 1sur 20

Conception avec UML

(basé sur Enterprise Java with UML)

Buts

La conception consiste à réaliser le logiciel modélisé en analyse.

• l'analyse décrit "ce que l'on va construire"

• la conception décrit "comment on va le construire"

Inputs

Inputs PG / UML - Conception / v 1.4 Page 3

Rôles

Analyser l’architecture Définir le Concevoir Définir la Architecte déploiement l’architecture concurrence
Analyser
l’architecture
Définir le
Concevoir
Définir la
Architecte
déploiement
l’architecture
concurrence
Concevoir les
sous systèmes
Analyser les cas
d’utilisation
Concevoir les
cas d’utilisation
Concepteur
Concevoir les
classes
Concepteur Base
de données
Concevoir la
base de données

Démarche

Développement incrémental centré sur les UCs On sélectionne dans notre modèle d'analyse les UCs les plus prioritaires / pertinents Pour ces UCs :

- diagrammes de séquence

- diagrammes de classes (de conception)

Classes de conception

Les classes d'analyse définies dans les UCs vont devoir être "transformées" en classes de conception en fonction des technologies retenues dans l'architecture

Objet <<entity>>

• Un simple POJO,

• Pourra être associé à des DTO (DataTransfert Object ou ValueObject Design pattern)

• Peut devenir un EJB Entity Bean (POJO avec annotations JPA)

Objet <<lifecycle>>

DataAccessObject,

EJB Entity Bean,

Entity manager de JPA,

• EJB Entity Bean, • Entity manager de JPA, • … PG / UML - Conception

Objet <<control>>

Fournit un service spécifique à un objet <<boundary>> :

– Simple Façade,

– Business Delegate,

– Servlet,

– EJB Session bean, …

: – Simple Façade, – Business Delegate, – Servlet, – EJB Session bean, … PG /

Objet <<boundary>>

Le plus souvent objet d’interface utilisateur (UI) … (avec son controller!)

• Application web :

– Servlet, page jsp, page php, …

• Client riche :

– JDialog ou JFrame Swing, …

page jsp, page php, … • Client riche : – JDialog ou JFrame Swing, … PG

Controller != <<control>>?

Controller = C du design pattern MVC

Développement web + MVC => MVC/Model 2:

- Model = POJO ou DTO

- Vue = page JSP (ou JSF, …)

- Controller = servlet (et Actions dans Struts)

- il doit déléguer les traitements métiers à la couche Service (<<control>>)

- il sélectionne la Vue à afficher.

MVC model 2

MVC model 2 PG / UML - Conception / v 1.4 Page 12

Struts MVC

Struts MVC PG / UML - Conception / v 1.4 Page 13

JSF MVC

JSF MVC PG / UML - Conception / v 1.4 Page 14

Autres activités essentielles

• ajouter des classes techniques (classes

d'implémentation,

)

• traduire les associations UML entre les classes

(en List, Vector, clés primaires,

)

• utiliser certains des designs patterns les plus

courants (Singleton, Etat, DAO, DTO,

)

Contenu du document de conception

Pour chaque UC :

• Liste des objets (de conception) candidats

• Diagrammes de séquence

(modèle dynamique)

• Diagramme de classes

(modèle statique)

YAPS UC2 : Diagramme de séquence

YAPS UC2 : Diagramme de séquence PG / UML - Conception / v 1.4 Page 17

YAPS UC2 : Diagramme de classes

YAPS UC2 : Diagramme de classes PG / UML - Conception / v 1.4 Page 18

Autre exemple avec Struts

Autre exemple avec Struts PG / UML - Conception / v 1.4 Page 19

Diagramme de séquence avec Struts

Diagramme de séquence avec Struts PG / UML - Conception / v 1.4 Page 20