43
Processus Unifié de développement de logiciel

Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

Processus Unifiéde

développement de logiciel

Page 2: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

2Cours GLPOO de Michel Futtersack

Plan

1. SUP : une simplification de RUP

2. Les éléments de modélisation de SUP

3. Description de la dynamique de SUP

4. SUP sur une étude de cas

Page 3: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

3Cours GLPOO de Michel Futtersack

SUP : une simplification de RUP

Philippe Kruchten

www-306.ibm.com/software/awdtools/rup/

Page 4: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

4Cours GLPOO de Michel Futtersack

Pourquoi utiliser un processus de développement logiciel ?

�planifier les travaux d'une équipe

�spécifier les artefacts à réaliser

�guider dans leurs tâches les développeurs

�offrir des critères et des outils pour le suivi et l'évaluation

Page 5: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

5Cours GLPOO de Michel Futtersack

Structure logique de SUP : un processus à deux dimensions

Page 6: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

6Cours GLPOO de Michel Futtersack

Les quatre éléments de modélisation

– les TRAVAILLEURS : le qui ?

– les ACTIVITÉS et les ÉTAPES D'ACTIVITÉS : le comment ?

– les ARTEFACTS : le quoi ?

– les ENCHAINEMENTS D'ACTIVITÉS : le quand ?

Page 7: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

7Cours GLPOO de Michel Futtersack

Travailleur (worker)Rôle que doit tenir un individu dans le cadre du projet

Ressource Travailleur Activité

Paul

Marie

Vincent

Sylvie

Philippe

Concepteur

Auteur de cas d'utilisation

Auditeur du modèle de conception

Architecte

Conception objet

Description détaillée d'uncas d'utilisation

Inspection du modèlede conception

Analyse de l'architecturelogicielleConception de l'architecturelogicielle

Page 8: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

8Cours GLPOO de Michel Futtersack

Activité "Trouver des cas d'utilisation et des acteurs"

1. trouver des acteurs

2. trouver des cas d'utilisation

3. décrire comment les acteurs et les cas d'utilisation interagissent

4. mettre les cas d'utilisation et les acteurs dans des paquetages

5. représenter le modèle de cas d'utilisation via des diagrammes de cas d'utilisation

6. préparer un examen du modèle de cas d'utilisation

7. évaluer les résultats

Page 9: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

9Cours GLPOO de Michel Futtersack

Artefacts

�modèle (ex : un modèle de conception)

�élément de modèle (ex : un diagramme)

�document (ex : une étude de rentabilité, un CR de réunion)

�code source

�exécutable

Page 10: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

10Cours GLPOO de Michel Futtersack

Ensembles d'artefacts

G : ensemble de gestion

E : ensemble des exigences

C : ensemble de conception

I : ensemble d'implantation

D : ensemble de déploiement

G E C I D G E C I D G E C I D G E C I D

Inception (Début) Elaboration Construction Transition

Page 11: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

11Cours GLPOO de Michel Futtersack

Enchaînement d'activités (disciplines)

Page 12: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

12Cours GLPOO de Michel Futtersack

Les 9 principaux enchaînements d’activités

Page 13: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

13Cours GLPOO de Michel Futtersack

Les quatre phases du cycle de développement

�Début Décrire la vision du produit final �Élaboration Détailler les fonctionnalités�Construction Concevoir et implanter le produit�Transition Transmettre une version du produit aux utilisateurs

temps

Début Elaboration Construction Transition

Jalon "Objectif

du cycle de vie"

Jalon "Architecture

du cycle de vie"

Jalon "Capacité

opérationnelleinitiale"

Jalon"Livraison du

produit"

Version n

Page 14: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

14Cours GLPOO de Michel Futtersack

Itérations, phases et cycles

Début Elaboration Construction Transition

itération #2

itération #1

itération #3

itération #4

itération #5

itération #6

itération #7

itération #8

première livraisoninterne (alpha)

première livraisonexterne (beta)

livraisonfinale (recette)

itération #8

D E C T Version 1

D E C T Version 2

D E C T

10% 30% 50% 10%

cycle de développement

initial cycled'évolution

cycled'évolution

Page 15: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

15Cours GLPOO de Michel Futtersack

Les différents niveaux de modélisation Objet ?

Un programme orienté objet est un ensemble de classes. Comment définir ces classes ? De façon ITERATIVE.

1er diagramme de classesDécrire les objets métiers et leur relations

