En l'enginyeria del programari, una fitxa de cas d'ús és un model d'especificació de Casos d'ús, adreçat sempre a un cas d'ús concret (una fitxa pertany a un cas d'ús, però d'un cas d'ús poden elaborar-se diverses fitxes). Consisteix bàsicament a redactar un cas d'ús mitjançant text, "escriure'l", podríem dir.
Construcció
El tipus més comú i recomanable de cas d'ús són els anomenats casos d'ús de caixa negra. Deuen el seu nom a que no descriuen el funcionament intern del sistema (com ho fa: components, disseny...) sinó com ho fa.
El seu format queda a decisió personal: cap és sempre millor que un altre. Des d'un punt de vista de diferenciació d'interaccions tenim dos grans formats:
Una columna (compacte): tota la interacció es detalla en una columna. Més compacte i fàcil de formatar.
Dues columnes (conversacional): una columna pels actors i una altra pel sistema. Proporciona una clara separació visual, una imatge de "conversació".
Una vegada decidit el format que volguem emprar és simplement qüestió de definir els apartats i emplenar-los.
Contingut
No hi ha cap model estàndard que defineixi com redactar una fitxa de cas d'ús: diferents formats poden funcionar per casos d'ús diferents.
Tot i això, s'ha de procurar que la fitxa de cas d'ús sigui sempre simple, clara i breu independentment de l'esquema que s'utilitzi.
Esquema general (Fowler)
Un esquema grosso modo d'una fitxa de cas d'ús, per una perspectiva general i simplificada d'aquest, és la que segueix:
Nom/Títol: objectiu que s'intenta assolir amb el cas d'ús.
Escenari principal: llista numerada de passos en una execució ideal (entenem per pas una interacció simple entre actor i sistema).
Extensions: conjunt de llistes, independents l'una de l'altra (cada una és una "extensió": desenvolupa l'execució per una interacció diferent a les de l'escenari principal.
Esquema concret (Cockburn)
El llibre d'Alistair Cockburn, Writing Effective Use Cases (que podria traduir-se com "Escriure casos d'ús efectius"), és un referent en la definció de fitxes de casos d'ús.
L'esquema que proposa és un dels més estesos:
El nom del cas d'ús (és a dir, quin cas d'ús documenta la fitxa): com a títol.
Descripció: resum del que es pretén dur a terme.
Abast: quin sistema considerarem la "caixa negra" del disseny.
Nivell: visió d'usuari (explica què fa com des de la perspectiva sobre el sistema d'una caixa negra: 'explica què fa i no com, de manera que un individu sense coneixements sobre el sistema o d'informàtica ho pugui entendre) o bé visió d'anàlisi (explica què fa amb l'ús de paraules reservades, nivell "d'informàtic").
Actor principal: nom o descripció de l'actor que interactua primordialment amb el sistema.
Precondició: Què s'espera (requereix) quant a l'estat inicial del "món".
Postcondició: Què podem garantir quant a l'estat del "món" en acabar l'execució.
Flux principal: Passos que segueix el programa des del seu inici fins que acaba, suposant una execució idònia (sense problemes, errors, eventualitats...) detallant cada un dels canvis duts a terme.
Flux alternatiu ("extensions"): Passos que segueix el programa en la seva execució incloent qualsevol error o eventualitat resoluble (per exemple, fer "login" i que s'introdueixen incorrectament les dades...).
En ser només una guia, d'alguns apartats d'aquest esquema pot prescindir-se, altres poden ser afegits... depèn del nivell de detall que es busqui assolir.