Processus Unifié de développement de logiciel
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 2
SUP : une simplification de RUP www-306.ibm.com/software/awdtools/rup/ Philippe Kruchten 3
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 4
Structure logique de SUP : un processus à deux dimensions 5
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? 6
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'un cas d'utilisation Inspection du modèle de conception Analyse de l'architecture logicielle Conception de l'architecture logicielle 7
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 8
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 9
Ensembles d'artefacts Inception (Début) Elaboration Construction Transition G E C I D G E C I D G E C I D G E C I D G : ensemble de gestion E : ensemble des exigences C : ensemble de conception I : ensemble d'implantation D : ensemble de déploiement 10
Enchaînement d'activités (disciplines) 11
Les 9 principaux enchaînements d activités 12
Les quatre phases du cycle de développement Version n Début Elaboration Construction Transition temps Jalon "Objectif du cycle de vie" Jalon "Architecture du cycle de vie" Jalon "Capacité opérationnelle initiale" Jalon "Livraison du produit" 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 13
Itérations, phases et cycles Début Elaboration Construction Transition itération #1 itération #2 itération #3 itération #4 itération #5 itération #6 itération #7 itération #8 itération #8 10% 30% 50% 10% première livraison interne (alpha) première livraison externe (beta) livraison finale (recette) D E C T Version 1 cycle de développement initial D E C T Version 2 cycle d'évolution D E C T cycle d'évolution 14
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. Les trois perspectives dans la modélisation objet (Martin Fowler) : Perspective conceptuelle Perspective spécification Perspective implantation 1er diagramme de classes Décrire les objets métiers et leur relations 2ième diagramme de classes Décrire les interfaces des classes Ajouter les classes non métier 3ième diagramme de classes Décrire les parties privées 15
La phase de Début Activité 1: étude préliminaire Responsable : Analyste Système Artefact : Document de Vision Activité 2 : affectation des travailleurs Responsable : Chef de projet informatique Artefact : Staff Activité 3 : planification du projet Responsable : Chef de projet informatique Artefact : Planning
La phase d Élaboration Activité 1: détailler les cas d utilisation Responsable : Spécificateur de cas d utilisation Artefacts : Diagramme de cas d'utilisation, diagrammes d'activité Activité 2 : Modélisation objet au niveau conceptuel Responsable : 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 IHM Responsable : Concepteur IHM Artefact : Maquette IHM Activité 5 : Approfondir les technologies Responsable : Testeur technologies Artefact : Dossier de tests
La phase de Construction Activité 1: Modélisation objet au niveau implantation Responsable : Concepteur Objet Artefact : Diagramme de classe au niveau implantation Activité 2 : implanter une classe Responsable : Implémenteur Artefact : Code source commenté d'une classe Activité 3 : test unitaire Responsable : Testeur de classe Artefact : Code source commenté de la classe de test Activité 4 : tests d intégration Responsable : Intégrateur Artefact : Copies d'écran de l'exécution correspondant aux scénarios
La phase de Transition Activité 1: rédiger la procédure d installation Responsable : Rédacteur technique Artefact : LisezMoi Activité 2 : réaliser un logiciel d'installation Responsable : Responsable du déploiement Artefact : Go Activité 3 : rédiger le manuel de l utilisateur Responsable : Rédacteur technique Artefact : Manuel 19
Démonstration de SUP sur une étude de cas : ComptoirFact 20
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.
Phase Début : Activité 1 : décrire la vision du projet 22
Phase Début : Activité 2 : affectation des travailleurs 23
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 24
Utiliser MS Project 25
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 textuelle 2) Diagrammes d'activité 26
Diagramme des cas d'utilisation de ComptoirFact 27
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 client 3) Le représentant choisit un numéro de commande 4) 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. 28
Diagramme d'activité "Créer une facture" 29
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 trop compliqué (non visible sur une page A4) introduire des sous-scénarios 30
Deuxième version du scénario "Créer une facture"
Exercice : Décrire sous forme textuelle le scénario complet du cas d'utilisation "Login" 32
Correction 1) Le système affiche la fenêtre de Login 2) l'utilisateur choisit son identifiant 3) L'utilisateur saisit son mot de passe 4) L'utilisateur valide le formulaire 5) Si le mot de passe est incorrect 4.1) Le système pose une question à l'utilisateur 4.2) L'utilisateur saisit la réponse 4.3) Si la réponse est incorrecte 4.3.1) Le système affiche un message d'erreur 4.3.2) Retour en 1) 6) Le système affiche la liste des actions accessibles au type d'utilisateur 33
Dessiner le diagramme d'activité correspondant
Correction 35
Phase Elaboration : Activité 2 : Modélisation Objet au niveau conceptuel
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? 37
Diagramme de classes niveau conceptuel 2 ième version
Les différentes catégories de classes Classes de données Classes génératrices de données Classes d'ihm Classes auxiliaires 39
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équence 2) 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 40
Diagramme de séquence de Login 41
Interface de la classe frontière Login 42
Phase Elaboration : Activité 4 : réaliser la maquette d IHM