Chapitre I Introduction & Diagramme des cas d’utilisation Cours Mohammed BEKKAL

Chapitre I Introduction & Diagramme des cas d’utilisation Cours Mohammed BEKKALI mohammed.bekkali@um5.ac.ma ENSAM-Rabat Université Mohamed V Introduction à la modélisation Objet Génie Logiciel ◦Génie Logiciel (Software Engineering) = Science de l'ingénierie du logiciel – « Application pratique de la connaissance scientifique dans la conception et l'élaboration de programmes informatiques et de la documentation associée nécessaire pour les développer, les mettre en œuvre et les maintenir » (B. W. Boehm, 1976) LE LANGAGE UML – [ M. BEKKALI ] 2 Introduction à la modélisation Objet Cycle de vie d’un logiciel Le cycle de vie désigne toutes les étapes du développement d’un logiciel, de sa conception à sa disparition: ◦Définition des objectifs : Définir la finalité du projet et son inscription dans une stratégie globale. ◦Analyse des besoins et faisabilité : Expression, recueil et formalisation des besoins et estimation de leur faisabilité. ◦Spécification ou conception générale : Élaboration des spécifications de l’architecture. ◦Conception détaillée : Définir précisément chaque sous-ensemble. ◦Implémentation : Traduction dans un langage de programmation. LE LANGAGE UML – [ M. BEKKALI ] 3 Introduction à la modélisation Objet Cycle de vie d’un logiciel ◦Tests unitaires : Vérifier que les sous-ensembles sont conformes aux spécifications. ◦Intégration : S’assurer de l’interfaçage des différents éléments (modules) du logiciel. ◦Qualification (ou recette) : Vérification de la conformité du logiciel aux spécifications initiales. ◦Documentation : Informations nécessaires pour l’utilisation du logiciel et pour des développements ultérieurs. ◦Mise en production. ◦Maintenance : Actions correctives (maintenance corrective) et évolutives (maintenance évolutive) sur le logiciel. LE LANGAGE UML – [ M. BEKKALI ] 4 Introduction à la modélisation Objet Les critères de qualité du logiciel ◦Validité : remplir exactement les fonctions définies. ◦Fiabilité ou Robustesse : fonctionner dans des conditions anormales. ◦Extensibilité (maintenance) : facilité de modification ou d’extension. ◦Réutilisabilité : en tout ou en partie. ◦Compatibilité : facilité de combinaison avec d’autres logiciels. ◦Portabilité : tourner sous différents environnements matériels et logiciels. ◦Vérifiabilité : facilité de préparation des procédures de test. ◦Intégrité : protéger code et données contre des accès non autorisés. ◦Facilité d’emploi LE LANGAGE UML – [ M. BEKKALI ] 5 Introduction à la modélisation Objet Quelques statistiques Étude du gouvernement américain en 1979 ◦Logiciels payés mais jamais livrés 40% ◦Logiciels livrés mais jamais utilisés 30% ◦Logiciels utilisés après modification 25% ◦Logiciels utilisés tel quel 5% LE LANGAGE UML – [ M. BEKKALI ] 6 Part des erreurs 64% 36% erreurs de définition. erreurs de codage Introduction à la modélisation Objet Bilan Complexité des logiciels à développer : ◦La problématique du domaine ◦Le processus de développement ◦Besoins fonctionnels en augmentation ◦Besoins techniques en augmentation ◦Nombreux intervenants Besoin de modéliser, de comprendre, d’abstraire, de détailler … Besoin d’unifier les efforts Besoin d’unifier les langages pour mieux communiquer LE LANGAGE UML – [ M. BEKKALI ] 7 Introduction à la modélisation Objet Approches d’analyse et de conception Approche fonctionnelle ◦Approche traditionnelle et intuitive utilisant des procédures et des fonctions. ◦Les grands problèmes sont ainsi décomposés en sous-problèmes plus faciles. ◦Décomposer la fonction globale jusqu’à obtenir des fonctions simples à programmer : Approche descendante. LE LANGAGE UML – [ M. BEKKALI ] 8 Introduction à la modélisation Objet Approches d’analyse et de conception Approche orienté objet ◦On identifie les éléments du système et on en fait des objets. ◦On cherche à faire collaborer ces objets pour qu’ils accomplissent la tâche voulue. ◦Modularité ◦Changements de l’attitude mentale du programmeur (Penser objets!). LE LANGAGE UML – [ M. BEKKALI ] 9 Introduction à la modélisation Objet Notions de modèle et de modélisation Modèle ◦Représentation abstraite et simplifiée d’une entité du monde réel en vue de le décrire, de l’expliquer ou de le prévoir. ◦Un modèle est une simplification de la réalité.  Pourquoi modéliser ? ◦Mieux comprendre le fonctionnement du système. ◦Maîtriser la complexité et assurer la cohérence. ◦Mieux repartir les taches et automatiser certaines d’entre elles. ◦Facteur de réduction des coûts et des délais (ex : génération automatique de code). ◦Assurer un bon niveau de qualité et une maintenance efficace. LE LANGAGE UML – [ M. BEKKALI ] 10 Introduction à la modélisation Objet Modélisation avec UML Qu’est ce qu’UML (Unified Modeling Language) ? ◦C’est un langage de modélisation unifié permettant de représenter des modèles, il est appliqué à l’analyse et la conception des logiciels. En clair ◦UML: norme qui définit les diagrammes et les conventions à utiliser lors de la construction de modèles décrivant le fonctionnement, la structure et le comportement d’un logiciel. ◦Les modèles sont des diagrammes constitués d’éléments graphiques et de texte. UML est un langage de modélisation et non pas une méthode LE LANGAGE UML – [ M. BEKKALI ] 11 Objet Modélisation avec UML  Historique de modélisation par objets: ◦1990-95 : Plus de 50 méthodes de modélisation objets apparaissent. ◦1994 : Consensus autour de 3 méthodes : OMT, Booch, OOSE. ◦1995 : Méthode unifiée, Unified Method 0.8 (OMT + Booch). ◦1996 : UML 0.9 (Unified Method 0.8 + OOSE). ◦1996 : UML 1.0 (IBM, SUN, Microsoft, Oracle, HP, etc.) ◦1997 : L’OMG adopte UML 1.1. ◦2005 : UML 2.0 ◦2009 : UML 2.2 LE LANGAGE UML – [ M. BEKKALI ] 12 Objet Modélisation avec UML  Principes et caractéristiques d’UML : ◦Langage visuel de modélisation (Utilisation de graphes/ schémas) ◦Conception orientée objet ◦Couvre toutes les phases d'un projet (analyse des besoins, … déploiement). ◦Lisible par des humains et des machines. ◦Supportée par plusieurs outils (VisualParadigm, Rational ROSE …) ◦Indépendant de tout langage de programmation. LE LANGAGE UML – [ M. BEKKALI ] 13 Objet Modélisation avec UML  Axes de modélisation d’un système LE LANGAGE UML – [ M. BEKKALI ] 14 Diagramme Use Cases LE LANGAGE UML – [ M. BEKKALI ] 15 Diagramme Use Cases Sommaire ◦Présentation du diagramme ◦Acteurs ◦Cas d’utilisation ◦Sujet ◦Relations entre cas d’utilisation ◦Exemples de synthèse LE LANGAGE UML – [ M. BEKKALI ] 16 Diagramme Use Cases Principe Description ◦c’est le premier diagramme à développer lors d’une modélisation UML ◦il donne une représentation graphique qui résume le cahier des charges ◦il permet d'identifier les fonctionnalités que le système doit fournir à ses utilisateurs ◦il fixe le périmètre entre le système et son environnement ◦il permet d’identifier les acteurs interagissant avec le système, et les structurer ◦il permet d’identifier les besoins de chaque acteur En résumé …Le diagramme répond à deux questions : ◦quels sont les services/fonctionnalités que le système doit fournir ? ◦quels sont les acteurs pour lesquels le système sera développé ? LE LANGAGE UML – [ M. BEKKALI ] 17 Diagramme Use Cases Exemple Syntaxe intuitive : ◦Sans connaitre UML on peut facilement lire le diagramme ! LE LANGAGE UML – [ M. BEKKALI ] 18 Gestion de Voitures Diagramme Use Cases Eléments du diagramme Sujet ◦Définit le contexte du diagramme UC et trace les frontières du sous système étudié Cas d’utilisation ◦Représente un besoin, une fonctionnalité, un objectif à atteindre par le système. Acteurs ◦Un utilisateur du système : un rôle joué par une personne, ou un service, qui interagit avec le système étudié. Relations ◦Relations entre les acteurs ◦Relations entre les cas d’utilisation ◦Relation entre les acteurs et les cas d’utilisation LE LANGAGE UML – [ M. BEKKALI ] 19 Gestion de Voitures Les acteurs Définitions Définitions : ◦Rôle joué par une entité externe en interaction avec le système étudié. ◦Le système offre des services/fonctionnalités aux acteurs ◦Un acteur peut être humain ou non humain ◦Un acteur est toute entité qui a des besoins spécifiques envers le système ◦La notion d’acteur peut être étendue pour désigner : ◦Un autre sous-système qui demande des services aux système actuel ◦Des capteurs qui vont déclencher certaines fonctionnalités du système et qui vont modifier son état. Par exemple on peut considérer un capteur wifi qui demande la connexion réseau comme l’acteur déclencheur du UC « se connecter » ◦Des bases de données qui vont alimenter le système par des données et qui vont aider à la réalisation de certaines fonctionnalités LE LANGAGE UML – [ M. BEKKALI ] 20 Les acteurs Types Types d’acteurs ◦ La nature physique : ◦Acteur humain ◦Acteur non humain : un autre système, capteur, base de données ◦ La nature logique : ◦Acteur primaire : acteur responsable du déclenchement de l’activité, et pour lequel le cas d’utilisation produit un résultat observable. ◦Acteur secondaire : acteur qui participe à l’activité, aide à sa réalisation, ou sollicité pour des informations complémentaires. LE LANGAGE UML – [ M. BEKKALI ] 21 Les acteurs Notion de rôle LE LANGAGE UML – [ M. BEKKALI ] 22  Le nom donné à un acteur ne désigne pas forcément une classe ou un objet, le nom d’un acteur doit désigner le rôle joué dans l’activité  Exemple : dans le diagramme de classes suivant, une personne peut jouer plusieurs rôle dans le système: Elle peut être le propriétaire d’une voiture Elle peut être un étudiant dans une école Elle peut être membre d’une association  Soit deux instances de la classe Personne : P1 : appelée Hicham, étudiant, adhérent, et ne possède pas une voiture uploads/Ingenierie_Lourd/ 1-intro-use-case 1 .pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager