Les concepts d’UML - Le Processus Unifié -
Constat de l’ingénierie logicielle Système plus gros et plus complexe! Augmentation de la puissance des ordinateurs Expansion de l’internet Attente des utilisateurs Logiciels mieux adaptés à leur besoins Mise sur le marché de plus en plus rapide Besoin Moyen de contrôle Processus intégrant différentes facettes du développement logiciel 2003/2004 Cours d'UML
Les Processus de développement Le processus fournit un guide pour le développement efficace du logiciel. Un processus définit : Les tâches à effectuer Les responsables, Quand les faire, Comment les exécuter, 2003/2004 Cours d'UML
Les grandes lignes Créateur: Processus créé en 1998 Caractéristiques: Ivar Jacobson Grady Booch James Rumbaugh Processus créé en 1998 Caractéristiques: Enchaînement d’activités Activités regroupées en phase Basé sur les cas d’utilisation 2003/2004 Cours d'UML
Phases et Activités 2003/2004 Cours d'UML
Le Processus Unifié Le systèmes est décrit en ensemble de modèles. Trois aspects de RUP: Processus itératif et incrémental. Raffinement des modèles à travers les activités Basé sur les cas d’utilisation Expression des besoins Centré sur l’architecture 2003/2004 Cours d'UML
Objectif de chaque phase (1/2) Inception Déterminer les fonctionnalités Déterminer l’étendue du projet Déterminer les critères du succès Déterminer les risques Estimer les ressources nécessaires Établir le planning et les jalons Élaboration Analyse des fonctionnalités Développer le planning Éliminer les éléments les plus risqués 2003/2004 Cours d'UML
Objectif de chaque phase (2/2) Construction Les fonctionnalités de l’application sont développés Intégration des fonctionnalités au projet Chaque aspect du projet est testé. Transition Le produit est livré au client Développement de nouvelles versions Correction de problèmes Finition des aspects du projet qui ont été retardés Des a 2003/2004 Cours d'UML
Les activités 2003/2004 Cours d'UML
Les activités 2003/2004 Cours d'UML
Les activités 2003/2004 Cours d'UML
Les activités 2003/2004 Cours d'UML
Acitivités « Business Modeling » Décrire les besoins du système Besoins et capacités du systèmes Accord entre le client et le concepteur sur ce que le système doit faire et ne pas faire Le résultat de cette activités doit être lisible par le client (non- informaticien) le chef de projet doit pouvoir planifier les itérations et les délivrables pour le client 2003/2004 Cours d'UML
Artéfacts du « Business Modeling » Cahier des charges Lister les besoins Statut :proposé, approuvé, incorporé, validé… Estimation des coûts Priorité : critique, important, auxiliaire… Niveau de risque associé. Contexte du système (glossaire…) Recueil des besoins fonctionnels. Recueil des besoins non-fonctionnels. 2003/2004 Cours d'UML
Activités « Analyse des Besoins » Modéliser les besoins Déterminer le vocabulaire « métier » pour éviter les ambiguïtés. Modéliser les fonctionnalités du système. Prototyper les IHMs Validation auprès du client, maquette de la futur application 2003/2004 Cours d'UML
Artéfacts de « l’Analyse des Besoins » Glossaire Définir les termes importants commun à toute l’équipe de développement Diagramme de cas d’utilisation Acteurs Cas d’utilisation Prototypage des interfaces graphiques 2003/2004 Cours d'UML
Déroulement « l’Analyse des Besoins » Ecriture du glossaire Terme + définition + besoin non fonctionnel Définir les besoins Identification des Acteurs (interaction avec l’environnement) Identification des cas d’utilisation Identifier les priorités Détailler les cas d’utilisation (scénarii + diagramme d’activité) Prototypage des IHMs (texte de description +schéma) Structuration des cas d’utilisation (relation extends et include) 2003/2004 Cours d'UML
Activité « Analyse du système » (1/2) Identification des principales entités Identifier les flux d’information Grossière architecture en paquetage 2003/2004 Cours d'UML
Artéfacts de « l’Analyse du système »(1/2) Diagramme de classes (analyser en fonction trois types de classes: Entité : ex compte bancaire Entité Interface : interface du caissier Entité métier : retrait d’argent Diagramme de collaboration (entre les entités et acteurs) Diagramme de paquetages (basé sur les cas d’utilisation,structuré en couche) 2003/2004 Cours d'UML
Déroulement de « Analyse du système » (1/2) Analyse de l’architecture Regrouper les CUs en paquetage. Définir les paquetages en couche (paquetage service) Identifier les classes (dizaine de classes par paquetage) Analyse des cas d’utilisation Identifier les classes (diagramme de classes) Décrire les interactions: définir les messages envoyés (diagramme de collaboration) Analyse d’une classe Identifier le rôle de la classe dans chaque cas d’utilisation Identifier les attributs Identifier les relations entre les classes Analyse des paquetages: Vérifier qu’ils sont les plus indépendants possible 2003/2004 Cours d'UML
Activité « Analyse du système » (2/2) Conception Conception de l’architecture Identification des nœuds du système Configuration réseau Identification des sous-systèmes et de leurs interfaces Conception des classes significatives Les classes sont ré-étudiés en détail Identification des classes actives concurrence entre les processus 2003/2004 Cours d'UML
Artéfacts de « l’Analyse du système »(2/2) Diagramme de classes Diagramme d’interactions entre les classes Diagramme d’états transitions Diagramme de sous-systèmes Diagramme d’interactions entre les sous-systèmes. 2003/2004 Cours d'UML
Déroulement de « Analyse du système » (2/2) Conception des Cus Identifier les classes participant à chaque CU en identifiant des aspects génériques (template, patterns)…(Diag. Classes) Description des interactions entre les classes.(Diag de séquences par CU) Identification des sous-systèmes et de leur interfaces. (Diag. de classes) Description des interactions entre les sous-systèmes (Diag. de séquences) 2003/2004 Cours d'UML
Déroulement de « Analyse du système » (2/2) Conception des Classes Identification des opérations Identification des attributs Identification des associations Identifier les liens d’héritage Décrire l’algorithme de chaque méthode Décrire les différents états atteints par les objets. Conception de sous-systèmes Maintien des dépendances. Déterminer les opérations des interfaces 2003/2004 Cours d'UML
Activité « Implantation » Description de l’architecture. Décrire les composants à partir des sous-systèmes. Plan de construction Description des séquences de réalisation Gestion des versions Implantation des sous-systèmes Construction des IHMs. 2003/2004 Cours d'UML
Artéfacts de « l’Implantation » Diagramme de composants Diagramme de déploiement Plan de construction Code du système 2003/2004 Cours d'UML
Déroulement de « l’Implantation » Implantation de l’architecture Identifier les composants = sous-systèmes (diag. de composants). Identifier les composants sur les nœuds (diag. de déploiement) Intégration du système Planifier la construction Prévoir la construction (création, compilation…) Implantation des sous-systèmes S’assurer que les composants correspondent bien au fonctionnement des sous-systèmes. Implanter les classes Générer le code Implanter les opérations Réaliser les tests unitaires des composants. 2003/2004 Cours d'UML
Activité « Test » Planifier les tests requis pour chaque itération Conception et implantation des tests Exécution des tests. 2003/2004 Cours d'UML
Déroulement du « Test » Planifier les tests Concevoir les tests Déterminer la stratégie de tests Estimer l’effort pour tester. Organiser les tests Concevoir les tests Concevoir les cas de test d’intégration (à partir des CUs) Concevoir les tests du système (ensemble de CUs) Concevoir les tests de régression Création des procédures de test (sur un sous-système) 2003/2004 Cours d'UML
Déroulement du « Test » Implantation de test Création de composants test Exécution des tests d’intégration Exécution des procédures de tests. Comparaison les résultats avec l’attente. Rapporter les défauts (implantation ou conception). Évaluer les tests Préparation de métriques pour déterminer la qualité du logiciel Exhaustivité des tests (indiquer le pourcentage des cas de test effectués) Intégrité ensemble des défauts découverts 2003/2004 Cours d'UML
Activité « Déploiement » Assurer la continuité avec le client. Guide utilisateur à partir des UCs. Assurer le maintien technique Guide technique Modèle d’application Choix de modélisation Choix d’implantation Corriger l’application en fonction du retour du client. Gestion des versions. 2003/2004 Cours d'UML
RUP en résumé Inception Elaboration Activité « Business Modeling » Activité « Besoin » Accord avec le client Elaboration Activité « Analyse et conception » Activité « Test » Modèle stable complet et consistent 2003/2004 Cours d'UML
RUP en résumé Construction Transition Activité « Besoin » Activité « Implantation » Activité « Test » Première version avec qq fonctionnalités Transition Activité « Test » Activité « Déploiement » Produit livré, fin de contrat pour la prise en main du produit 2003/2004 Cours d'UML
Cas d’étude : Bourse en ligne Exemple des artefact que l’on obtient Inception Document papier : cahier des charges… 2003/2004 Cours d'UML
Inception Activités « Analyse des besoins » Glossaire Cas d’utilisation Prototypage d’une interface 2003/2004 Cours d'UML
Dia. de cas d’utilisation 2003/2004 Cours d'UML
CU « se connecter au système » Diag. d’activité Scenarii 2003/2004 Cours d'UML
Élaboration Diagramme de paquetages 2003/2004 Cours d'UML
Élaboration Diagramme de classe du paquetage connexion 2003/2004 Cours d'UML
Elaboration Diagramme de séquence 2003/2004 Cours d'UML
Elaboration Machine d’état de la classe VerifierConnexion 2003/2004 Cours d'UML
Elaboration Diagramme de sous-systèmes 2003/2004 Cours d'UML
Implantation Diag. De composants 2003/2004 Cours d'UML
Voir plus loin Appliquons RUP et réalisons le CU de création de compte. Une itération Suivre les phases et les activités…. 2003/2004 Cours d'UML