Semaine 3 Flashcards
Quelles sont les étapes du Développement de Systèmes Orientés Objet?
Analyse :
- Exigences
- Domaine
- Comportement
Design :
- Objectifs du design
- Architecture logique
- Design détaillé
- Architecture physique
Implémentation :
- Programmation
- Tests
Que regroupe l’analyse des exigences?
Frontières du système
Acteurs et cas d’utilisation
Cours des événements
Interfaces
Diagramme d’états
Modèle de cas d’utilisation
Dépendances de cas
Validation
Qu’est-ce que l’analyse du domaine?
Classe (objets) :
- Candidats
- Attributs
Dépendances :
- Associations
- Généralisations
- Aggrégations
Validation
Qu’est-ce que l’analyse du comportement?
Cas d’utilisation (CU) :
- Convertir ‘‘Quoi’’ en ‘‘Comment’’
- Identifier comportement du ‘‘Comment’’
Modèle de classe (MC) :
- Examiner MC pour comportement additionnel
- Associer le comportement avec les classes
Comportement du système :
- Modèle
- Valider
Qu’est-ce que le design?
Identifier les objectifs
Architecture logique :
- Packages
- Fonctionnels
- Supports
- Associations
Design détaillé :
- ‘‘Design des classes’’
- ‘‘Accès à la couche’’
- ‘‘Couche vue’’
Architecture physique :
- Matériel
- Objets en noeuds
Qu’est-ce qu’un cas d’utilisation?
Les étapes que l’utilisateur doit suivre pour utiliser un système
Composants : Cas d’utilisation, acteurs, système, relations
Frontières du système
Fonctionnalité = nombre de cas d’utilisation
Cas d’utilisation : Tâche, fonctionnalité particulière
Les objectifs :
- Décider / décrire la fonctionnalité pour parvenir à un accord
- Communiquer avec les développeurs
- Base de test
- Traçage des exigences fonctionnelles en classes/opérations
Les cas d’utilisation modélisent le comportement d’un système :
- Un cas d’utilisation est une unité de comportement du système
- Un cas d’utilisation est un contrat qui formalise l’interaction entre les parties prenantes et le système
- Un cas d’utilisation détaille l’interaction d’un acteur avec un système pour atteindre un objectif de valeur pour l’acteur
- Les cas d’utilisation sont dépendants de la technologie
La modélisation de cas d’utilisation est limitée au comportement externe du système :
- Les cas d’utilisation ne modélisent pas le système de l’intérieur
- Les cas d’utilisation ne sont pas efficaces pour capturer les exigences non fonctionnelles
- La modélisation de cas d’utilisation n’est pas la même chose que la décomposition fonctionnelle
- Les cas d’utilisation ne sont pas naturellement orientés objet
Qu’est-ce qu’un acteur dans un cas d’utilisation?
Quelqu’un/quelque chose interagit avec le système
Représente un rôle
Message (stimulus) de l’acteur initie le cas d’utilisation
Acteurs :
- Classement
- Primaire (fonctionnalité principale)
- Secondaire (support)
Les acteurs sont des rôles, pas des personnes
L’acteur est un rôle que tout utilisateur qui a reçu le rôle peut jouer.
Le but de l’acteur principal est spécifié par le nom du cas d’utilisation.
Les acteurs de soutien (ou secondaires) aident l’acteur principal à atteindre l’objectif du cas d’utilisation.
Un acteur est identifié par un nom unique qui décrit un rôle unique.
Qu’est-ce qu’un objectif dans un cas d’utilisation?
Un cas d’utilisation ne réussit que si sont objectif défini est complètement atteint.
Le nom d’un cas d’utilisation est son objectif. Le nom doit être actif, concis et décisif.
C’est l’objectif qui décide de la pertinence des activités dans un cas d’utilisation.
Qu’est-ce que le système dans un cas d’utilisation?
Le système définit les limites d’un cas d’utilisation.
Deux types de systèmes :
- Système réel : Épicerie ‘‘briques et mortier’’
- Système d’information : système de point de vente
Un cas d’utilisation ne peut pas quitter un système, mais peut dépasser ses frontières
Quelles sont les composants de base d’un cas d’utilisation?
Acteur : Représente par un bonhomme. Plusieurs acteurs peuvent être associés à un cas d’utilisation, et un acteur peut être associé à plusieurs cas d’utilisation.
Frontières du système : Le rectangle est la frontière du système ou la portée. Pour le cas d’utilisation, toute entité en dehors de cette frontière ne peut exister qu’en tant qu’acteur.
Cas d’utilisation : L’ellipse (l’ovale) représente le cas d’utilisation. Il réside à l’intérieur des limites du systèmes.
Association : La simple ligne représente l’association. Elle montre le communication entre un acteur et un cas d’utilisation.
Qu’est-ce qu’un scénario de cas d’utilisation?
Le scénario est une séquence ordonnée d’interactions entre le ou les acteurs et le système pour atteindre un objectif. Cela consiste en:
- Flux normal
- Flux alternatif
- Sous-flux
- Exceptions
Étapes dans un scénario de cas d’utilisation:
- Les étapes peuvent être répétées
- Une étape ou un ensemble d’étapes peut être répété jusqu’à ce qu’une certaine condition soit remplie. À la caisse de l’épicerie, le caissier scanne les articles achetés jusqu’à ce qu’il ne reste plus d’épicirie à scanner.
- Une étape peut faire appel à un autre cas d’utilisation
- Chaque étape peut faire appel à un autre cas d’utilisation pour compléter sa fonction
- Une étape est une transaction
- Chaque étape apparaît comme une simple interaction, mais c’est vraiment une transaction entre l’acteur et le système
- Cela signifie qu’à chaque étape :
- L’acteur envoie une requête au système
- Le système valide la demande
- Le système change son état suite à la validation
- Le système répond
Quelles sont les étapes de modélisation des cas d’utilisation?
Trouver des acteurs (définir les frontières) :
- Qui utilisera les principales fonctionnalités du système?
- Qui aura besoin du soutien du système pour effectuer les tâches quotidiennes?
- Qui aura besoin de maintenir / administer le système?
- Les périphériques matériels qui doivent être manipulés?
- Autres systèmes
- Qui est intéressé aux résultats que produit le système?
- Personnalités des acteurs :
- Initiateur : Initie le cas d’utilisation
- Serveur externe : Fournit un service pour un cas d’utilisation
- Destinataire : Reçoit les informations du cas d’utilisation
- Facilitateur : Prend en charge l’interaction d’un autre acteur avec le système
- Commencez avec deux ou trois acteurs les plus évidents et ajoutez-en d’autres dans les itérations ultérieures
Rechercher des cas d’utilisation (identifier les fonctionnalités)
- Dirigés par les acteurs
- Que doivent faire les acteurs? De quoi ont-ils besoin du système?
- Quelles informations sont lues / créées / modifiées / entrées par l’acteur?
- Informer l’acteur sur les événements
- De nouvelles fonctions du système sont-elles souhaitables?
Écrire les cas d’utilisation
- Description d’un ensemble de séquences d’actions (y compris des variantes) qui donnent un résultat observable de valeur pour un acteur
- Caractéristiques :
- Initié par des acteurs
- Fournit de la valeur à un acteur
- Est complet (incomplet jusqu’à ce que le résultat final soit produit)
- Associations de communication
- Fonctionnalité
- Alternatives possibles
- Erreurs et exceptions
- Scénarios : instances
Définir les relations entre les cas d’utilisation
- Relations :
- Étendre (‘‘extend’’)
- Inclure (‘‘include’’)
- Généralisation
- Packages
Compléter les cas d’utilisation :
- Les scénarios réels aident
- Des questions :
- Tous les acteurs ont-ils des associations de communication?
- Y’a-t-il des similitudes entre les acteurs?
- Y’a-t-il des similitudes entre les cas?
- Y’a-t-il des cas particuliers?
- Y’a-t-il des exigences fonctionnelles connues mais non incluses?
Tester le modèle :
- Validation vs. vérification
- Validation : au début du processus de développement
- Le cas d’utilisation ambulant (jeu de rôle)
Réaliser des cas d’utilisation :
- Le cas d’utilisation est réalisé dans une collaboration
- La collaboration est présentée dans un certain nombre de diagrammes montrant le contexte et l’interaction
- Le scénario est une instance de collaboration
Quels sont les champs du template de cas d’utilisation?
Champs du template :
- Nom : incarne l’objet que le cas d’utilisation souhaite atteindre
- ID : est un identifiant numérique unique pour le cas d’utilisation
- Portée : frontières du cas d’utilisation - définies par le système ou le sous-système auquel il appartient
- Priorité : décide de l’ordre de conception et de mise en oeuvre des cas d’utilisation
- Résumé : une version longue du nom du cas d’utilisation et une version courte du scénario
- Acteur principal : est l’acteur dont le but identifie et pilote le cas d’utilisation
- Acteur de soutien : aider l’acteur principal à atteindre l’objectif de cas d’utilisation
- Partie prenante : toute entité, humainte ou autre, qui a un intérêt dans l’issue du cas d’utilisation
- Précondition : définit l’état du système avant qu’un cas d’utilisation ne puisse démarrer
- Post-condition : définit l’état du système une fois qu’un cas d’utilisation est terminé
- Déclencheur : l’événement qui démarre l’utilisation
- Un flux : un ensemble ordonné d’activités qui se produisent lorsque les acteurs et le système tentent d’atteindre un objectif
Quels sont les différents types de flux de cas d’utilisation?
Flux normal : Le meilleur des cas de scénarios
Sous-flux : Les sous-étapes du flux normal
Flux alternatif : D’autres étapes altenatives qui mènent à la réussite
Exceptions : Échecs
Quels sont les types de relations dans un cas d’utilisation?
Étendre (‘‘extend’’) :
- Comportement exceptionnel
- Étendre l’activité de la classe de base au point d’extension sous condition d’extension
- Décomposition du cas d’utilisation. Montre:
- Condition de cas exceptionnel
- Point d’extension
- Une relation ‘‘extend’’ est une relation dans laquelle un cas d’utilisation est crée pour étendre les fonctionnalités d’un cas d’utilisation de base
Inclure (‘‘include’’) :
- Comportement commun dans un certain nombre de cas
- Les cas d’utilisation entiers doivent être (ré)utilisés
- S’il est utilisé, les cas d’utilisation n’est jamais utilisé seul -> cas d’utilisation abstrait
- Demandez-vous :
- Cas exceptionnels?
- Activités communes?
- Une relation ‘‘include’’ est une relation dans laquelle un cas d’utilisation utilise la fonctionnalité d’un autre cas d’utilisation indépendant
Généralisation :
- Nous généralisons les cas d’utilisation lorsqu’ils atteingent le même objectif par des moyens différents
Confusion entre ‘‘étendre’’ et ‘‘inclure’’?
- Direction de la dépendance :
- ‘‘étendre’’ dépend de la base
- ‘‘inclure’’ non
- Dans ‘‘inclure’’, il n’y a pas de condition
- Dans ‘‘étendre’’, il peut y avoir plusieurs points d’extension contrairement à ‘‘inclure’’