Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parJean-Michel Geoffrey Gobeil Modifié depuis plus de 8 années
1
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire ● Conception détaillée de la partie Présentation (IHM) ● Conception détaillée de la partie "Métier" ● Conception détaillée de la partie "Accès aux données" ● Génération de code et reverse-engineering
2
2 Processus de développement logiciel objet
3
3 Processus de développement On présente ici un Processus de développement utilisant UML, inspiré par la méthodologie eXtreme Programming (XP). ● Spécification ● Analyse ● Conception ● Implémentation
4
4 Processus de développement XP 1 ● Spécification: phrases-clé => Diagramme Cas d'Utilisation ● Analyse: Diagrammes de Séquence, Diagrammes de Classes, Diagrammes d'Etats et d'Activités (si besoin) ● Conception: raffiner Diagrammes de Séquence et de Classes
5
5 Processus de développement XP 2 ● Préparer tests; concevoir l'accès aux données, dans le cadre d'un modèle en couches (MVC): – Présentation – Logique applicative – Modèle Métier – Accès aux données – Stockage ● Implémentation: coder, tester, corriger, livrer ● Réitérer pour les Cas d'Utilisation suivants
6
6 Principes XP ● Développement piloté par les tests ● Programmation par paires ● Restucturation du code (refactoring) à chaque étape) ● Itérations courtes ● Le « client » doit être disponible ● Documentation et conception réduires au nécéssaire
7
7 Le Processus de développement objet Unified Process (UP) ● Unified Process (UP) est une méthode de prise en charge du cycle de vie d’un logiciel et donc du développement, pour les logiciels orientés objets. ● C’est une méthode itérative et incrémentale ● PU est une méthode de cycle de vie qui complète le langage de modélisation UML.
8
8 Unified Process, Exemple: Rational Unified Process (RUP)
9
9 Le génie logiciel, cycle de développement et bonnes pratiques ● Versionnement (SCM) (Subversion, CVS) ● Tests automatiques et obligatoires ● Réutilisation ● Infrastructures de projet: site Web ● style de codage
10
10 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire ● Conception détaillée de la partie Présentation (IHM) ● Conception détaillée de la partie "Métier" ● Conception détaillée de la partie "Accès aux données" ● Génération de code et reverse-engineering
11
11 Architecture de persistance 1.Centré Objets et classes, ou 2.Centré base relationnelle Dans les 2 cas, on utilise des outils de ORM (Object Relational Mapping), comme Hibernate, Ibatis, etc Autres possibilités: fichiers, bases XML, RDF, OO (JDO). Typiquement on utilise les DAO (Data Access Object) pour s'abstraire de l'implémentation du stockage.
12
12 Modèle en couches (MVC) Modèle-Vue-contrôleur – Présentation (Vues) – Logique applicative (Contrôleur) – Modèle Métier (Modèle) – Accès aux données – Stockage Les notifications vont de Présentation à Modèle Métier et retour.
13
13 Modèle en couches: tests Modèle-Vue-contrôleur – Présentation (Vue) – Logique applicative (Contrôleur) – Modèle Métier (Modèle) – Accès aux données – Stockage ● implémenter la Présentation par une simple interface en ligne de commande ● Implémenter l'accès aux données par une simple persistance dans un fichier
14
14 Architecture: présentation ● Variantes Web: – Pages statiques avec Submit – Pages avec code local (JavaScript) – Ajax (page communique avec serveur) – Pages « riches » : applet Java, Flash, Silverlight, Quicktime, JavaFX
15
15 Architecture: Logique applicative ● Le coeur de l'application – Valide les données et actions de l'utilisateur – Décide quelle est la prochaine page à montrer ● Variantes: – Codée à la main – Machine à états issue de UML (générée) – Moteurs à base de règles (Drools, Ilog Rules)
16
16 Architecture: Modèle Métier ● Issu du modèle de classes – Typiquement généré en début de projet – Chaque classe UML donne une interface et une classe Java (ou C#, PHP, etc) – Eclipse EMF est un outil de choix – Implémente les contraintes du modèle, la notification, les transactions, le défaire-refaire,...
17
17 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire ● Conception détaillée de la partie "Métier" ● Conception détaillée de la partie Présentation (IHM) ● Conception détaillée de la partie "Accès aux données" ● Génération de code et reverse-engineering Voir Etude de cas – TPVEtude de cas – TPV (Terminal Point de Vente)
18
18 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire ● Conception détaillée de la partie "Métier" ● Conception détaillée de la partie Présentation (IHM) ● Conception détaillée de la partie "Accès aux données" ● Génération de code et reverse-engineering Voir conception métierconception métier
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.