Systèmes d information dans les entreprises Chargé: JF Couturier Cours # 4 MTI515 Automne 2013 JF Couturier 1
Retour sur les derniers cours Le document de vision Petit retour sur les diagrammes d activité et le modèle du domaine Les techniques d explicitation des exigences (brainstorm, prototypage ) Le modèle du domaine Étude du cas de la formation des employés MTI515 Automne 2013 JF Couturier 2
Retour sur l étude de cas Faire le modèle du domaine pour l étude de cas «Formation d un employé» Liste des entités Exemples MTI515 Automne 2013 JF Couturier 3
Messages Au prochain cours 1 ere Évaluation du cours, soyez là! Rappel : Les remises se font toujours en format papier ET en format électronique Utiliser la page titre fournie sur le site Web du cours, dans la section laboratoire. MTI515 Automne 2013 JF Couturier 4
Plan du cours 4 Diagramme des cas d utilisation Les cas d utilisation Le SRS Les cas de test Prochain cours MTI515 Automne 2013 JF Couturier 5
Les modèles du cycle de développement de logiciels Domaine Modèle des Processus d affaires Exigences Modèle des Cas d utilisation Analyse Modèle d analyse du système Conception Modèle de conception du système Réalisation Code MTI515 Automne 2013 JF Couturier 6
Rappel Processus métier élémentaire (PMÉ) Une tâche accomplie par une personne dans un endroit à un instant donné, en réponse à un événement qui donne un résultat et laisse les données dans un état cohérent (Larman, p.88) Cas d utilisation Une description des séquences d actions qu un système accomplit et qui donnent un résultat observable pour un acteur particulier (Rational) En général, 1 PMÉ = 1 Cas d utilisation MTI515 Automne 2013 JF Couturier 7
Les PMÉ du garage MTI515 Automne 2013 JF Couturier 8
Comprendre les besoins MTI515 Automne 2013 JF Couturier 9
Digramme des CU Diagramme UML représentant le comportement fonctionnel d un système. Permet de visualiser les différentes actions des utilisateurs (ici des acteurs) Fait partie des diagrammes proposés par UML 2.0 MTI515 Automne 2013 JF Couturier 10
Diagramme des CU On décrit les interactions entre les utilisateurs et le système Le système est ici une boîte noire, on ne souhaite pas savoir pour l instant comment il réalise sa tâche. Diagramme puissant pour communiquer avec le client MTI515 Automne 2013 JF Couturier 11
Exemple diagramme des CU OMG Unified Modeling LanguageTM (OMG UML), Superstructure MTI515 Automne 2013 JF Couturier 12
Exemple diagramme des CU OMG Unified Modeling LanguageTM (OMG UML), Superstructure MTI515 Automne 2013 JF Couturier 13
Diagramme du cas d utilisation 2. Système 3. Cas d utilisation «Include» 5. Dépedance «Extend» 1. Acteur 6. Généralisation 4. Association MTI515 Automne 2013 JF Couturier 14
Acteur Personne, organisation, système externe qui réalise un ou plusieurs cas d utilisation. Il est important de ne pas mettre un individu, mais plutôt un rôle. MTI515 Automne 2013 JF Couturier 15
Acteur C est mal La belle sophie Comptabilité C est bien MTI515 Automne 2013 JF Couturier 16
Diagramme des CU 4 types de relation Association Extend Include Généralisation MTI515 Automne 2013 JF Couturier 17
Association Permet simplement de relier un acteur avec son ou ses cas d utilisation MTI515 Automne 2013 JF Couturier 18
Les relations entre cas d utilisation (Chapitre 30 de Larman) À n utiliser qu à bon escient La relation extend Pour représenter un comportement additionnel optionnel. La relation include Pour représenter un comportement commun à plusieurs cas. Il est obligatoire dans la réalisation du cas d utilisation appelant. La relation de généralisation (à éviter) Pour représenter une similarité conceptuelle entre les cas ou les acteurs. MTI515 Automne 2013 JF Couturier 19
Exemples de «extend» OMG Unified Modeling LanguageTM (OMG UML), Superstructure MTI515 Automne 2013 JF Couturier 20
Exemple de «include» OMG Unified Modeling LanguageTM (OMG UML), Superstructure MTI515 Automne 2013 JF Couturier 21
Exemple de «Généralisation» MTI515 Automne 2013 JF Couturier 22
Le système Vos cas d utilisation doivent se retrouver dans les limites d un système Toujours tracer une boîte où placer vos CU. Toujours identifier le système MTI515 Automne 2013 JF Couturier 23
Le système OMG Unified Modeling LanguageTM (OMG UML), Superstructure MTI515 Automne 2013 JF Couturier 24
Questions 2. 3. 5. 1. 6. 4. MTI515 Automne 2013 JF Couturier 25
Réponses 2. Système 3. Cas d utilisation «Include» 5. Dépedance «Extend» 1. Acteur 6. Généralisation 4. Association MTI515 Automne 2013 JF Couturier 26
Commentaires Un verbe pour décrire un C.U. Un cadre pour représenter le système Attention aux relations acteur-système Chaque C.U. doit se justifier Titrer et numéroter MTI515 Automne 2013 JF Couturier 27
Utilisation des relations Scénario alternatif ou Extend Include Généralisation (À éviter) Objectif: la clarté du document Ne pas oublier: le modèle des cas d utilisation ne reflète pas l architecture du système MTI515 Automne 2013 JF Couturier 28
Rappel Rappelez-vous que l important est d apprendre quelque chose de votre analyse. Passer des heures à discuter à propos d un extend ou d un include n est pas franchement une activité constructive Le texte du cas d utilisation est, lui, primordial! MTI515 Automne 2013 JF Couturier 29
Questions Quelle est la relation entre les acteurs et les rôles dans un diagramme de cas d utilisation Un acteur représente un rôle, mais pas nécessairement une personne spécifique ou un système spécifique : rôle métier Une personne peut jouer plus qu un rôle Où la relation «association» est-elle utilisée dans un diagramme de cas d utilisation? Pour relier les acteurs avec les cas d utilisation Pourquoi utiliser la dépendance stéréotype «Include»? Lorsqu un cas d utilisation délègue à un autre cas d utilisation, une ligne en pointillé est utilisée. La délégation peut survenir pour 2 raisons: Un autre cas d utilisation existe déjà et effectue la tâche désirée Plusieurs cas d utilisation partagent la même tache. MTI515 Automne 2013 JF Couturier 30
Questions Quand utiliser la dépendance de stéréotype «extends»? La dépendance stéréotypée «extends» dit qu il peut y avoir une dépendance: la relation «include» dit qu il y a toujours une dépendance La direction de la flèche va dans le sens contraire Où utiliser la relation de généralisation dans un diagramme de cas d utilisation? Lorsqu un acteur hérite des propriétés d un autre acteur: la flèche pointe vers l acteur qui est hérité. MTI515 Automne 2013 JF Couturier 31
Étude de cas Réaliser le diagramme des cas d utilisations à partir de Le cas du garage Étapes Identifier les processus métier Faire le diagramme des CU MTI515 Automne 2013 JF Couturier 32
Le garage Combien de PMÉ? J en ai identifié 6 1. Prendre rendez-vous 2. Enregistrer demande de service 3. Préparer bon de travail 4. Exécuter travail 5. Préparer facture 6. Payer MTI515 Automne 2013 JF Couturier 33
Le garage Que remarquez-vous? Pourquoi exclure le client? Discutable Il y a aussi de nouveaux acteurs Nous sommes dans un cycle itératif et il est normal de trouver de nouvelles exigences en cours de route. C est ce que l on souhaite! MTI515 Automne 2013 JF Couturier 34
Plan du cours 4 Diagramme des cas d utilisation Les cas d utilisation Le SRS Les cas de test Prochain cours MTI515 Automne 2013 JF Couturier 35
Cas d utilisation Le cas d utilisation a trois sources principales: Le diagramme de cas d utilisation Le narratif de cas d utilisation Les scénarios de cas d utilisation Les acteurs définissent des entités à l extérieur du système qui vont interagir avec le système Les associations indiquent quels acteurs vont accéder à quelles fonctionnalités du système. Les dépendances décrivent la nature de la relation entre cas d utilisation La généralisation est utilisée pour illustrer les relations d héritage entre cas d utilisation et entre acteurs. MTI515 Automne 2013 JF Couturier 36
Narratif du cas d utilisation Le narratif du cas d utilisation décrit, en terme de l utilisateur, ce que les utilisateurs s attendent des cas d utilisation; les exigences. Le cas d utilisation représente les fonctionnalités du système avec un début, un traitement et une fin; la description du processus. L initiation du cas d utilisation décrit comment commencer le cas d utilisation MTI515 Automne 2013 JF Couturier 37
Lignes directrices (adapté de Effective Use Cases de A.Cockburn) Rendez le CU facile à lire Mettez en évidence chaque transaction élémentaire Faites des phrases courtes En général, une seule phrase par étape Limitez-vous aux relations Include, sous cette forme: Étape X. Le client consulte le catalogue des produits. Plus rarement aux relations Extend, via les points d extension Évitez la forme passive Placez-vous au bon niveau (normalement au niveau Système ) Évitez de décrire l interface utilisateur Pensez à satisfaire tous les intervenants, pas seulement l acteur Définissez les préconditions (l état du système au moment de l événement déclencheur) Numérotez les étapes du scénario normal et des scénarios alternatifs Recommandé: illustrez tous les scénarios possibles par un diagramme.., cf plus loin N oubliez pas que les CU sont juste une partie des exigences Pour identifier les extensions, pensez à toutes les conditions d échec possible, et supposez que 1) la technologie est parfaite 2) les utilisateurs sont honnêtes Identifiez toutes les terminaisons possibles (succès ou échec) Le diagramme des CU n est: Qu une table des matières Qu un diagramme de contexte MTI515 Automne 2013 JF Couturier 38
Cas d utilisation Élément du CU Titre et numéro (traçabilité) Acteur(s) primaire et secondaires Pré-conditions Scénario normal / nominal Scénario(s) alternatif(s) / erreurs Postcondition Point d extension MTI515 Automne 2013 JF Couturier 39
Acteur principal Il s agit de l utilisateur qui débute et poursuit l avancement du CU. Il amorce chaque étape des scénarios et le système réagit à ses actions. Un acteur principal peut être un autre système, externe au système à l étude. Dans les cas où aucun utilisateur n intervient, il est possible de désigner un acteur virtuel; il s agit bien souvent d un timer qui est déclenché à intervalle régulier ou de capteurs externes. (Rare) MTI515 Automne 2013 JF Couturier 40
Acteur secondaire Un acteur secondaire ne déclenche pas un cas d utilisation et ne contrôle pas l avancement des étapes d un cas d utilisation, mais réagit aux actions d un acteur principal ou sous l action du système. Par exemple, un guichet a comme utilisateur principal le client et comme acteur secondaire, le système central de gestion des transactions MTI515 Automne 2013 JF Couturier 41
Pré/Post-Condition Pré-condition Il s agit de conditions nécessaires à l amorce d un cas d utilisation Postcondition Il s agit généralement des conditions en cas de succès du scénario nominal du CU. MTI515 Automne 2013 JF Couturier 42
Scénario principal Le scénario principal décrit une séquence d actions, du déclencheur du cas d utilisation jusqu à la réalisation complète de l objectif de l acteur principal. On l appelle, selon l auteur, le scénario principal, nominal ou normal MTI515 Automne 2013 JF Couturier 43
Scénario alternatif Une ou plusieurs alternatives au scénario nominal Énoncé à part, pour garder le scénario principal le plus lisible possible. Un scénario alternatif peut avoir un point précis d attache au scénario principal (une condition de déclenchement, à une unique étape d un cas d utilisation). MTI515 Automne 2013 JF Couturier 44
Cas d utilisation Voir un exemple de gabarit MTI515 Automne 2013 JF Couturier 45
Les limites du modèle des CU Ne s applique pas dans tous les cas, notamment s il y a: Peu d interfaces Beaucoup d exigences non fonctionnelles MTI515 Automne 2013 JF Couturier 46
Les différents modèles de CU D affaires (Business Use Case) Système (Essentiel) Niveau des nuages (résumé) Niveau de la mer Niveau sous l eau (fonction) De conception (réel) MTI515 Automne 2013 JF Couturier 47
Quelques exemples de CU Voir des exemples de CU Le cas de la vente Le cas du garage Le cas de Air Québec MTI515 Automne 2013 JF Couturier 48
Commentaires sur les ch.1 et 2 Construire le modèle du domaine d affaires avant celui des cas d utilisation Identifier le glossaire / les concepts statiques L identification des cas d utilisation devrait précéder celle des acteurs Représentation intéressante des scénarios (Fig. 1.3) Recommandation: faire un diagramme de contexte (Fig. 1.4) Le diagramme de séquence système MTI515 Automne 2013 JF Couturier 49
Plusieurs formats possibles Texte (une colonne, deux colonnes, ) Diagramme d activité Diagramme de séquence MTI515 Automne 2013 JF Couturier 50
Modélisation graphique des CU Diagramme d activité ou diagramme de séquence (Voir Chapitre 1, étape 5 du livre) Recommandation: le diagramme d activité Pourquoi? Automatisation Transformation MDA MTI515 Automne 2013 JF Couturier 51
Le cas d utilisation sous forme de diagramme d activité Correspondance des éléments Acteur Partition (swimlane) Pré et postconditions: notes reliées au point de début, point de fin Étape - Action Voir article MTI515 Automne 2013 JF Couturier 52
Représentation visuelle par les diagrammes d activité On peut véhiculer autant (et même plus) d informations sous la forme visuelle d un diagramme d activité que sous la forme textuelle traditionnelle Le diagramme des cas d utilisation peut aussi être remplacé par un diagramme d activité, qui représente le workflow du système Avec le diagramme d activité, on peut: mettre plus d informations générer les cas de tests utiliser un outil de modélisation utiliser les mécanismes de transformation de modèle à modèle Avoir plusieurs acteurs MTI515 Automne 2013 JF Couturier 53
Cas d utilisation graphique MTI515 Automne 2013 JF Couturier 54
Utilisations des cas d utilisation Participation du client Analyse du système Conception de l interface utilisateur Cas de tests Documentation du système Manuel? Identification des règles d affaires Mesure de la taille fonctionnelle MTI515 Automne 2013 JF Couturier 55
Avec les CU Vous serez en mesure de rédiger des Diagrammes de séquence Diagrammes d analyse (Jacobson) Identification des interfaces (à venir) Identification des contrôleurs (à venir) Jeux d essais Diagramme de flux de données (DFD) MTI515 Automne 2013 JF Couturier 56
Que doit-on modéliser? La règle du boss Modéliser l identification d un utilisateur? La règle de la taille Un cas d utilisation avec une seule étape? Une dizaine d étape c est déjà plus intéressant La règle du PMÉ MTI515 Automne 2013 JF Couturier 57
Sondage interne Qui utilise ou a déjà utilisé les cas d utilisations? Si oui, vos impressions Sinon, comment validez-vous le comportement du système avec le client/utilisateur? Prototype? Et lorsque vous n en savez rien? MTI515 Automne 2013 JF Couturier 58
Étude de cas Reprendre le cas AirQuébec Réaliser la version textuelle Réaliser la version visuelle/graphique MTI515 Automne 2013 JF Couturier 59
Réserver un vol Un client veut réserver un vol. Il ouvre le système et demande la liste des vols pour une direction donnée. Le système consulte la liste des vols et demande au client le nombre de billet et ses disponibilités. S il y a des disponibilités, le client spécifie le nombre de billet et confirme sa réservation. Il fournit au système ses informations personnelles. Le système demande si le client veut choisir ses sièges contre un paiement de 10$. Si oui, le client précise ses préférences. Le système lui suggère les meilleurs sièges. Le système demande les informations nécessaires pour effectuer le paiement du vol. Le client paie par carte de crédit. Le système confirme la réservation et transmet le numéro de réservation au client. Les billets sont ensuite envoyés par la poste. MTI515 Automne 2013 JF Couturier 60
Plan du cours 4 Diagramme des cas d utilisation Les cas d utilisation Le SRS Les cas de test Prochain cours MTI515 Automne 2013 JF Couturier 62
SRS Document de spécification des exigences logicielles. Fait suite au document de vision Rappelez-vous de numéroter vos éléments Traçabilité! MTI515 Automne 2013 JF Couturier 63
SRS Besoins Vision Document Caractéristiques SRS SRS Package Exigences logicielles Use-Case Model Supplementary Specifications Pierre Bourque, mgl-801, cours 7 MTI515 Automne 2013 JF Couturier 64
Exigences dans le SRS Il y a 2 grandes catégories d exigences fonctionnelles Non fonctionnelles MTI515 Automne 2013 JF Couturier 65
Exigences fonctionnelles Ce que le système doit faire Ajouter un client Fermer la porte de l ascenseur Facile de mesurer sa réalisation MTI515 Automne 2013 JF Couturier 66
Exigences non fonctionnelles Facilité d utilisation Fiabilité MTBF, MTTR Performance Facilité d entretien Hum hum Beaucoup moins claires Sources de confusion, de discorde avec le client, car difficile à mesurer ou à valider MTI515 Automne 2013 JF Couturier 67
SRS Voir le gabarit Voir exemples MTI réalisent un SRS en MGL-801 GTI feront un SRS à la fin de la session MTI515 Automne 2013 JF Couturier 69
Matrice de traçabilité Il peut être intéressant de faire le lien entre le document de vision et le SRS en créant une matrice de traçabilité. Lien avec les caractéristiques identifiées lors de la rédaction du document de vision MTI515 Automne 2013 JF Couturier 70
Plan du cours 4 Diagramme des cas d utilisation Les cas d utilisation Le SRS Les cas de test Prochain cours MTI515 Automne 2013 JF Couturier 71
Les cas de test Les tests sont généralement abordés beaucoup plus tard dans le cycle de développement. Pourtant, il est déjà possible d utiliser les diagrammes d activité et les cas d utilisation pour identifier les tests possibles. Penser aux différents scénarios d un CU MTI515 Automne 2013 JF Couturier 72
Les cas de test Étapes 1. Identifier tous les scénarios 2. Pour chaque scénario, identifier les cas de test 3. Pour chaque cas de test, identifier les conditions qui vont créer son exécution 4. Compléter le cas de test en entrant des valeurs pour ces conditions MTI515 Automne 2013 JF Couturier 73
Les cas de test 1. Identifier tous les scénarios Créer une matrice et numéroter vos scénarios 2. Pour chaque scénario, identifier les cas de test Créer une seconde matrice avec pour chaque scénario ses différents cas de test MTI515 Automne 2013 JF Couturier 74
Les cas de test 1. Pour chaque cas de test, identifier les conditions qui vont créer son exécution Il doit y avoir une disponibilité La date doit être au format AA-MM-JJ La date doit être inférieure à la date du jour L étudiant doit avoir un minimum de crédit pour suivre le cours GTI515 MTI515 Automne 2013 JF Couturier 75
Les cas de test 1. Compléter le cas de test en entrant des valeurs pour ces conditions 3 valeurs possibles I pour invalide V pour valide N\A pour non applicable Saisir des données pour illustrer le cas. MTI515 Automne 2013 JF Couturier 76
Les cas de test Extraits d une présentation de Rational MTI515 Automne 2013 JF Couturier 77
MTI515 78 Automne 2013
MTI515 79 Automne 2013
MTI515 80 Automne 2013
Les tests selon le modèle en V The Vee Life-Cycle Model Mission Analysis Continuous Quality Improvement Plan Operation & Retirement System Requirements Validation Plan Final System Test Functional Decomposition Verification Plan Verify Subsystems Decomposition Physical Decomposition Test Plan Test Components Integration Build Components The design downstroke and the manufacturing upstroke of the Vee Model MTI515 Automne 2013 JF Couturier 81
MTI515 82 Automne 2013
MTI515 83 Automne 2013
MTI515 84 Automne 2013
MTI515 85 Automne 2013
MTI515 86 Automne 2013
MTI515 87 Automne 2013
MTI515 88 Automne 2013
MTI515 89 Automne 2013
MTI515 90 Automne 2013
MTI515 91 Automne 2013
MTI515 92 Automne 2013
MTI515 93 Automne 2013
MTI515 94 Automne 2013
MTI515 95 Automne 2013
MTI515 96 Automne 2013
MTI515 97 Automne 2013
Ressources Livres Use Case Modeling, Bittner «La bible» Larman UML2 par la pratique, chapitres 1 et 2 Managing Software Requirements, D. Leffingwell Sur le web Google Pour le SRS et les exigences logicielles MGL-801 MTI515 Automne 2013 JF Couturier 98
Plan du cours 4 Diagramme des cas d utilisation Les cas d utilisation Les cas de test Prochain cours MTI515 Automne 2013 JF Couturier 99
Prochain cours 1 ere Évaluation du cours, soyez là! Modèle d analyse Archétypes Modélisation en couleur Lecture Les lectures sont sur le site Web, cours 4 MTI515 Automne 2013 JF Couturier 100