Informatique S4-POO Programmation Orient Ee Objet - ENIB

1y ago
5 Views
2 Downloads
4.48 MB
157 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Nadine Tse
Transcription

InformatiqueS4-POOProgrammation Orientée Objet— UML —Cédric BucheÉcole Nationale d’Ingénieurs de Brest (ENIB)20 novembre 2013Cédric Buche (ENIB)POO20 novembre 20131 / 135

IntroductionObjectifs du cours – prérequisPlan1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 20132 / 135

IntroductionObjectifs du cours – prérequisPlan1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 20133 / 135

IntroductionObjectifs du cours – prérequisObjectifs du cours – prérequisObjectifs :Connaı̂tre le langage de modélisation UMLComprendre la sémantique des principaux éléments des différentsmodèlesPrérequis :Maı̂triser les principes de la programmation orientée–objetCédric Buche (ENIB)POO20 novembre 20134 / 135

IntroductionImportance de la modélisationImportance de la modélisationLa niche, la maison familiale et l’immeuble: quelques planches, des clous, un marteau et quelques outils.: plans généraux, plans d’exécution détaillés (pièces, électricité,plomberie, chauffage): planification détaillée, nombreux plans et étudesCédric Buche (ENIB)POO20 novembre 20135 / 135

IntroductionImportance de la modélisationImportance de la modélisationLa niche, la maison familiale et l’immeuble: quelques planches, des clous, un marteau et quelques outils.: plans généraux, plans d’exécution détaillés (pièces,électricité, plomberie, chauffage): planification détaillée, nombreux plans et étudesCédric Buche (ENIB)POO20 novembre 20135 / 135

IntroductionImportance de la modélisationImportance de la modélisationLa niche, la maison familiale et l’immeuble: quelques planches, des clous, un marteau et quelques outils.: plans généraux, plans d’exécution détaillés (pièces,électricité, plomberie, chauffage): planification détaillée, nombreux plans et étudesCédric Buche (ENIB)POO20 novembre 20135 / 135

IntroductionPourquoi modéliser ?Pourquoi modéliser ?Mieux comprendre le système en développementAppréhender ces systèmes dans leur entièreté modèles desystèmes complexesCédric Buche (ENIB)POO20 novembre 20136 / 135

IntroductionPourquoi modéliser ?Pourquoi modéliser ?Mieux comprendre le système en développementAppréhender ces systèmes dans leur entièreté modèles desystèmes complexesCédric Buche (ENIB)POO20 novembre 20136 / 135

IntroductionPourquoi modéliser ?Pourquoi modéliser ?Mieux comprendre le système en développementAppréhender ces systèmes dans leur entièreté modèles desystèmes complexesCédric Buche (ENIB)POO20 novembre 20136 / 135

IntroductionPourquoi modéliser ?Pourquoi modéliser ?Mieux comprendre le système en développementAppréhender ces systèmes dans leur entièreté modèles desystèmes complexesCédric Buche (ENIB)POO20 novembre 20136 / 135

Modélisation informatique : des logiciels au génieIntroduction logicielDes logiciels au génie logicielEtude projet informatique16 % conformes53 % dépassements31 % abandon Génie LogicielCédric Buche (ENIB)POO20 novembre 20137 / 135

Modélisation informatique : des logiciels au génieIntroduction logicielDes logiciels au génie logicielEtude projet informatique16 % conformes53 % dépassements31 % abandon Génie LogicielCédric Buche (ENIB)POO20 novembre 20137 / 135

Modélisation informatique : des logiciels au génieIntroduction logicielDes logiciels au génie logicielEtude projet informatique16 % conformes53 % dépassements31 % abandon Génie LogicielCédric Buche (ENIB)POO20 novembre 20137 / 135

Modélisation informatique : des logiciels au génieIntroduction logicielDes logiciels au génie logicielEtude projet informatique16 % conformes53 % dépassements31 % abandon Génie LogicielCédric Buche (ENIB)POO20 novembre 20137 / 135