Perspective conceptuelle

2ième diagramme de classesDécrire les interfaces des classesAjouter les classes non métier

Perspective spécification

3ième diagramme de classesDécrire les parties privées

Perspective implantation

Les trois perspectives dans la modélisation objet (Martin Fowler) :

Page 16: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

La phase de Début

� Activité 1: étude préliminaireResponsable :Analyste Système Artefact : Document de Vision

� Activité 2 : affectation des travailleursResponsable :Chef de projet informatique Artefact : Staff

� Activité 3 : planification du projetResponsable :Chef de projet informatique Artefact : Planning

Page 17: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

La phase d’Élaboration� Activité 1: détailler les cas d’utilisationResponsable :Spécificateur de cas d’utilisation Artefacts :Diagramme

de cas d'utilisation, diagrammes d'activité� Activité 2 : Modélisation objet au niveau conceptuelResponsable :Concepteur Objet Artefact : Diagramme de classes

niveau conceptuel� Activité 3 : Modélisation objet au niveau spécification Responsable :Concepteur Objet Artefacts :Diagrammes de séquence

IHM<->Noyau, diagramme de classes au niveau spécification� Activité 4 : Réalisation d'une maquette d’IHMResponsable :Concepteur IHM Artefact : Maquette IHM� Activité 5 : Approfondir les technologiesResponsable :Testeur technologies Artefact : Dossier de tests

Page 18: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

La phase de Construction

� Activité 1: Modélisation objet au niveau implantationResponsable :Concepteur Objet Artefact : Diagramme de classe au

niveau implantation

� Activité 2 : implanter une classeResponsable :Implémenteur Artefact : Code source commenté d'une

classe

� Activité 3 : test unitaireResponsable :Testeur de classe Artefact : Code source commenté de la

classe de test

� Activité 4 : tests d’intégrationResponsable :Intégrateur Artefact : Copies d'écran de l'exécution

correspondant aux scénarios

Page 19: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

19Cours GLPOO de Michel Futtersack

La phase de Transition

� Activité 1: rédiger la procédure d’installationResponsable :Rédacteur technique Artefact : LisezMoi

� Activité 2 : réaliser un logiciel d'installationResponsable :Responsable du déploiement Artefact : Go

� Activité 3 : rédiger le manuel de l’utilisateurResponsable :Rédacteur technique Artefact : Manuel

Page 20: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

20Cours GLPOO de Michel Futtersack

Démonstration de SUP sur une étude de cas : ComptoirFact

Page 21: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

Le cahier des charges

ComptoirFact est un logiciel qui permet à l'utilisateur d'éditer et d'imprimer des factures émises par la société Comptoir. Chaque facture correspond à une commande d'un client. Les informations décrivant les clients, les commandes et les produits sont mémorisées dans une base de données ACCESS. On distingue trois types d'utilisateurs, qui devront s'identifier :1) l'administrateur : il peut uniquement modifier le mot de passe d'un employé. 2) le représentant: il peut éditer une nouvelle facture ou imprimer une facture existante. L'employé peut sauvegarder la facture et/ou demander à l'imprimer.3) le chef des ventes: il peut éditer, modifier, supprimer ou imprimer une facture. Il peut choisir un client et afficher une liste dont chaque ligne contient le numéro de la facture, le numéro de la commande, le nom et la quantité de chaque produit commandé et le montant total TTC de la facture. La seule modification que l'on peut faire sur une facture est l'ajout d'un pourcentage de remise exceptionnel sur le montant total hors taxe de cette facture.

ComptoirFact une application de type bureau fonctionnant sous Windows XP avec une architecture à deux niveaux : la base de données ACCESS Comptoir et un programme client écrit en Java.

Page 22: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

22Cours GLPOO de Michel Futtersack

Phase Début :Activité 1 : décrire la vision du projet

Page 23: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

23Cours GLPOO de Michel Futtersack

Phase Début :Activité 2 : affectation des travailleurs

Page 24: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

24Cours GLPOO de Michel Futtersack

Phase Début :Activité 3 : Planning

�Attribuer une durée à chaque activité

�Indiquer les relations de précédence entre activités

�Indiquer les dates des réunions intermédiaires et revues de fin de phase

Page 25: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

25Cours GLPOO de Michel Futtersack

Utiliser MS Project

Page 26: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

26Cours GLPOO de Michel Futtersack

