EPITECH 2009 sebastien@migniot.com UML EPITECH 2009 sebastien@migniot.com
UML1 - Introduction UML Concepts Méthodologie Définition Historique UML en entreprise Couverture Concepts Objet Classe Cas d'utilisation Interface Composant Méthodologie Cycle Séquences Classes Qualité
UML Définition Historique UML en entreprise Couverture
Définition Unified Modeling Language Unified : issu de l'unification des démarches de plusieurs chercheurs Modeling : permet de décrire le modèle, l'abstraction d'un système Language : langage normé, partageable, sans ambiguïté
Historique Issu de l'unification de OOAD, par Booch, efficace pour la description objet fine, mauvais en conception OOSE, par Jacobson, efficace en conception et en démarche OMT, par Rumbaugh, moyen sur les deux tableaux La fusion des démarches créa le U de UML
UML en entreprise UseCase : utilisations du système Sequence : déroulement par fonctionnalité Class : détail des participants
Couverture UML2 définit 13 diagrammes
Concepts Objet, les entités réelles Classe, l'abstraction Cas d'utilisation, l'utilisation en contexte Interface, une fonction parmi plusieurs Composant, l'unité réutilisable
Objet L'objet est .. un objet Mimer la réalité produit des programmes qui évoluent facilement Ce qu'il fait, ses opérations Ce qu'il est, ses attributs Exemple : Ma clef USB
Classe La classe est .. le modèle reproductible de l'objet Elle liste les comportements communs, les opérations Elle liste les propriétés communes, les attributs Exemple : Le concept de clef USB
Cas d'utilisation Décrit un comportement en contexte Issu directement du client Inclut généralement plusieurs objets et/ou classes Exemple : « Le logiciel permet de sauvegarder la facturation sur un support amovible USB externe »
Interface Déclare un contrat minimum Une utilisation parmi les multiples possibles Exemple : L'interface « Stockage USB » Le couteau suisse réalise de nombreuses interfaces
Composant Unité arbitraire Remplit des contrats, ses interfaces fournies Demande des fournisseurs de contrat, ses interfaces requises Réutilisable
Méthodologie Cycle Cas d'utilisation Séquences Classes Qualité
Cycle Recueillir le besoin client Décrire chaque scénario C'est l 'objet des diagrammes de cas d'utilisation Du plus général au plus spécifique Décrire chaque scénario C'est l'objet des diagrammes de séquence Les participants s'envoient des messages Déduire les participants C'est l'objet des diagrammes de classes Vue statique des participants
Cas d'utilisation Recueil non exhaustif du besoin client : Comment feraient tels utilisateurs dans telle ou telle situation ? Décrit ce que permet le logiciel Comprends des acteurs Point de vue client
Cas d'utilisation Mes clients pourront effectuer des virements par le logiciel Aucun virement ne sera effectué sans code secret ou identification préalable Les virements seront également possible par internet
Cas d'utilisation Le client sur-exigeant liste exhaustivement L'écriture est longue et difficile Les cas intéressants sont la création, lecture, modification, la recherche par nom et l'archivage zip Exemple : Airbus, EADS
Séquence Le diagramme de séquences décrit le déroulement une fonctionnalité Le déroulement est décrit par messages entre participants Les participants sont des objets ou des classes
Séquence Effectuer un virement C'est d'abord retirer une somme du compte 1 Puis l'ajouter au compte 2
Séquence Le diagramme de séquences affine le processus logique Le diagramme peut indiquer les cas d'erreur Le diagramme identifie participants et messages
Classes Identifie les participants et : Leurs attributs Leurs opérations Détaille les liaisons entre participants Vue statique « à plat »
Qualité Les diagrammes, notamment ceux de classes, permettent la génération du code Le code généré est complété lors du développement Le code est testé par les programmeurs et les clients par des moyens humains Pour être de qualité il devrait être testé par des moyens automatiques, reproductibles, traçables C'est l'objet des tests unitaires et des diagrammes d'activité par exemple
Récapitulatif UseCase : utilisations du système Sequence : déroulement par fonctionnalité Class : détail des participants