IntroductionIntroduction à UML1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 20138 / 135

IntroductionIntroduction à UML1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 20139 / 135

IntroductionIntroduction à UMLUML : Unified Modeling LanguageLangage graphique de modélisation pourspécifier,concevoir,construire,et documenterdes applications informatiquesSynthèse des bonnes pratiques de l’ingénierie informatiqueUnification de modèlesStandardisation par l’OMG (Object Management Group)Cédric Buche (ENIB)POO20 novembre 201310 / 135

IntroductionIntroduction à UMLObjectifsFournir un langage visuel et expressifFournir des mécanismes d’extensionEtre indépendant des technologies et langages d’implémentationFournir une base formelle pour la modélisationCédric Buche (ENIB)POO20 novembre 201311 / 135

IntroductionIntroduction à UML3 axes de modélisationApproche classique - projet1 FonctionnelCahier des charges : diag. cas d’utilisation scénarios écritsScénarios formels : diag. seq / comm objets/classes2Statique3Dynamiqueclasses : diag. classesdynamique chaque objet : diag. états/transitionsdynamique globale : diag. activitésCédric Buche (ENIB)POO20 novembre 201312 / 135

IntroductionIntroduction à UMLPour quelles tâches ?Conception ( forward engineering ) Rétro conception ( reverse engineering) Documentation d’un système Cédric Buche (ENIB)POO20 novembre 201313 / 135

Diagramme de classes (4 UC)Plan1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 201314 / 135

Diagramme de classes (4 UC)Plan1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 201315 / 135

Diagramme de classes (4 UC)ClassesClasse, attribut et opération : notationsCompartimentidentification, onBoperationCCompartimentdes attributsCompartimentdes ́dric Buche (ENIB)Compartiment(s) optionnelsnommésPOO20 novembre 201316 / 135

Diagramme de classes (4 UC)ClassesAttribut : syntaxeCédric Buche (ENIB)POO20 novembre 201317 / 135

Diagramme de classes (4 UC)ClassesAttribut : syntaxeCédric Buche (ENIB)POO20 novembre 201317 / 135

Diagramme de classes (4 UC)ClassesAttribut : syntaxeCédric Buche (ENIB)POO20 novembre 201317 / 135

Diagramme de classes (4 UC)ClassesAttribut : syntaxeCédric Buche (ENIB)POO20 novembre 201317 / 135

Diagramme de classes (4 UC)ClassesAttribut : syntaxeCédric Buche (ENIB)POO20 novembre 201317 / 135

Diagramme de classes (4 UC)ClassesAttribut : syntaxeCédric Buche (ENIB)POO20 novembre 201317 / 135

Diagramme de classes (4 UC)ClassesAttribut : visibilitéAccessibilité : quels éléments peuvent le référencer ? #publicprotected privatepackagetout élément qui accède à la classeseul un élément de la classe ou de ses descendantsseul un élément de la classeseul un élément du même package que laclasseélément : une classe qui référence la classe considéréeCédric Buche (ENIB)POO20 novembre 201318 / 135

Diagramme de classes (4 UC)ClassesExempleCédric Buche (ENIB)POO20 novembre 201319 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : syntaxeCédric Buche (ENIB)POO20 novembre 201320 / 135

Diagramme de classes (4 UC)ClassesOpération : direction des paramètresinformation que l’objet serveur ne possède pas, mais qui estnécessaire à la réalisation de l’opération : direction ininformation nécessaire à la réalisation de l’opération ettransformée par celle-ci : direction inoutinformation produite par l’exécution de l’opération, doncinexistante avant ; direction out ou returnCédric Buche (ENIB)POO20 novembre 201321 / 135

Diagramme de classes (4 UC)ClassesExempleCédric Buche (ENIB)POO20 novembre 201322 / 135

Diagramme de classes (4 UC)ClassesExempleCédric Buche (ENIB)POO20 novembre 201323 / 135

Diagramme de classes (4 UC)Relations entre nAssociationCédric Buche (ENIB)POO20 novembre 201324 / 135

Diagramme de classes (4 UC)Relations entre classesRelation de dépendance entre classes (classifier )A use Bclientserveur (fournisseur)Indique une dépendance entre les propriétésd’une classe (le client) et une autre classe (le serveur, supplier )En conséquence, une modification du serveur peut affecter lecomportement du clientExemples :une opération de la classe A fait appel à une opération de la classe Bune opération de A a comme paramètre un objet BCédric Buche (ENIB)POO20 novembre 201325 / 135

Diagramme de classes (4 UC)Relations entre classesExemple de dépendance entre classesCédric Buche (ENIB)POO20 novembre 201326 / 135

Diagramme de classes (4 UC)Relations entre classesStéréotypes de dépendance entre classesaccesscreateinstantiatepermituseCédric Buche (ENIB)import du contenu d’un autre packagela classe crée des instances d’une autreclassela méthode d’une classe crée des instancesd’une autredonne accès aux éléments privésun élément requiert un autre élémentPOO20 novembre 201327 / 135

Diagramme de classes (4 UC)Relations entre classesGénéralisation – spécialisationGénéralisationHéritageSuper classeCAA operation1(in arg1: integer)redéfinitiond’une opérationAAABCBABA operation1(in arg1: integer)ABBABCSous classeclasse dérivéeDérivationSpécialisationCédric Buche (ENIB)POO20 novembre 201328 / 135

Diagramme de classes (4 UC)Relations entre classesGénéralisation – spécialisation : exempleCédric Buche (ENIB)POO20 novembre 201329 / 135

Diagramme de classes (4 UC)Relations entre classesGénéralisation : vocabulaireAAAABBCédric Buche (ENIB)est uneest unedérivehériteest uneest sation desuper-classedePOOBBBBAA20 novembre 201330 / 135

Diagramme de classes (4 UC)Relations entre classesAssociation : principeCédric Buche (ENIB)POO20 novembre 201331 / 135

Diagramme de classes (4 UC)Relations entre classesAssociation : rôlesRABnomRoleBnomRoleAnomRole : indique ce que représente l’ensemble des instances associéesà une instance de la classe par la relation R.L’accès peut être , # ou -nomRoleBnomRoleAnom de l’ensemble des instances de la classe Bqui sont en relation avec 1 instance de la classeA par la relation R.nom de l’ensemble des instances de la classe Aqui sont en relation avec 1 instance de la classeB par la relation R.Cédric Buche (ENIB)POO20 novembre 201332 / 135

Diagramme de classes (4 UC)Relations entre classesAssociation : multiplicitésRABmultBmultAvaleurs possibles du cardinal de l’ensemble des instances associées àune instance de la classe par la relation R.multBmultAcardinal de l’ensemble des instances de la classeB qui sont en relation avec 1 instance de la classeA par la relation R.cardinal de l’ensemble des instances de la classeA qui sont en relation avec 1 instance de la classeB par la relation R.Cédric Buche (ENIB)POO20 novembre 201333 / 135

Diagramme de classes (4 UC)Relations entre classesMultiplicité : notationnotation : min . max1.10.10.*1.*n.m, pabreg.1–*––Cédric Buche (ENIB)significationexactement 1zéro ou un (optionnel)aucun ou plusieursau moins 1entre n et m ou exactement pPOO20 novembre 201334 / 135

Diagramme de classes (4 UC)Relations entre classesAssociation unidirectionnelleCédric Buche (ENIB)POO20 novembre 201335 / 135

Diagramme de classes (4 UC)Relations entre classesContraintes sur une motionelevesPersonne{subset}0.12 delegues0.1*Etablissement �dric Buche (ENIB)*POOenseignants20 novembre 201336 / 135

Diagramme de classes (4 UC)Relations entre classesTypes grégatA3CompositeCédric Buche (ENIB)élémentR3B3CompositionComposantPOO20 novembre 201337 / 135

Diagramme de classes (4 UC)Relations entre classesAgrégationAgrégation : association simple contraintes d’intégrité graphe acyclique éléments partageablesCédric Buche (ENIB)POO20 novembre 201338 / 135

Diagramme de classes (4 UC)Relations entre classesCompositionComposition : agrégation contrainte de durée de vie composants non partageablesCédric Buche (ENIB)POO20 novembre 201339 / 135

Diagramme de classes (4 UC)Relations entre classesAgregation/composition : exempleCédric Buche (ENIB)POO20 novembre 201340 / 135

Diagramme de classes (4 UC)Relations entre classesAgregation/composition : exempleCédric Buche (ENIB)POO20 novembre 201341 / 135

Diagramme de classes (4 UC)Relations entre classesPackagegrouper dans des ensembles cohérents.structurer les diagrammes et donnent une vision globale plus claire.Cédric Buche (ENIB)POO20 novembre 201342 / 135

Diagramme de classes (4 UC)Relations entre classesNavigationpkg1 b10.1#b2AABB0.1-b30.1 op1()#op2()-op3()0.1 c1ABCédric Buche (ENIB)0.1 #c2CCPOO20 novembre 201343 / 135

Diagramme de classes (4 UC)Concepts avancésClasse abstraitePropriété optionnelle d’une classeDéfinition :classe non instanciableensemble de propriétés communes à différentes classesmais partiellement définies.donc, seuls des objets d’une classe dérivée sont instanciablesDeux raisons :12bien que l’instanciation d’un tel objet serait possible cela n’auraitpas de sensex. Personne – Eleve – Profau moins une des propriétés de la classe n’est pas définieex. Shape opération drawNotation : abstract : tagged-value placée après le nom de la classeNomClass : en italiqueCédric Buche (ENIB)POO20 novembre 201344 / 135

Diagramme de classes (4 UC)Concepts avancésAttribut dérivésa valeur se calcule à partir d’autres proprietes de la classe(attributs ou autres)symbolisés par l’ajout d’unCédric Buche (ENIB)/POOdevant leur nom20 novembre 201345 / 135

Diagramme de classes (4 UC)Concepts avancésInterface interface Nom attribut1 attribut2Variables d’état devantêtre maintenues operationA lement un protocole description de servicesCédric Buche (ENIB)POO20 novembre 201346 / 135

Diagramme de classes (4 UC)Concepts avancésRelation de réalisation : entre classes et interfaces interface IBCAattr1service1service2operationACédric Buche (ENIB)service1service2realisationPOO20 novembre 201347 / 135

Diagramme de classes (4 UC)Concepts avancésInterface : ExempleCédric Buche (ENIB)POO20 novembre 201348 / 135

Diagramme de classes (4 UC)Concepts avancésRelations avec une interface interface I1 interface I2 interface I3 interface I4I1I2 interface I3CA interface I5CACB interface I6CBCC interface I7CDI4I5I6CCCDI7Cédric Buche (ENIB)POO20 novembre 201349 / 135

Diagramme de classes (4 UC)Concepts avancésInterface : exempledescription symbolique de l’interfacelien d’utilisationIlogsaisie mot de passePassword uses source de l’interfacesymbole de l’interfaceCédric Buche (ENIB)POO20 novembre 201350 / 135

Diagramme de classes (4 UC)Concepts avancésClasse–associationcas particuliers d’associationAmARrAmBBrBCClasse associationL’association entre les classes A et B est réalisée par un objet de laclasse C (sous sa responsabilité)la classe C a des propriétés qui lui sont propres(attributs, opérations.)Cédric Buche (ENIB)POO20 novembre 201351 / 135

Diagramme de classes (4 UC)Concepts avancésClasse–associationexempleCédric Buche (ENIB)POO20 novembre 201352 / 135

