560 likes | 806 Views
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
E N D
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 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, Cours d'UML
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 Cours d'UML
Phases et Activités 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 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 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 Cours d'UML
Les activités Cours d'UML
Les activités Cours d'UML
Les activités Cours d'UML
Les activités 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 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. 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 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 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) Cours d'UML
Activité « Analyse du système » (1/2) • Analyse • Identification des principales entités • Identifier les flux d’information • Grossière architecture en paquetage Cours d'UML
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) 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 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 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. 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) 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 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. Cours d'UML
Artéfacts de « l’Implantation » • Diagramme de composants • Diagramme de déploiement • Plan de construction • Code du système 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. Cours d'UML
Activité « Test » • Planifier les tests requis pour chaque itération • Conception et implantation des tests • Exécution des tests. Cours d'UML
Déroulement du « Test » • Planifier 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) 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 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. Cours d'UML
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 Cours d'UML
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 Cours d'UML
Cas d’étude : Bourse en ligne Exemple des artefact que l’on obtient • Inception • Document papier : cahier des charges… Cours d'UML
Inception • Activités « Analyse des besoins » • Glossaire • Cas d’utilisation • Prototypage d’une interface Cours d'UML
Dia. de cas d’utilisation Cours d'UML
CU « se connecter au système » Diag. d’activité Scenarii Cours d'UML
Élaboration • Diagramme de paquetages Cours d'UML
Élaboration • Diagramme de classe du paquetage connexion Cours d'UML
Elaboration • Diagramme de séquence Cours d'UML
Elaboration • Machine d’état de la classe VerifierConnexion Cours d'UML
Elaboration • Diagramme de sous-systèmes Cours d'UML
Implantation • Diag. De composants 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…. Cours d'UML