CU selon les adeptes de UML avec un détour Pour UML : Jim Arlow, UML 2 and the UP Assion-Wesley 2005
Détour par les banques (1) 1970 dans le bureau du président directeur général de la Banque de la nouvelle crosse. Président –Se plaint : perte de clients, etc. –Admoneste le chef de l’informatique –Exige un document clair et sans ambiguités
Situation actuelle: besoins des parties prenantes (Needs) Direction –Augmenter les profits Augmenter le chiffre d’affaire Diminuer les dépenses Clients –Ne pas être limités par les heures de bureau –Avoir plus de points de retrait –Ne pas faire des files d’attente trop longues –Transiger avec des employé(e)s souriant(e)s Employées –Être mieux payées et environnement agréable
Situation actuelle : que faire ? Satisfaire les besoins des trois parties prenantes avec des choix technologiques? Qui sacrifier (éventuellement) ? Quelles sont les contraintes ? –Politiques –Organisationnelles –Économiques –Financières
État des lieux Technologie –Terminaux 3270, Front End, IBM Série xxxx –67 % des succursales en réseau Organisation –Département informatique (Montréal) –Siège social (Saint-Pitre) –Succursale (1800) Directeurs, responsables financiers, caissières
Changements Technologie –Augmenter le nombre de terminaux –Relier toutes les succursales –Améliorer les performances –Informatiser d’autres fonctions Organisation –Nouvelles tâches pour les caissières Structure –Nouvelles succursales et fermer les moins productives
Rencontre ingénieur d’IBM Étude d’une machine pour distribuer l’argent Proto disponible Mécanique délicate Fonctions à détailler Partenariat ? Fichtre ! Et ainsi naquirent les ….
Retour dans le bureau Directeur Informatique Directeur général Solution à nos problèmes Nos ? Vos ! (et un peu miens) Comment? Remplacer les caissières Fantastique, comment ? Guichets automatiques !
GA Comment trouver et décrire les fonctions? Pour répondre à cette question naissent les CU. Il s’agit de trouver – les acteurs (ceux qui interagissent avec le système) –Les frontières (limites) du système
1970 : Architecture physique
Alternative analysée et non retenue Client qui accède directement au 3270 –Complexe –Pas de livraison d’argent
1985 : Architecture physique Système global Sys. Informatique
Définition du G. A. Comment –Étudier le travail de la caissière –Caissière comme interface entre client et le système informatique –Caissière « Janus » G.A. comme substitut partiel de la caissière Nouvelles fonctions dues au fait que le G.A. n’est pas une caissière
G. A. fonctions Retrait : –Retirer de l’argent d’un des comptes Dépôt –Déposer de l’argent ou des chèques dans l’un des comptes Transferts –Transférer de l’argent entre les comptes Paiements –Payer des factures ou des prêts
G. A. Exigences de qualité Sécurité Fiabilité –MTBT (Mean Time Between Failures) Disponibilité – MTBF/ (MTBF + MTTR) où MTTR est (Mean Time To Repair) Précision Facilité d’emploi Etc.
Du G.A. aux transaction sur Internet Le besoin le plus important (retrait) n’est pas satisfait mais –Paiements –Transferts –Impressions –Calculs hypothèques Le besoin le plus important? –Paiements cartes de débits –Disparition de l’argent «liquide» (Sic!) ?
But des Cas d’utilisation (CU) Décrire les interactions entre le système et ce qui l’entoure. –Le sujet (le système) –Les acteurs : rôle des intervenants externes (gens ou machines) Cas d’utilisation –Les fonctions considérées du point de vue des acteurs
CU : définition La spécification d’une séquence d’actions en incluant des variantes et des séquences d’erreur qu’un système, un sous-système ou une classe peut exécuter en interagissant avec des acteurs externes. Une unité cohérente de fonctionnalités pour gérer les messages échangés avec le monde extérieur
Acteurs (1) Tout ce qui est externe au système et provoque un événement quelconque qui l’influence –Personnes À ne pas confondre avec la représentation interne éventuelle ! –Temps –D’autres machines
Acteurs (2) A un nom Un rôle (fiche des rôles) Possibilité de généralisation Exemple pour une banque: –Client (acteur comme classe abstraite) Privé (acteur comme classe concrète) Commerciale (acteur comme classe concrète)
Glossaire …. Nous on est au-delà… pourquoi ?
CU (1) 1.Nom 2.But 3.Une phrase de description Voilà le début, ce qui compte énormément
CU (2) : Guichet de théâtre Limites du Système (Sujet) Acteur CU
Fiche CU (1) ID : identificateur numérique du CU Nom : nom clair du CU Objectifs : objectifs du CU Spécialise : ID CU qu’il spécialise Inclut : ID CU qu’il inclut Prolonge: ID CU qu’il prolonge Acteurs principaux : acteurs qui déclenchent le CU
Fiche CU (2) Acteurs secondaires : acteurs qui participent mais n’ont pas déclenché Antécédents : comme d’habitude Flux Principal : la progression de l’interaction principale Conséquents : comme d’habitude Flux secondaires : la progression des interactions qui dépendent de l’interaction principale Notes : comme d’habitude
Fiche CU (3) NoAction de l’acteurResponsabilité de la machine 1xxxxxxx 2yyyyyy 3zzzzzz Flux principal
Exemple GA (Concret) Retirer argent 1.Insérer la carte 4.Entrer le NIP 7.Presser une touche 9.Presser une touche 2.Lire la bande magnétique 3.Demander le NIP 5.Vérifier le NIP 6.Afficher le choix des transactions 8.Afficher le menu des comptes 8.Demander le montant
Exemple GA (commentaire) Des choix liés à la technologie (carte à bande magnétique et afficheur) qui ne font pas partie du domaine du problème. Très grand poids de l’IPM même si elle n’est pas définie dans les détails CU plus abstrait (CU essentiel où on parle d’intention de l’acteur et responsabilité du système).
Exemple GA (Essentiel) Retirer argent 1.S’identifier 4.Choisir 10.Prendre l’argent 2.Vérifier l’identité 3.Offrir des choix 5.Sortir l’argent
Exemple manuel UML/ Il faut lire les photocopies !!!