Diagramme de classes (4 UC)Concepts avancésAssociation qualifiéemAARvaleurClé: TypeClérAmBrBBClé : attribut de la relation R permettant de définir (qualifier) lesous-ensemble des instances de la classe B (rôle rB) associées à 1instance de la classe Ale couple (Instance de A, valeur Clé) identifie lesous-ensemble rB.Multiplicité : mB cardinal de rBExemple : annuaire inverséCédric Buche (ENIB)POO20 novembre 201353 / 135

Diagramme de classes (4 UC)Concepts avancésAssociation qualifiée : exempleRepertoireRepertoire1 . *EntrepriseEntreprise1 . *nom fichfonction*contient1 . *contientemploie*Fichiersans qualifiantCédric Buche (ENIB)1emploie1 . *Fichier1 . *Personneavec qualifiantPersonnesans qualifiantPOOavec qualifiant20 novembre 201354 / 135

Diagramme de classes (4 UC)Concepts avancésAssociation qualifiéeexempleCédric Buche (ENIB)POO20 novembre 201355 / 135

Diagramme de classes (4 UC)Concepts avancésAssociation qualifiéeexempleCédric Buche (ENIB)POO20 novembre 201356 / 135

Diagramme de classes (4 UC)ÉlaborationDémarche pour bâtir une diagramme de classes (1/2)1Trouver les classes du domaine étudiéEn collaboration avec un expert du domaine.Les classes correspondent généralement à des concepts ou dessubstantifs du domaine.2Trouver les associations entre classesLes associations correspondent souvent à des verbes, ou desconstructions verbales, mettant en relation plusieurs classes, commeest composé de , pilote , travaille pour .Attention, méfiez vous de certains attributs qui sont en réalité desrelations entre classes.Cédric Buche (ENIB)POO20 novembre 201357 / 135

Diagramme de classes (4 UC)ÉlaborationDémarche pour bâtir une diagramme de classes (2/2)3Trouver les attributs des classesLes attributs correspondent souvent à des substantifs, ou desgroupes nominaux, tels que la masse d’une voiture oule montant d’une transaction .Les adjectifs et les valeurs correspondent souvent à des valeursd’attributs.4Organiser et simplifier le modèleEn éliminant les classes redondantes et en utilisant l’héritage.5Vérifier les chemins d’accès aux classes6Itérer et raffiner le modèleUn modèle est rarement correct dès sa première construction.Cédric Buche (ENIB)POO20 novembre 201358 / 135

Diagramme de cas d’utilisation (1 UC)Plan1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 201359 / 135

Diagramme de cas d’utilisation (1 UC)Plan1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 201360 / 135

Diagramme de cas d’utilisation (1 UC)IntroductionExprimer les besoinsComment donner un moyen simple d’exprimer les besoinsd’utilisateurs non informaticiens ?Première étape UML d’analyse d’un systèmeCédric Buche (ENIB)POO20 novembre 201361 / 135

Diagramme de cas d’utilisation (1 UC)IntroductionExigences fonctionnellesModèle construit en phase de définition des exigences fonctionnelleset enrichi pendant la phase d’analyse en utilisant d’autres modèles(entre-autres les modèles d’interaction)Objectifs :1identifier les fonctionnalités du logiciel2en définir le périmètre3identifier les éléments externes en interaction directeCédric Buche (ENIB)POO20 novembre 201362 / 135

Diagramme de cas d’utilisation (1 UC)Éléments des diagrammesActeurDéfinition :rôle joué par une entité externe qui interagit avec le systèmeil peut consulter et/ou modifier l’état du système par messagesComment les identifier ?utilisateurs humainssystèmes connexes qui interagissent également avec le systèmeComment les représenter ?mot clef actor Acteur3symboleActeur3stick manActeur1Exemple : Client, Conseiller financier, SI Banque .Cédric Buche (ENIB)POO20 novembre 201363 / 135

Diagramme de cas d’utilisation (1 UC)Éléments des diagrammesCas d’utilisationDéfinition :Séquences d’actions réalisées par le système (résultat observablepour un acteur)Comportement attendu (6 mode de réalisation) :ce que le futur devra fairepas comment il le feraCédric Buche (ENIB)POO20 novembre 201364 / 135

