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" PG / UML - Conception / v 1.4 Page 2 Inputs PG / UML - Conception / v 1.4 Page 3 Rôles Analyser l’architecture Définir le Concevoir Définir la l’architecture concurrence déploiement Architecte Analyser les cas d’utilisation Concepteur Concepteur Base de données PG / UML - Conception / v 1.4 Concevoir les sous systèmes Concevoir les cas d’utilisation Concevoir les classes Concevoir la base de données Page 4 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) PG / UML - Conception / v 1.4 Page 5 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 PG / UML - Conception / v 1.4 Page 6 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) PG / UML - Conception / v 1.4 Page 7 Objet <<lifecycle>> • • • • DataAccessObject, EJB Entity Bean, Entity manager de JPA, … PG / UML - Conception / v 1.4 Page 8 Objet <<control>> Fournit un service spécifique à un objet <<boundary>> : – – – – Simple Façade, Business Delegate, Servlet, EJB Session bean, … PG / UML - Conception / v 1.4 Page 9 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, … PG / UML - Conception / v 1.4 Page 10 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. PG / UML - Conception / v 1.4 Page 11 MVC model 2 PG / UML - Conception / v 1.4 Page 12 Struts MVC PG / UML - Conception / v 1.4 Page 13 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, ...) PG / UML - Conception / v 1.4 Page 15 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) PG / UML - Conception / v 1.4 Page 16 YAPS UC2 : Diagramme de séquence PG / UML - Conception / v 1.4 Page 17 YAPS UC2 : Diagramme de classes PG / UML - Conception / v 1.4 Page 18 Autre exemple avec Struts PG / UML - Conception / v 1.4 Page 19 Diagramme de séquence avec Struts PG / UML - Conception / v 1.4 Page 20
© Copyright 2024