Les concepts dUML Le Processus Unifi 20032004 Cours

  • Slides: 44
Download presentation
Les concepts d’UML - Le Processus Unifié - 2003/2004 Cours d'UML

Les concepts d’UML - Le Processus Unifié - 2003/2004 Cours d'UML

Constat de l’ingénierie logicielle Système plus gros et plus complexe! Augmentation de la puissance

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 2

Les Processus de développement Le processus fournit un guide pour le développement efficace du

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 3

Les grandes lignes Créateur: Ivar Jacobson Grady Booch James Rumbaugh Processus créé en 1998

Les grandes lignes Créateur: 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 4

Phases et Activités 2003/2004 Cours d'UML 5

Phases et Activités 2003/2004 Cours d'UML 5

Le Processus Unifié Le systèmes est décrit en ensemble de modèles. Trois aspects de

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 6

Objectif de chaque phase (1/2) Inception Déterminer les fonctionnalités Déterminer l’étendue du projet Déterminer

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 7

Objectif de chaque phase (2/2) Construction Les fonctionnalités de l’application sont développés Intégration des

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 2003/2004 Cours d'UML 8

Les activités 2003/2004 Cours d'UML 9

Les activités 2003/2004 Cours d'UML 9

Les activités 2003/2004 Cours d'UML 10

Les activités 2003/2004 Cours d'UML 10

Les activités 2003/2004 Cours d'UML 11

Les activités 2003/2004 Cours d'UML 11

Les activités 2003/2004 Cours d'UML 12

Les activités 2003/2004 Cours d'UML 12

Acitivités « Business Modeling » Décrire les besoins du système Besoins et capacités du

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 13

Artéfacts du « Business Modeling » Cahier des charges Lister les besoins Statut :

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 14

Activités « Analyse des Besoins » Modéliser les besoins Déterminer le vocabulaire « métier

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 15

Artéfacts de « l’Analyse des Besoins » Glossaire Définir les termes importants commun à

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 16

Déroulement « l’Analyse des Besoins » Ecriture du glossaire Terme + définition + besoin

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 17

Activité « Analyse du système » (1/2) Analyse Identification des principales entités Identifier les

Activité « Analyse du système » (1/2) Analyse Identification des principales entités Identifier les flux d’information Grossière architecture en paquetage 2003/2004 Cours d'UML 18

Artéfacts de « l’Analyse du système » (1/2) Analyse Diagramme de classes (analyser en

Artéfacts de « l’Analyse du système » (1/2) Analyse 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 19

Déroulement de « Analyse du système » (1/2) Analyse de l’architecture Regrouper les CUs

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 20

Activité « Analyse du système » (2/2) Conception de l’architecture Identification des nœuds du

Activité « Analyse du système » (2/2) 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 21

Artéfacts de « l’Analyse du système » (2/2) Diagramme de classes Diagramme d’interactions entre

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 soussystèmes. 2003/2004 Cours d'UML 22

Déroulement de « Analyse du système » (2/2) Conception des Cus Identifier les classes

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 23

Déroulement de « Analyse du système » (2/2) Conception des Classes Identification des opérations

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 24

Activité « Implantation » Description de l’architecture. Décrire les composants à partir des soussystèmes.

Activité « Implantation » Description de l’architecture. Décrire les composants à partir des soussystè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 25

Artéfacts de « l’Implantation » Diagramme de composants Diagramme de déploiement Plan de construction

Artéfacts de « l’Implantation » Diagramme de composants Diagramme de déploiement Plan de construction Code du système 2003/2004 Cours d'UML 26

Déroulement de « l’Implantation » Implantation de l’architecture Identifier les composants = sous-systèmes (diag.

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 27

Activité « Test » Planifier les tests requis pour chaque itération Conception et implantation

Activité « Test » Planifier les tests requis pour chaque itération Conception et implantation des tests Exécution des tests. 2003/2004 Cours d'UML 28

Déroulement du « Test » Planifier les tests Déterminer la stratégie de tests Estimer

Déroulement du « Test » Planifier les tests Déterminer la stratégie de tests Estimer l’effort pour tester. Organiser 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 soussystème) 2003/2004 Cours d'UML 29

Déroulement du « Test » Implantation de test Création de composants test Exécution des

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 30

Activité « Déploiement » Assurer la continuité avec le client. Guide utilisateur à partir

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 31

RUP en résumé Inception Activité « Business Modeling » Activité « Besoin » Accord

RUP en résumé Inception Activité « Business Modeling » Activité « Besoin » Accord avec le client Elaboration Activité « Besoin » Activité « Analyse et conception » Activité « Test » Modèle stable complet et consistent 2003/2004 Cours d'UML 32

RUP en résumé Construction Activité « Besoin » Activité « Implantation » Activité «

RUP en résumé Construction 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 33

Cas d’étude : Bourse en ligne Exemple des artefact que l’on obtient Inception Document

Cas d’étude : Bourse en ligne Exemple des artefact que l’on obtient Inception Document papier : cahier des charges… 2003/2004 Cours d'UML 34

Inception Activités « Analyse des besoins » Glossaire Cas d’utilisation Prototypage d’une interface 2003/2004

Inception Activités « Analyse des besoins » Glossaire Cas d’utilisation Prototypage d’une interface 2003/2004 Cours d'UML 35

Dia. de cas d’utilisation 2003/2004 Cours d'UML 36

Dia. de cas d’utilisation 2003/2004 Cours d'UML 36

CU « se connecter au système » Diag. d’activité 2003/2004 Scenarii Cours d'UML 37

CU « se connecter au système » Diag. d’activité 2003/2004 Scenarii Cours d'UML 37

Élaboration Diagramme de paquetages 2003/2004 Cours d'UML 38

Élaboration Diagramme de paquetages 2003/2004 Cours d'UML 38

Élaboration Diagramme de classe du paquetage connexion 2003/2004 Cours d'UML 39

Élaboration Diagramme de classe du paquetage connexion 2003/2004 Cours d'UML 39

Elaboration Diagramme de séquence 2003/2004 Cours d'UML 40

Elaboration Diagramme de séquence 2003/2004 Cours d'UML 40

Elaboration Machine d’état de la classe Verifier. Connexion 2003/2004 Cours d'UML 41

Elaboration Machine d’état de la classe Verifier. Connexion 2003/2004 Cours d'UML 41

Elaboration Diagramme de sous-systèmes 2003/2004 Cours d'UML 42

Elaboration Diagramme de sous-systèmes 2003/2004 Cours d'UML 42

Implantation Diag. De composants 2003/2004 Cours d'UML 43

Implantation Diag. De composants 2003/2004 Cours d'UML 43

Voir plus loin Appliquons RUP et réalisons le CU de création de compte. Une

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 44