Diagramme de cas d’utilisation (1 UC)Éléments des diagrammesCas d’utilisationComment les identifier ?Ensemble des cas utilisation exigences fonctionnelles du systèmeUn cas fonction métier selon le point de vue des acteursPour chaque acteur :rechercher ses utilisations métiersdéterminer dans le cahier des charges les services attendusNommez les cas d’utilisation (point de vue acteur) :verbe à l’infinitif complémentComment les représenter ?Exemple : Consulter un compte, Retirer de l’argent, Déposer un chèque.Cédric Buche (ENIB)POO20 novembre 201365 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre acteurs et cas d’utilisationCas d’utilisation et acteursNom sujetNom cas utilisation 1Nom cas utilisation 2Nom acteur 2Nom acteur 1Acteur :élément externe en interaction directe avec le sujetCas d’utilisation :ensemble fonctionnel cohérent, identifiable extérieurementet fourni par un classeur (le sujet)Association Acteur – Cas :chemin de communication indiquant la participation de l’acteurà la réalisation du casCédric Buche (ENIB)POO20 novembre 201366 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre acteurs et cas d’utilisationAssociation : ExempleCédric Buche (ENIB)POO20 novembre 201367 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre acteurs et cas d’utilisationActeurs principaux et secondairesUn acteur est qualifié de principal pour un cas d’utilisationlorsque ce cas rend service à cet acteur.Les autres acteurs sont alors qualifiés de secondaires.Un cas d’utilisation a au plus un acteur principal.Le stéréotype primary vient orner l’association reliant un casd’utilisation à son acteur principalLe stéréotype secondaryCédric Buche (ENIB)est utilisé pour les acteurs secondairesPOO20 novembre 201368 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre acteurs et cas d’utilisationActeurs principaux et secondaires : ExempleCédric Buche (ENIB)POO20 novembre 201369 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre cas d’utilisationTypes et représentationCA1CB1CA1 inclut CB11 réalisation de CA1 1 réalisation de CB1CB2CA2 étend CB2dans un certain contexteSelon le contexte,on réalise soit CA2, soit CB2CB3CA3 spécialise CB3Selon le contexte,on réalise soit CA3, soit CB3 include CA2 extend CA3Cédric Buche (ENIB)POO20 novembre 201370 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre cas d’utilisationExemple relation d’inclusionLe cas inclus est ajouté obligatoirement au cas de baseCédric Buche (ENIB)POO20 novembre 201371 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre cas d’utilisationExemple relation d’inclusionIdentifier une partie commune aux différents cas d’utilisation et de lafactoriser dans un nouveau cas inclus dans ces derniers.Cédric Buche (ENIB)POO20 novembre 201372 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre cas d’utilisationExemple relation d’extensionEnrichir un cas d’utilisation par un autre, cependant, cetenrichissement est optionnel.Cédric Buche (ENIB)POO20 novembre 201373 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre cas d’utilisationExemple relation d’extensionL’extension se fait dans le cas d’utilisation de base, en un point précisappelé point d’extensionCédric Buche (ENIB)POO20 novembre 201374 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre cas d’utilisationExemple relation Généralisation/SpécialisationFormaliser les variations importantes sur le même cas d’utilisationCédric Buche (ENIB)POO20 novembre 201375 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre cas d’utilisationExemple completCédric Buche (ENIB)POO20 novembre 201376 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre acteursGénéralisationLa seule relation possible entre deux acteurs est la généralisationun acteur A est une généralisation d’un acteur B si l’acteur A peutêtre substitué par l’acteur Btous les cas d’utilisation accessibles à A le sont aussi à B, maisl’inverse n’est pas vrai.Cédric Buche (ENIB)POO20 novembre 201377 / 135

Diagramme de cas d’utilisation (1 UC)Relations entre acteursGénéralisation : ExempleCédric Buche (ENIB)POO20 novembre 201378 / 135