Phase Elaboration :Activité 1 : détailler les cas d’utilisation

Réaliser le diagramme de cas d'utilisation

Décrire TOUS les scénarios de chaque cas d’utilisation

Scénario standard, puis scénarii particuliers

1) Description textuelle2) Diagrammes d'activité

Page 27: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

27Cours GLPOO de Michel Futtersack

Diagramme des cas d'utilisation de ComptoirFact

Page 28: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

28Cours GLPOO de Michel Futtersack

Scénario standard "Créer une facture"

1) Le représentant choisit un nom de client 2) le système affiche les numéros des commandes non encore facturées de ce client3) Le représentant choisit un numéro de commande4) Le système affiche les coordonnées de l'entreprise Comptoir, les coordonnées du client, la date courante, la liste des noms et des quantités de chaque produit de la commande, le pourcentage de remise et le montant total hors taxe à payer pour ce produit (après avoir déduit la remise indiquée dans la table "Détails commandes"). Le système affiche également le montant total hors taxes de la facture.5) Si le pourcentage de taxe d'un produit n'est pas connu dans la table Produit, l'utilisateur doit le saisir. 6) Le système calcule le montant total TTC de chaque produit ainsi que le total TTC. 7) Le représentant peut imprimer la facture.

Page 29: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

29Cours GLPOO de Michel Futtersack

Diagramme d'activité "Créer une facture"

Page 30: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

30Cours GLPOO de Michel Futtersack

Scénarios secondaires de "Créer une facture"

Si le représentant veut créer plusieurs factures pour le même client, doit-il choisir le nom du client pour chaque nouvelle facture ?

Si le représentant s'aperçoit après l'affichage de la facture que ce n'est pas la bonne, peut-il revenir en arrière ? À quel niveau ?

Si toutes les commandes du client choisi ont déjà été facturées, est-ce que le système affiche un message ?

Ajouter des actions au scénario principal ou si celui-ci devient tropcompliqué (non visible sur une page A4) introduire des sous-scénarios

Page 31: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

Deuxième version du scénario "Créer une facture"

Page 32: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

32Cours GLPOO de Michel Futtersack

Exercice : Décrire sous forme textuelle le scénario complet du cas d'utilisation "Login"

Page 33: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

33Cours GLPOO de Michel Futtersack

Correction

1) Le système affiche la fenêtre de Login2) l'utilisateur choisit son identifiant3) L'utilisateur saisit son mot de passe4) L'utilisateur valide le formulaire5) Si le mot de passe est incorrect

4.1) Le système pose une question à l'utilisateur4.2) L'utilisateur saisit la réponse4.3) Si la réponse est incorrecte

4.3.1) Le système affiche un message d'erreur4.3.2) Retour en 1)

6) Le système affiche la liste des actions accessibles au type d'utilisateur

Page 34: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

Dessiner le diagramme d'activité correspondant

Page 35: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

35Cours GLPOO de Michel Futtersack

Correction

Page 36: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

Phase Elaboration :Activité 2 : Modélisation Objet au niveau conceptuel

Page 37: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

37Cours GLPOO de Michel Futtersack

Est-ce qu'on va conserver en mémoire vive pendant toute la session la liste des clients avec toutes leurs caractéristiques ?

Et la liste des commandes détaillées (noms des produits et quantités) d'un client ?

Page 38: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

Diagramme de classes niveau conceptuel 2ième version

Page 39: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

39Cours GLPOO de Michel Futtersack

Les différentes catégories de classes

– Classes de données

– Classes génératrices de données

– Classes d'IHM

– Classes auxiliaires

Page 40: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

40Cours GLPOO de Michel Futtersack

Phase Elaboration :Activité 3 : Modélisation Objet au niveau Spécification

1) Découvrir les classes "frontières" du noyau grâce aux diagrammes de séquence2) Décrire les données et services publics fournis par ces classes

Dessiner un diagramme de séquence décrivant le scénario de Login

Page 41: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

41Cours GLPOO de Michel Futtersack

Diagramme de séquence de Login

Page 42: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

42Cours GLPOO de Michel Futtersack

Interface de la classe frontière Login

Page 43: Processus Unifié développement de logicielsofiane.am.free.fr/perso/UMLenPratique.pdfProcessus Unifié de développement de logiciel 2 Cours GLPOO de Michel Futtersack Plan 1.SUP

Phase Elaboration :Activité 4 : réaliser la maquette d’IHM