Initiation à UML: Partie 1

2 144 vues

Publié le

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 144
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
186
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Initiation à UML: Partie 1

  1. 1. Université Barack Obama L2 Sciences Informatique Session: 2013-2014 1- Introduction 2- Historique 3- Le génie logiciel 4- La modélisation UML 1 Auteur: DIALLO Boubacar Tel: 664 26 55 51 / 620 26 90 98 E-mail: hamanah08@yahoo.fr
  2. 2. 1- Introduction  Contexte  L'appréhension d'une problématique complexe telle que le développement d’application repose de plus en plus sur le recours à la modélisation informatique.  L’accélération du renouvellement des technologies conjuguée avec la pression économique et concurrentielle qui s’exerce sur les entreprises, obligent les acteurs du monde informatique à produire des solutions de plus en plus rapidement dans un contexte d’amélioration continue de la qualité et de la performance des systèmes d’information.  Notons aussi qu’Internet a été un vecteur favorisant le développement de très nombreuses applications dont une grande partie utilise des solutions à base de langage de programmation objet comme Java, C++ ou C#. 2
  3. 3. 1- Introduction  Objectif  Depuis longtemps, les informaticiens ont développé le langage UML (Unified Modelling Language) pour formaliser des besoins clients aux programmes qu'ils réalisent.  Ce langage est proposé comme moyen de communication entre modélisateurs ou informaticiens, et les autres métiers indépendamment des disciplines et de la technique informatique.  UML a apporté tout naturellement le support méthodologique qui manquait à tous les concepteurs et développeurs qui voulaient formaliser l’analyse et la conception technique de leur logiciel. 3
  4. 4. 1- Introduction  Spécifications  Depuis plus de 30 ans, la conception des bases de données est réalisée à l’aide du modèle entité-association. Ce modèle a fait ses preuves et la plupart des outils informatiques de conception l’utilisent encore aujourd’hui.  La notation UML s’est imposée depuis quelques années pour la modélisation et le développement d’applications écrites dans un langage objet (C++ et Java principalement).  Initialement, UML n’a pas été conçue pour les bases de données. Cependant, elle offre un même formalisme aux concepteurs d’objets métiers et aux concepteurs de bases de données.  UML s’est donc imposée en tant que langage graphique de modélisation puisque non seulement ce langage répond à un véritable besoin mais en outre il est devenu un standard de fait puisqu’il s’appuie sur une norme très structurante. 4
  5. 5. 2- Historique   UML hérite principalement des méthodes objets de Booch , OMT (Object Modeling Technique en français Technique de modélisation objet) et OOSE (Object Oriented Software Engineering) inventées respectivement par Grady Booch, Rumbaugh et Jacobson  UML est une fusion de OOA/OOSE/OMT;  Adopté par l' OMG en Novembre 1997 devient un standard. 5
  6. 6. 3- Le génie logiciel  1- Présentation 2- Les phases de réalisation d’un logiciel 2.1- La phase d’analyse 2.2- La phase de conception 2.3- La phase de réalisation 2.4- La phase de mise en place 2.5- La phase d’exploitation et maintenance 2.6- La phase de démontage 6
  7. 7. 1- Présentation du géni logiciel   Un logiciel est un ensemble d’appels de sous-programmes  Le génie logiciel est un domaine de l’informatique qui a pour objet l’étude des moyens (méthodes, outils) qui permettent de créer des logiciels de qualité.  Le but du génie logiciel est de réaliser une industrialisation de la conception logicielle afin de créer des procédés de fabrication qui répond au CQFD:   Coûts: les coûts ne seront pas dépassés: optimisation des ressources Qualités: le logiciel doit avoir les qualités suivantes:           Validité: capacité à exécuter les tâches pour lesquelles il à été créer Fiabilité: capacité de fournir les résultats attendus Robustesse: capacité à fonctionner dans des condition anormales Extensibilité: capacité à ajouter de nouvelles fonctionnalités Compatibilité: capacité à coopérer avec d’autres logiciel Efficacité: capacité de fournir de bon résultats dans les délais prévus Portabilité: capacité à être porté sur d’autre OS Lisibilité: capacité d’une personne à comprendre le code Fonctionnalités: le logiciel doit répondre aux attentes des commanditaires Délais: Les délais ne seront pas dépassés: gestion du temps 7
  8. 8. 2- Les phases de réalisation d’un logiciel   La réalisation d’un logiciel se résume en 6 phases: 3.1- La phase d’analyse 3.2- La phase de conception 3.3- La phase de réalisation 3.4- La phase de mise en place 3.5- La phase d’exploitation et maintenance 3.6- La phase de démontage 8
  9. 9. 2.1- La phase d’analyse  Etude de faisabilité  Consiste à déterminer:  les avantages,  les inconvénients que procureraient la réalisation et l’utilisation d’un nouveau logiciel.  Elle est destinée aux décideurs qui:  Valident les orientations  Chiffrent l’effort, coût de réalisation, gestion des délais, temps de formation des utilisateurs, coûts d’achat de nouveaux matériels, récupération des anciennes données. 9
  10. 10. 2.1- La phase d’analyse  Cahier des charges  Faire une étude de l’existence des logiciels.  Est un guide qui permet de définir les logiciels dans ses grandes lignes (pas trop techniques)  Indique ce qui doit être fait mais sans dire vraiment comment.  Permettra au concepteur de valider chaque étape de la réalisation du logiciel.  Indique les spécification du projet. 10
  11. 11. 2.2- La phase de conception   C’est la phase la plus importante, elle définit l’architecture du logiciel (son squelette, son comportement, etc.).  On distingue 2 architectures:  L’architecture global du logiciel: qui consiste à faire un représentation global du logiciel (c’est-à-dire, décrire le logiciel de façon global);  L’architecture détaille: décrit les composants du logiciel et le lien entre les différents composant du logiciel.  L’architecture d’un logiciel concerne 2 aspects:  Statique: décrit les parties non variable du logiciel une fois validé;  Dynamique : décrit le comportement du logiciel de façon global et de chaque composant du logiciel 11
  12. 12. 3.3- La phase de réalisation   Une fois la conception terminée et validée, la réalisation du logiciel doit être effective.  Il s’agit de transformer le schéma du logiciel en un produit (exécutable).  Cette phase consiste à conduire le logiciel Spécification Conception Réalisation Validation 12
  13. 13. 2.3- La phase de réalisation   La spécification consiste à décrire toutes les spécification:  Fonctionnelles: ce que doit réaliser le logiciel (sousprogrammes / traitements à réaliser)  Non fonctionnelles: contraintes d’environnements, performance, sécurité.  La conception consiste à apporter une réponse à l’étape précédente:  Architecture (modules, objets, classes, fonctions)  Matériel (environnement de développement, application externes utilisées).  L’implantation ( implémentation ou codage) consiste à coder les données. 13
  14. 14. 2.3- La phase de réalisation   La validation sert à vérifier chaque module. Texte.dft (Résultat correct) Module Comparaison Test de module Texte.res  Garder la trace de ce qui a été fait. 14
  15. 15. 2.4- La phase de mise en place   Maintenant que le logiciel est réalisé (l’exécutable obtenu), il faut passer à sa mise en œuvre;  Mettre en œuvre un logiciel c’est le déployer :  Installer le logiciel dans l’environnement de production.  Dès le début de la phase de réalisation, il faudrait pouvoir disposer d’une machine dans l’environnement de production  Le déploiement d’un logiciel exige la préparation de son environnement de production.  Interconnecter tous les systèmes et processus devant communiquer avant le logiciel;  Transfert des données et conversion dans un nouveau format (Récupération). 15
  16. 16. 2.5- Exploitation et maintenance  Exploitation  Le logiciel étant en place, son n’exploitation devient fondamentale.  Cette phase résume deux tâches qui doivent se réaliser depuis la mise en place du logiciel jusqu’à sa fin.  Pour commencer l’exploitation du logiciel, on fait le paramétrage du logiciel (l’insertion des données);  Ensuite faire le traitement de donné (tester le logiciel) pour détecter les erreurs s’ils y existent. 16
  17. 17. 2.5- Exploitation et maintenance  Maintenance  Une fois les erreurs détectées, il faut maintenant passer à la correction (la maintenance du logiciel).  La maintenance doit se tenir régulièrement  Il existe 3 types de maintenance:  Corrective: consiste à corriger les erreurs détectées lors de l’exploitation. Bugs qui apparaissent  Adaptative: consiste à adapter le logiciel à un besoin ou à un environnement: Besoins exprimés par les utilisateurs pour faciliter leur travail.  Perfective: le logiciel satisfaisant à toutes les exigences du cahier des charges, il est nécessaire de penser à son évolution. Il s’agit de le rendre plus performent. Mise en place d’un système de traçage des bugs (date/conditions de reproduction/solution et correction) 17
  18. 18. 2.6- Démontage   Malgré toutes les maintenances réalisées, le logiciel ne peut plus satisfaire les besoins du client; donc révolue: c’est la fin de vie du logiciel on parle alors de démontage.  Un logiciel est qualifié de révolue lorsque:  Le logiciel ne satisfait plus les besoins des utilisateurs et aucune maintenance ne peut palier à problème;  Le logiciel est dépassé par la technologie;  Le client n’à plus besoin du logiciel.  Le démontage du logiciel est assimilé comme la fin de vie du logiciel;  Il faut donc supprimer les exécutables, les drivers et les données. 18
  19. 19. La modélisation UML  1- Présentation de UML 2- Le modèle 3- L’utilisation des modèles 19
  20. 20. 4- Présentation de UML   UML (Unified Modeling Language) est normalisé par l'OMG (Object Management Group) http://www.omg.org/spec/UML/ Dernière version : 2.4.1 (Août 2011)  UML est une notation standard pour la modélisation d'applications à base d'objets (et de composants depuis la version 2)  UML est utilisable dans de nombreux autres contextes de conception ou spécification Exemple : schéma de BDD  UML est un langage utilisant une notation graphique 20
  21. 21. 1- Présentation de UML (suite)   UML, différent d’un processus de développement  UML fournit une notation/syntaxe pour les diagrammes et modèles définis pendant tout le cycle de développement  UML permet de définir des modèles de niveaux différents Analyse Conception Spécification d'implémentation ....  Il faut préciser à quel niveau correspond un modèle  On peut raffiner un modèle pour le spécifier à chaque niveau 21
  22. 22. 2- Le modèle (Diagramme)  Un modèle est une représentation partielle de la réalité  Abstraction de ce qui est intéressant pour un contexte donné  Vue subjective et simplifiée d'un système  Avec UML, on va s'intéresser principalement aux modèles d'applications informatiques  Un modèle UML = des diagrammes UML 22
  23. 23. 3- L’utilité des modèles   Faciliter la compréhension d'un système  Permettre également la communication avec le client  Vision de communication, de documentation  Définir voire simuler le fonctionnement d'un système  Dans ce cas, on se doit d'être le plus précis possible dans le contenu des modèles pour s'approcher du code  Vision de développement, de production 23
  24. 24. 1- Introduction 2- Les différents types de diagrammes 2.1- Les diagrammes structurelles 2.2- Les diagrammes comportementaux 2.2.1- Les diagrammes d’interactions 24
  25. 25. 1- Introduction   Afin d’assurer un bon niveau de cohérence et d’homogénéité sur l’ensemble des modèles, UML propose:  d’une part un certain nombre de règles d’écriture ou de représentations graphiques normalisées  et d’autre part des mécanismes ou des concepts communs applicables à l’ensemble des diagrammes.  Certains éléments, comme les stéréotypes, sont spécifiquement prévus pour assurer une réelle capacité:  d’adaptation  et d’évolution  de la notation notamment pour prendre en compte les particularités des différentes situations à modéliser. 25
  26. 26. 2- Les différents types de diagrammes   UML dans sa version 2 propose treize diagrammes qui peuvent être utilisés dans la description d’un système.  Ces diagrammes sont regroupés dans deux grands ensembles.  Les diagrammes Structurels  Les diagramme comportementaux  Dans cette catégorie, on identifie un autre sous type;  Les diagramme d’interaction 26
  27. 27. 2.1- Les diagrammes structurels   Ces diagrammes, au nombre de six, ont vocation à représenter l’aspect statique d’un système (classes, objets, composants…).  Diagramme de classe – Ce diagramme représente la description statique du système en intégrant dans chaque classe la partie dédiée aux données et celle consacrée aux traitements. C’est le diagramme pivot de l’ensemble de la modélisation d’un système.  Diagramme d’objet – Le diagramme d’objet permet la représentation d’instances des classes et des liens entre instances. 27
  28. 28. 2.1- Les diagrammes structurels   Diagramme de composant (modifié dans UML 2) – Ce diagramme représente les différents constituants du logiciel au niveau de l’implémentation d’un système.  Diagramme de déploiement (modifié dans UML 2) – Ce diagramme décrit l’architecture technique d’un système avec une vue centrée sur la répartition des composants dans la configuration d’exploitation.  Diagramme de paquetage (nouveau dans UML 2) – Ce diagramme donne une vue d’ensemble du système structuré en paquetage. Chaque paquetage représente un ensemble homogène d’éléments du système (classes, composants…). 28
  29. 29. 2.1- Les diagrammes structurels   Diagramme de structure composite: ce diagramme permet de décrire la structure interne d’un ensemble complexe composé par exemple de classes ou d’objets et de composants techniques.  Ce diagramme met aussi l’accent sur les liens entre les sous-ensembles qui collaborent. 29
  30. 30. 2.2- Les diagrammes comportementaux   Ces diagrammes représentent la partie dynamique d’un système réagissant aux événements et permettant de produire les résultats attendus par les utilisateurs. Sept diagrammes sont proposés par UML :  Diagramme des cas d’utilisation – Ce diagramme est destiné à représenter les besoins des utilisateurs par rapport au système. Il constitue un des diagrammes les plus structurants dans l’analyse d’un système. 30
  31. 31. 2.2- Les diagrammes comportementaux   – Diagramme d’état-transition (machine d’état) – Ce diagramme montre les différents états des objets en réaction aux événements.  – Diagramme d’activités (modifié dans UML 2) – Ce diagramme donne une vision des enchaînements des activités propres à une opération ou à un cas d’utilisation. Il permet aussi de représenter les flots de contrôle et les flots de données. 31
  32. 32. 2.2- Les diagrammes comportementaux   – Diagramme de séquence (modifié dans UML 2) – Ce diagramme permet de décrire les scénarios de chaque cas d’utilisation en mettant l’accent sur la chronologie des opérations en interaction avec les objets.  – Diagramme de communication (anciennement appelé collaboration) – Ce diagramme est une autre représentation des scénarios des cas d’utilisation qui met plus l’accent sur les objets et les messages échangés. 32
  33. 33. 2.2- Les diagrammes comportementaux   – Diagramme global d’interaction (nouveau dans UML 2) – Ce diagramme fournit une vue générale des interactions décrites dans le diagramme de séquence et des flots de contrôle décrits dans le diagramme d’activités.  – Diagramme de temps (nouveau dans UML 2) – Ce diagramme permet de représenter les états et les interactions d’objets dans un contexte où le temps a une forte influence sur le comportement du système à gérer. 33
  34. 34. FIN  Merci pour votre attention!!!! Vos questions SVP… Prof: M. DIALLO Boubacar Tel: 664 26 55 51 / 620 26 90 98 E-mail: hamanah08@yahoo.fr 34

×