Diagramme de cas d’utilisation (1 UC)Scénarios : description textuelleScénarioDéfinition :succession particulière d’enchaı̂nements s’exécutant du début à lafin du casUn cas d’utilisation contient :un scénario nominalplusieurs scénarios alternatifs (qui se terminent normalement)plusieurs scénarios d’erreur (qui se terminent par un échec)Cédric Buche (ENIB)POO20 novembre 201379 / 135

Diagramme de cas d’utilisation (1 UC)Scénarios : description textuelleEn pratique .La fiche de description textuelle d’un cas d’utilisation n’est pasnormalisée.Cependant, on peut utiliser la structuration suivante :Sommaire d’identification (obligatoire)Descriptiondesscénarios c Buche (ENIB)non(op-Inclut titre, résumé, dates decréation et de modification, version,responsable, acteurs .Décrit le scénario nominal, lesscénarios d’erreur, les pré/postconditionsAjoute, si c’est pertinent, les informations suivantes : fréquence ; disponibilté, fiabilité, confidentialité .POO20 novembre 201380 / 135

Diagramme de cas d’utilisation (1 UC)Scénarios : description textuelleExemple scénarioSommaireDescriptionScénario nominal Réserver un véhicule1. Le client saisit son code et son login d’identification2. Le système vérifie le code et le login d’identification3. Le système demande au client de saisir les informations surla réservation4. Le client saisit les informations sur la réservation5. Le système interroge l’acteur système bancaire pour vérifierl’acompte6. Le système bancaire donne une réponse favorable7. Le système envoie au client, un message de confirmation dela demandeCédric Buche (ENIB)POO20 novembre 201381 / 135

Diagramme de cas d’utilisation (1 UC)Scénarios : description textuelleExemple scénarioSommaireDescriptionScénario alternatif Réserver un véhiculeSA1 : code d’identification erroné pour la première ou ladeuxième foisSA1 démarre au point 2 du scénario nominal3. Le système indique au client que le code est erroné, pour lapremière ou la deuxième fois.Le scénario nominal reprend au point 1.Cédric Buche (ENIB)POO20 novembre 201382 / 135

Diagramme de cas d’utilisation (1 UC)Scénarios : description textuelleExemple scénarioSommaireDescriptionScénario d’erreur Réserver un véhiculeSE1 : code d’identification erroné pour la troisième foisSE1 démarre au point 2 du scénario nominal3. Le système indique au client que le code est erroné pour latroisième fois.Le cas d’utilisation se termine en échec (l’objectif n’est pas atteint).Cédric Buche (ENIB)POO20 novembre 201383 / 135

Diagramme de cas d’utilisation (1 UC)UtilisationQuand utiliser les cas d’utilisation ?En phase d’élaborationEn discutant avec les utilisateursRemarque : Un projet de 10 années-hommes devrait comprendreenviron 12 cas d’utilisation 11. Résulat issu d’une commission de l’OOPSLACédric Buche (ENIB)POO20 novembre 201384 / 135

Diagrammes d’interaction (2 UC)Plan1Introduction2Diagramme de classes (4 UC)3Diagramme de cas d’utilisation (1 UC)4Diagrammes d’interaction (2 UC)Cédric Buche (ENIB)POO20 novembre 201385 / 135

Diagrammes d’interaction (2 UC)PlanCédric Buche (ENIB)POO20 novembre 201386 / 135

Diagrammes d’interaction (2 UC)IntroductionDu diag. de cas d’utilisation au diag. d’interactionsdiag. cas d’utilisation scénariosscénario diag. seq/commCédric Buche (ENIB)POO20 novembre 201387 / 135

Diagrammes d’interaction (2 UC)IntroductionCas d’utilisation Piloterscénario nominal pourrait être : un pilote démarre une voiture cequi allume un moteur.Comment formaliser les communications entre instances(démarrer, allumer) ? diag. de communication.Comment formaliser le séquencement des interactions (1 :démarrer ; 2 : allumer) ? diag. séquence.Avant cela, il faut représenter les instances (objets) (un pilote, unevoiture, un moteur)Cédric Buche (ENIB)POO20 novembre 201388 / 135

Diagrammes d’interaction (2 UC)IntroductionObjet : instance de classifiernom d’instance : nom de classeExemplejean : Personnepierre : PersonneCédric Buche (ENIB)POO20 novembre 201389 / 135

Diagrammes d’interaction (2 UC)IntroductionObjets : instances de classifiernomObjet::NomClassenomObjet:NomClasse stereotype Classe[etat]attr1 valeur1Cédric Buche (ENIB)POO20 novembre 201390 / 135

Diagrammes d’interaction (2 UC)Diagramme de séquenceDiagramme de séquence : durée de vie et flotstemps (logique) : séquencementobjetsobjet2:objet1:messageflots d’exécutionlignes de vieCédric Buche (ENIB)POO20 novembre 201391 / 135 pag

Introduction Introduction a UML 1 Introduction 2 Diagramme de classes (4 UC) 3 Diagramme de cas d'utilisation (1 UC) 4 Diagrammes d'interaction (2 UC) C edric Buche (ENIB) POO 20 novembre 2013 9 / 135. Introduction Introduction a UML UML : Uni ed Modeling Language Langage graphique de mod elisation pour sp eci er,

Related Documents:

La programmation oriente objet(POO) I. La programmation orientée objet La programmation orientée objets (POO) est une technique d'organisation du code d'un programme en le groupant en objets, les objets étant ici des éléments individuels comportant des informations (valeurs de données) et des fonctionnalités. L'approche orientée objet .

La programmation objets expliquée aux programmeurs Si vous êtes programmeur, mais habitué aux langages de programmation "procéduraux" (pascal, fortran, C, perl, etc.), ce chapitre est pour vous: il essaie d'expliquer comment on peut passer de la programmation procédurale à la programmation objet, via la programmation structurée.

Programmation pour la physique Ce cours est une introduction a plusieurs sujets importants pour la programmation scienti que : R evision de la programmation procedurale avec le langage Python Initiation aux principes el ementaires de la programmation orient ee objet Probl emes choisis de l'algorithmique : Algorithmes de tri Probl emes choisis de l'analyse num erique : Recherche des z eros .

I find it difficult to have a poo (constipation) It is common to have problems going to the toilet after critical illness and this includes problems with having a poo. If this happens often, you could have constipation. Signs of constipation include: having a poo less than t

Cours: Algorithmique et Programmation 2 (UE: Math ematique et Informatique) 31 janvier 2020 Informations G en erales Responsable Charles Paperman Semestre S3 Enseignement Obligatoire { Pr esentiel UEs pr e-requises Modalit es d' evaluation CC CT Structure ECTS El ement de cours Algorithmique et Programmation 2 Unit e d'enseignement Math ematique et Informatique 18 Bloc de comp etence Math .

programmation orientée objet avec le langage Java (2018) , Luc Gervais, Saint-Herblain : Éditions ENI J'apprends facilement le PHP, la programmation orientée objet et la classe PDO (2018) , Carl Brison, Paris : Ellipses , DL 2018 Conception et programmation orientées objet (2017) , Bertrand Meyer, Paris : Eyrolles , DL 2017 Programmez en .

Cours c et programmation orientée objet Programmation orientée objet 3 UMMTO Apparu dans les années 60s au sein de MIT Offre une grande souplesse de travail maintenance aisée Objet en programmation objet dans le monde réel Objet propriétés (attributs ) actions (méthodes ) Objet en C Structure de données (objet simple ) Classe

Reading Comprehension - The Eating Habits of a Mosquito Reading Comprehension - Statue of Liberty Reading Comprehension - Animal Defenses Sequencing - Taking a Timed Test Sequencing - Answering Essay Questions Dictionary Skills - Finding Definitions Dictionary Skills - Alphabetical Order Using Reference Books Using an Encyclopedia Fact or Opinion Using Who and Whom Using Bring and Take .