Génie logiciel et méthodes de
conception orientées objet
A. ABDELLATIF
abdelaziz.abdellatif@fst.rnu.tn
2007-2008
UML
et le...
GL & MCOO A. Abdellatif
2UML et le processus
de développement logiciel
Sommaire
Introduction au processus de
développement...
Introduction au processus de
développement logiciel
GL & MCOO A. Abdellatif
4UML et le processus
de développement logiciel
Développement logiciel
Logiciels à développer de pl...
GL & MCOO A. Abdellatif
5UML et le processus
de développement logiciel
Organisation d’un projet de
développement logiciel
...
GL & MCOO A. Abdellatif
6UML et le processus
de développement logiciel
Processus de développement
logiciel
Un processus de...
GL & MCOO A. Abdellatif
7UML et le processus
de développement logiciel
Processus de développement
logiciel
Un processus de...
GL & MCOO A. Abdellatif
8UML et le processus
de développement logiciel
Processus de développement
logiciel et MCSI
Une mét...
GL & MCOO A. Abdellatif
9UML et le processus
de développement logiciel
UML et le processus de
développement logiciel
UML e...
GL & MCOO A. Abdellatif
10UML et le processus
de développement logiciel
Quelques processus de développement
logiciel utili...
Le processus unifié
GL & MCOO A. Abdellatif
12UML et le processus
de développement logiciel
Présentation
« Le processus unifié est un processu...
GL & MCOO A. Abdellatif
13UML et le processus
de développement logiciel
Présentation
Le PU est un ensemble de principes et...
GL & MCOO A. Abdellatif
14UML et le processus
de développement logiciel
Historique du PU
ApprocheApproche
EricsonEricson
O...
GL & MCOO A. Abdellatif
15UML et le processus
de développement logiciel
Caractéristiques du PU
Le PU est :
Piloté par les ...
GL & MCOO A. Abdellatif
16UML et le processus
de développement logiciel
Concepts de base du PU
Le PU se base sur un ensemb...
GL & MCOO A. Abdellatif
17UML et le processus
de développement logiciel
Artefacts
Deux types d’artefacts :
Artefacts relat...
GL & MCOO A. Abdellatif
18UML et le processus
de développement logiciel
Rôles
Cinq groupes de rôles :
Analystes : ceux qui...
GL & MCOO A. Abdellatif
19UML et le processus
de développement logiciel
Disciplines
Deux familles de disciplines :
Discipl...
GL & MCOO A. Abdellatif
20UML et le processus
de développement logiciel
Architecture bidirectionnelle du PU
Le PU gère le ...
GL & MCOO A. Abdellatif
21UML et le processus
de développement logiciel
Architecture bidirectionnelle du PU
Disciplines
Ph...
GL & MCOO A. Abdellatif
22UML et le processus
de développement logiciel
Modélisation du métier
(Business Modeling)
Objecti...
GL & MCOO A. Abdellatif
23UML et le processus
de développement logiciel
Besoins
(Requirements)
Objectif :
Capturer les bes...
GL & MCOO A. Abdellatif
24UML et le processus
de développement logiciel
Analyse et conception
(Analysis & Design)
Objectif...
GL & MCOO A. Abdellatif
25UML et le processus
de développement logiciel
Implémentation
Objectif :
Raffiner le modèle de co...
GL & MCOO A. Abdellatif
26UML et le processus
de développement logiciel
Test
Objectif :
Test des composants logiciels
déve...
GL & MCOO A. Abdellatif
27UML et le processus
de développement logiciel
Déploiement
(Deployment)
Objectif :
Conditionnemen...
GL & MCOO A. Abdellatif
28UML et le processus
de développement logiciel
Phase Inception
Consiste à :
cadrer le projet
Iden...
GL & MCOO A. Abdellatif
29UML et le processus
de développement logiciel
Phase Elaboration
Consiste à :
Stabiliser l’archit...
GL & MCOO A. Abdellatif
30UML et le processus
de développement logiciel
Phase Construction
Consiste à :
Proposer des versi...
GL & MCOO A. Abdellatif
31UML et le processus
de développement logiciel
Phase Transition
Consiste à :
Livrer le logiciel e...
GL & MCOO A. Abdellatif
32UML et le processus
de développement logiciel
Variantes du PU
Le processus unifié a donné lieu à...
L’eXtreme Programming (XP)
GL & MCOO A. Abdellatif
34UML et le processus
de développement logiciel
Présentation
Méthode de développement itérative.
P...
GL & MCOO A. Abdellatif
35UML et le processus
de développement logiciel
Les principes d’XP
Le développement se fait selon ...
GL & MCOO A. Abdellatif
36UML et le processus
de développement logiciel
Les principes d’XP
L’analyse et la conception ne p...
GL & MCOO A. Abdellatif
37UML et le processus
de développement logiciel
Les 12 pratiques d’XP
Assurer un feedback constant...
GL & MCOO A. Abdellatif
38UML et le processus
de développement logiciel
Les 12 pratiques d’XP
Favoriser une compréhension
...
Processus simplifié
GL & MCOO A. Abdellatif
40UML et le processus
de développement logiciel
Présentation
C’est un processus de développement
l...
GL & MCOO A. Abdellatif
41UML et le processus
de développement logiciel
Caractéristiques
Le processus simplifié a les
cara...
GL & MCOO A. Abdellatif
42UML et le processus
de développement logiciel
Les phases du processus
Le processus de développem...
GL & MCOO A. Abdellatif
43UML et le processus
de développement logiciel
Étude des besoins
Cette phase consiste à :
Identif...
GL & MCOO A. Abdellatif
44UML et le processus
de développement logiciel
Analyse
Cette phase consiste à :
Élaborer un premi...
GL & MCOO A. Abdellatif
45UML et le processus
de développement logiciel
Analyse (suite)
Élaborer un diagramme des classes
...
GL & MCOO A. Abdellatif
46UML et le processus
de développement logiciel
Analyse (suite)
Élaborer des diagrammes de navigat...
GL & MCOO A. Abdellatif
47UML et le processus
de développement logiciel
Conception
Cette phase consiste à :
Détailler les ...
GL & MCOO A. Abdellatif
48UML et le processus
de développement logiciel
Implémentation
Cette phase consiste à :
Générer la...
GL & MCOO A. Abdellatif
49UML et le processus
de développement logiciel
Processus simplifié : synthèse
1 2
3
4
5
6
7
8
9
É...
Quelques AGL
GL & MCOO A. Abdellatif
51UML et le processus
de développement logiciel
Quelques AGL supportant UML
Power AMC
Version 11
S...
GL & MCOO A. Abdellatif
52UML et le processus
de développement logiciel
Quelques AGL supportant UML
MagicDraw UML
Version ...
Prochain SlideShare
Chargement dans…5
×

UML4

1 112 vues

Publié le

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 112
Sur SlideShare
0
Issues des intégrations
0
Intégrations
11
Actions
Partages
0
Téléchargements
59
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

UML4

  1. 1. Génie logiciel et méthodes de conception orientées objet A. ABDELLATIF abdelaziz.abdellatif@fst.rnu.tn 2007-2008 UML et le processus de développement logiciel
  2. 2. GL & MCOO A. Abdellatif 2UML et le processus de développement logiciel Sommaire Introduction au processus de développement logiciel Le processus unifié (PU) L’extreme programming (XP) Un processus simplifié Quelques outils (AGL)
  3. 3. Introduction au processus de développement logiciel
  4. 4. GL & MCOO A. Abdellatif 4UML et le processus de développement logiciel Développement logiciel Logiciels à développer de plus en plus complexes. Capacité de production logicielle inférieure à la demande (crise du logiciel). Nécessité de mettre en place une organisation adéquate dans les projets de développement logiciel
  5. 5. GL & MCOO A. Abdellatif 5UML et le processus de développement logiciel Organisation d’un projet de développement logiciel Projet Processus Personnes Outils
  6. 6. GL & MCOO A. Abdellatif 6UML et le processus de développement logiciel Processus de développement logiciel Un processus de développement logiciel est un ensemble d’activités permettant de transformer les besoins des utilisateurs en un système logiciel. Processus de développement logiciel Besoins utilisateurs Système logiciel
  7. 7. GL & MCOO A. Abdellatif 7UML et le processus de développement logiciel Processus de développement logiciel Un processus de développement logiciel doit être générique, c’est dire qu’il doit pouvoir s’adapter à : Tout type de logiciel, Tout type d’entreprise, Toute taille d’entreprise, Toute taille de projet et Tout niveau de compétence.
  8. 8. GL & MCOO A. Abdellatif 8UML et le processus de développement logiciel Processus de développement logiciel et MCSI Une méthode de conception de systèmes d’information comporte : Un formalisme permettant de décrire les composantes du SI à l’aide d’un ensemble de modèles (ou diagrammes). Une démarche (ou processus) permettant de réaliser les composantes du SI en suivant un ensemble d’étapes. Un plan d’assurance qualité permettant de garantir la qualité des composantes du SI en respectant un ensemble de règles.
  9. 9. GL & MCOO A. Abdellatif 9UML et le processus de développement logiciel UML et le processus de développement logiciel UML est une notation. UML n’est pas une méthode. UML est utilisable avec toute méthode de conception dont le processus est : Piloté par les cas d’utilisation Centré sur l’architecture logicielle Itératif et incrémental
  10. 10. GL & MCOO A. Abdellatif 10UML et le processus de développement logiciel Quelques processus de développement logiciel utilisables avec UML UML peut être utilisée en suivant : Le processus unifié (PU) : c’est un cadre complet (et lourd) de processus de développement logiciel. L’extrême programming (XP) : c’est une démarche favorisant le développement rapide. Un processus simplifié : démarche à mi-chemin entre le PU et l’XP.
  11. 11. Le processus unifié
  12. 12. GL & MCOO A. Abdellatif 12UML et le processus de développement logiciel Présentation « Le processus unifié est un processus de développement logiciel, c’est-à-dire qu’il regroupe les activités à mener pour transformer les besoins d’un utilisateur en système logiciel. » Jacobson, Booch, Rumbaugh 1999
  13. 13. GL & MCOO A. Abdellatif 13UML et le processus de développement logiciel Présentation Le PU est un ensemble de principes et de bonnes pratiques permettant de répondre aux questions suivantes : QUI ? Qui participe au projet, QUOI ? Que produit le projet, COMMENT ? Comment le travail doit être réalisé QUAND ? Quand est réalisé chaque livrable
  14. 14. GL & MCOO A. Abdellatif 14UML et le processus de développement logiciel Historique du PU ApprocheApproche EricsonEricson ObjectoryObjectory ProcessProcess 1967 19871967 1987 -- 1995 19961995 1996 -- 1997 19981997 1998 …… RationalRational ObjectoryObjectory ProcessProcess UMLUML RationalRational UnifiedUnified ProcessProcess AutresAutres sourcessources Un système est composé d’un ensemble de blocs imbriqués •Object Factory •Cas d’utilisation •Suite de modèles •Importance de l’architecture •Démarche itérative et incrémentale •Standard de fait •Domaine public •Supporté par les produits
  15. 15. GL & MCOO A. Abdellatif 15UML et le processus de développement logiciel Caractéristiques du PU Le PU est : Piloté par les cas d’utilisation d’UML Centré sur l’architecture Itératif et incrémental
  16. 16. GL & MCOO A. Abdellatif 16UML et le processus de développement logiciel Concepts de base du PU Le PU se base sur un ensemble de concepts répartis en trois groupes : Les artefacts : ce sont les éléments produits au cours du projet (le QUOI). Les rôles : ce sont les rôles joués par les acteurs intervenant dans un projet (le QUI). Les disciplines : une discipline est un ensemble d’activités qui produisent un ensemble d’artefacts.
  17. 17. GL & MCOO A. Abdellatif 17UML et le processus de développement logiciel Artefacts Deux types d’artefacts : Artefacts relatifs à la gestion du projet : Comptes rendus, Plannings, … Artefacts relatifs à la production logicielle : Modèles, Spécification, Code source, Exécutables, …
  18. 18. GL & MCOO A. Abdellatif 18UML et le processus de développement logiciel Rôles Cinq groupes de rôles : Analystes : ceux qui analysent les risques. Développeurs : ceux qui conçoient et implémentent le logiciel. Testeurs : ceux qui testent les programmes Managers : ceux qui gèrent l’organisation du projet. Les autres
  19. 19. GL & MCOO A. Abdellatif 19UML et le processus de développement logiciel Disciplines Deux familles de disciplines : Disciplines d’ingénierie : Modélisation du métier (Business Modeling) Besoins (Requirements) Analyse et conception (Analysis & Design) Implémentation (Implementation) Test Déploiement (Deployment) Disciplines de support : Gestion de projet (Project Management) Gestion de Configuration et du changement (Configuration and Change Management) Environnement
  20. 20. GL & MCOO A. Abdellatif 20UML et le processus de développement logiciel Architecture bidirectionnelle du PU Le PU gère le processus de développement selon deux axes : Axe vertical : les disciplines Axe horizontal : les phases (inception, élaboration, construction, transition) Pour chaque discipline, les phases sont réalisées en plusieurs itérations.
  21. 21. GL & MCOO A. Abdellatif 21UML et le processus de développement logiciel Architecture bidirectionnelle du PU Disciplines Phases Itérations
  22. 22. GL & MCOO A. Abdellatif 22UML et le processus de développement logiciel Modélisation du métier (Business Modeling) Objectif : Produire un modèle de l’organisation à laquelle est destiné le logiciel. Artefacts : Glossaire Modèle des cas d’utilisation métier Rôles : Analystes processus métier
  23. 23. GL & MCOO A. Abdellatif 23UML et le processus de développement logiciel Besoins (Requirements) Objectif : Capturer les besoins des utilisateurs. Artefacts : Modèle des cas d’utilisation Spécifications non fonctionnelles Liste des risques Maquette d’IHM Rôles : Analystes système
  24. 24. GL & MCOO A. Abdellatif 24UML et le processus de développement logiciel Analyse et conception (Analysis & Design) Objectif : Traduire les cas d’utilisation des besoins en artefacts de conceptions du système. Artefacts : Modèle de conception Modèle de déploiement Modèle de données Rôles : Concepteurs Architectes
  25. 25. GL & MCOO A. Abdellatif 25UML et le processus de développement logiciel Implémentation Objectif : Raffiner le modèle de conception et produire des composants logiciels. Artefacts : Modèle de composants Prototype ou version du logiciel Rôles : Développeurs Intégrateurs
  26. 26. GL & MCOO A. Abdellatif 26UML et le processus de développement logiciel Test Objectif : Test des composants logiciels développés. Artefacts : Plan de test Scripts de test Rôles : Testeurs
  27. 27. GL & MCOO A. Abdellatif 27UML et le processus de développement logiciel Déploiement (Deployment) Objectif : Conditionnement du logiciel et sa mise à la disposition des utilisateurs. Artefacts : Plan de déploiement logiciel Rôles : Gestionnaire de déploiement
  28. 28. GL & MCOO A. Abdellatif 28UML et le processus de développement logiciel Phase Inception Consiste à : cadrer le projet Identifier les risques Réaliser un premier planning Artefacts : Version initiale de Risk list Version initiale du plan de développement du logiciel Première version du modèle de cas d’utilisation
  29. 29. GL & MCOO A. Abdellatif 29UML et le processus de développement logiciel Phase Elaboration Consiste à : Stabiliser l’architecture de référence Éliminer les risques majeurs Artefacts : Nouvelle version de Risk list Nouvelle version du plan de développement du logiciel Document décrivant l’architecture du logiciel : modèle de CU, modèle de conception relatif aux CU les plus importants, modèle de composants, modèle de déploiement
  30. 30. GL & MCOO A. Abdellatif 30UML et le processus de développement logiciel Phase Construction Consiste à : Proposer des versions exécutables du logiciel Éliminer les risques majeurs Artefacts : Version beta du logiciel Plan de déploiement Première version de la documentation
  31. 31. GL & MCOO A. Abdellatif 31UML et le processus de développement logiciel Phase Transition Consiste à : Livrer le logiciel et en assurer l’exploitation et la maintenance. Artefacts : Version finale du logiciel
  32. 32. GL & MCOO A. Abdellatif 32UML et le processus de développement logiciel Variantes du PU Le processus unifié a donné lieu à plusieurs implémentations : RUP : Rational Unified Process, Rational Software (IBM) EUP : Enterprise Unified Process, intégre les phases de post- implantation et décrivant le cycle de vie du logiciel. XUP : Extreme Unified Process, intégrant UP avec XP AUP :Agile Unified Process, instanciation partielle de PU mettant l’accent sur l’optimisation et l’efficience sur le terrain plus que sur le modèle théorique 2TUP : Two Tracks Unified Process, proposé par Valtech prenant en compte les aléas et contraintes liées aux changements perpétuels et rapides des SI des entreprises EssUP : Essential unified process, par Ivar Jacobson, intégre certains concepts de la méthodes Agile et des idées des partisans de ProcessImprovement.
  33. 33. L’eXtreme Programming (XP)
  34. 34. GL & MCOO A. Abdellatif 34UML et le processus de développement logiciel Présentation Méthode de développement itérative. Proposée par Kent BECK et Ron JEFFRIES. Ensemble cohérent de bonnes pratiques. Privilégie la production du code à celle des documents et des modèles.
  35. 35. GL & MCOO A. Abdellatif 35UML et le processus de développement logiciel Les principes d’XP Le développement se fait selon une suite d’itérations imbriquées : Itérations de développement consistant à réaliser des fonctionnalités demandées par le client (1 à 4 semaines). Itérations de livraison composées de 2 à 3 itérations de développement.
  36. 36. GL & MCOO A. Abdellatif 36UML et le processus de développement logiciel Les principes d’XP L’analyse et la conception ne peuvent être séparées de l’implémentation car : Le client peut changer d’avis en cours du projet. Risque de non compréhension des spécifications par les développeurs Risque de départ de membre de l’équipe
  37. 37. GL & MCOO A. Abdellatif 37UML et le processus de développement logiciel Les 12 pratiques d’XP Assurer un feedback constant : 1. Développement piloté par les test 2. Le jeu de la planification 3. Le client sur site 4. Programmation en binôme Mettre en place un processus fluide et continu : 5. Intégration continue 6. Amélioration du code par la réécriture 7. Itérations de livraison courtes
  38. 38. GL & MCOO A. Abdellatif 38UML et le processus de développement logiciel Les 12 pratiques d’XP Favoriser une compréhension partagée : 8. Conception simple 9. User de la métaphore 10. Propriété collective du code 11. Conventions de codage Assurer le bien-être de l’équipe : 12. Un rythme de travail continu sans surcharge
  39. 39. Processus simplifié
  40. 40. GL & MCOO A. Abdellatif 40UML et le processus de développement logiciel Présentation C’est un processus de développement logiciel qui se trouve à mi-chemin entre le PU et l’XP. Il regroupe les avantage de chacun des ces processus et évite leurs inconvénients : Généricité du PU Rapidité d’obtention du code de l’XP Éviter la lourdeur du PU
  41. 41. GL & MCOO A. Abdellatif 41UML et le processus de développement logiciel Caractéristiques Le processus simplifié a les caractéristiques suivantes : Basé sur les cas d’utilisation comme le PU, Plus simple que le PU, Léger comme l’XP, Ne néglige pas l’analyse et la conception, Utilise 20% d’UML pour modéliser 80% du système
  42. 42. GL & MCOO A. Abdellatif 42UML et le processus de développement logiciel Les phases du processus Le processus de développement logiciel est composé des phases suivantes : Étude des besoins Analyse Conception Implémentation
  43. 43. GL & MCOO A. Abdellatif 43UML et le processus de développement logiciel Étude des besoins Cette phase consiste à : Identifier les besoins des utilisateurs à travers des entretiens avec eux. Modéliser ces besoins à l’aide de diagrammes de cas d’utilisation : Identifier les acteurs, Délimiter le système, Identifier les cas d’utilisation. Pour chaque cas d’utilisation faire: Une description textuelle, Des diagrammes de séquence système qui représentent les interactions entre les acteurs et le système. Des diagrammes d’activité ou des diagrammes d’états- transitions en cas de besoins. Réaliser une maquette.
  44. 44. GL & MCOO A. Abdellatif 44UML et le processus de développement logiciel Analyse Cette phase consiste à : Élaborer un premier diagramme de classes (dit diagramme du domaine) : Identifier les entités du domaine ( classes) Identifier les attributs Identifier les associations Simplifier le modèle en utilisant l’héritage Regrouper les classes en paquetages
  45. 45. GL & MCOO A. Abdellatif 45UML et le processus de développement logiciel Analyse (suite) Élaborer un diagramme des classes participantes. C’est un digramme qui comporte trois types de classes : Classes de dialogue : classes qui permettent l’interaction entre les utilisateurs et l’IHM. Elles sont déduites à partir de la maquette. Classes de contrôle : classes permettant de faire le lien entre les classes de dialogue et les classes entités. Elles contiennent les règles de gestion. Classes entités : elles proviennent du diagramme du domaine. Elles sont persistantes.
  46. 46. GL & MCOO A. Abdellatif 46UML et le processus de développement logiciel Analyse (suite) Élaborer des diagrammes de navigation. Ce sont des digrammes qui permettent de représenter la dynamique de la navigation à travers l’IHM. Pour ce faire, on peut utiliser : Les diagrammes d’activités Les diagrammes d’états-transitions Ces diagrammes sont rattachées aux classes de dialogue.
  47. 47. GL & MCOO A. Abdellatif 47UML et le processus de développement logiciel Conception Cette phase consiste à : Détailler les digrammes de séquence système élaborés dans la phase d’analyse en remplaçant l’objet « système » par un ensemble d’objets (dialogue, contrôle, entité). Élaborer un diagramme de classes de conception qui est obtenu par l’enrichissement du diagramme de classes participantes en rajoutant les opérations (à partir des diagrammes de séquences).
  48. 48. GL & MCOO A. Abdellatif 48UML et le processus de développement logiciel Implémentation Cette phase consiste à : Générer la base de données à partir du diagramme de classes. Générer les classes (Java, C++, …) à partir du diagramme de classes. Générer du code à partir des autres diagrammes (activité, séquence, …) si l’AGL le permet. Compléter le développement. Tester les modules.
  49. 49. GL & MCOO A. Abdellatif 49UML et le processus de développement logiciel Processus simplifié : synthèse 1 2 3 4 5 6 7 8 9 Étude des besoins Analyse Conception Implémentation
  50. 50. Quelques AGL
  51. 51. GL & MCOO A. Abdellatif 51UML et le processus de développement logiciel Quelques AGL supportant UML Power AMC Version 11 Sybase www.sysbase.com Visual Paradigm for UML Version 6.1 Visual Paradigm International www.visual-paradigm.com
  52. 52. GL & MCOO A. Abdellatif 52UML et le processus de développement logiciel Quelques AGL supportant UML MagicDraw UML Version 14.0 No Magic www.magicdraw.com Rational Rose Version 2003 IBM www-306.ibm.com/software/awdtools/developer/rose

×