b"\n_START_ARTICLE_\nCas d'\xc3\xbas\n_START_PARAGRAPH_\nEn enginyeria del programari, un cas d'\xc3\xbas \xc3\xa9s una t\xc3\xa8cnica per a la captura de requisits potencials d'un nou sistema o una actualitzaci\xc3\xb3 de programari. Cada cas d'\xc3\xbas proporciona un o m\xc3\xa9s escenaris que indiquen com hauria d'interaccionar el sistema amb l'usuari o amb un altre sistema per aconseguir un objectiu espec\xc3\xadfic. Normalment, en els casos d'\xc3\xbas s'evita l'\xc3\xbas d'argots t\xc3\xa8cniques, preferint en el seu lloc un llenguatge m\xc3\xa9s proper a l'usuari final. De vegades, s'utilitza a usuaris sense experi\xc3\xa8ncia amb els analistes per al desenvolupament de casos d'\xc3\xbas._NEWLINE_En altres paraules, un cas d'\xc3\xbas \xc3\xa9s una seq\xc3\xbc\xc3\xa8ncia d'interaccions que es desenvoluparan entre un sistema i els seus actors en resposta a un esdeveniment que inicia un actor principal sobre el mateix sistema. Els diagrames de casos d'\xc3\xbas serveixen per especificar la comunicaci\xc3\xb3 i el comportament d'un sistema mitjan\xc3\xa7ant la seva interacci\xc3\xb3 amb els usuaris i / o altres sistemes. O el que \xc3\xa9s igual, un diagrama que mostra la relaci\xc3\xb3 entre els actors i els casos d'\xc3\xbas en un sistema. Una relaci\xc3\xb3 \xc3\xa9s una connexi\xc3\xb3 entre els elements del model, per exemple l'especialitzaci\xc3\xb3 i la generalitzaci\xc3\xb3 s\xc3\xb3n relacions. Els diagrames de casos d'\xc3\xbas s'utilitzen per il\xc2\xb7lustrar els requeriments del sistema en mostrar com reacciona a esdeveniments que es produeixen en el seu \xc3\xa0mbit o en ell mateix.\n_START_SECTION_\nActor\n_START_PARAGRAPH_\nUn actor \xc3\xa9s una entitat externa, que interactua amb el sistema interpretant un rol. Un actor pot ser una persona, un dispositiu, un proc\xc3\xa9s, un sistema, etc. Els actors no formen part del sistema, sin\xc3\xb3 que hi entren informaci\xc3\xb3 i en reben informaci\xc3\xb3._NEWLINE_Un exemple d'actor podria ser el temps. Hi ha esdeveniments d'un sistema que passen regularment (com per exemple pagar el sou dels treballadors). Aix\xc3\xb2 es fa autom\xc3\xa0ticament per\xc3\xb2 el sistema ha de rebre un senyal per a fer-ho. En aquests casos s'acostuma a fer servir un actor Temps que \xc3\xa9s l'encarregat d'iniciar aquests esdeveniments.\n_START_SECTION_\nComunicaci\xc3\xb3\n_START_PARAGRAPH_\nUna comunicaci\xc3\xb3 relaciona un cas d'\xc3\xbas amb un actor que denomina la participaci\xc3\xb3 de l'actor en el mateix cas d'\xc3\xbas.\n_START_SECTION_\nEscenari\n_START_PARAGRAPH_\nUn escenari \xc3\xa9s una seq\xc3\xbc\xc3\xa8ncia d'accions i interaccions entre els actors i el sistema. El podr\xc3\xadem definir com un cam\xc3\xad a trav\xc3\xa9s del cas d'\xc3\xbas. Per exemple, l'escenari de l\xe2\x80\x99\xc3\xa8xit en la compra d'un article pagant amb targeta o l'escenari de l'error al comprar pel fet que el banc ha refusat la targeta. Tots aquests escenaris engloben el cas d'\xc3\xbas de comprar un article.\n_START_SECTION_\nRelacions entre casos d'\xc3\xbas\n_START_PARAGRAPH_\nEntre casos d'\xc3\xbas pot haver-hi diferents relacions. Veure diagrama de casos d'\xc3\xbas.\n_START_SECTION_\nGeneralitzaci\xc3\xb3\n_START_PARAGRAPH_\nUna generalitzaci\xc3\xb3 d'un cas d'\xc3\xbas mostra que el cas d'\xc3\xbas X fa tots els processos del cas d'\xc3\xbas Y m\xc3\xa9s algun proc\xc3\xa9s espec\xc3\xadfic.\n_START_SECTION_\nInclusi\xc3\xb3\n_START_PARAGRAPH_\nUn cas d'\xc3\xbas pot incorporar expl\xc3\xadcitament el comportament d'altres casos d'\xc3\xbas com a fragment del seu propi comportament. Aix\xc3\xb2 ens permet mostrar funcionalitats comunes entre diversos casos d'\xc3\xbas. Aix\xc3\xad doncs, hi haur\xc3\xa0 alguns casos d'\xc3\xbas que seran activats per altres casos d'\xc3\xbas.\n_START_SECTION_\nExtensi\xc3\xb3\n_START_PARAGRAPH_\nUn cas d'\xc3\xbas es pot definir com a una extensi\xc3\xb3 opcional d'un altre cas d'\xc3\xbas. \xc3\x89s a dir, dins del cas d'\xc3\xbas X s'executa Y quan es compleix una condici\xc3\xb3. Hi pot haver diverses extensions d'un mateix cas d'\xc3\xbas.\n_START_SECTION_\nUna mica d'Hist\xc3\xb2ria de la programaci\xc3\xb3\n_START_PARAGRAPH_\nEl 1986, Ivar Jacobson, important contribuent al desenvolupament dels models de UML i proc\xc3\xa9s unificat, va crear el concepte de cas d'\xc3\xbas. S'han realitzat moltes millores al concepte que es va establir llavors, per\xc3\xb2 probablement la m\xc3\xa9s influent i significativa, en termes de definici\xc3\xb3 del terme cas d'\xc3\xbas, va ser la de Alistair Cockburn en el llibre Escriu casos d'\xc3\xbas efectius ' 'publicat l'any 2000._NEWLINE_Durant els anys 1990 els casos d'\xc3\xbas es van convertir en una de les pr\xc3\xa0ctiques m\xc3\xa9s comunes per a la captura de requisits funcionals, especialment amb el desenvolupament del paradigma de la programaci\xc3\xb3 orientada a objectes, on es van originar, si b\xc3\xa9 es pot utilitzar amb resultats igualment satisfactoris amb altres paradigmes de programaci\xc3\xb3._NEWLINE_El 2011 Jacobson va publicar una actualitzaci\xc3\xb3 del seu treball, anomenat Cas d'\xc3\x9as 2.0, amb la intenci\xc3\xb3 d'incorporar moltes de les seves experi\xc3\xa8ncies pr\xc3\xa0ctiques de l'aplicaci\xc3\xb3 de casos d'\xc3\xbas des de la creaci\xc3\xb3 original del concepte\n_START_SECTION_\nLimitacions\n_START_PARAGRAPH_\nEls casos d'\xc3\xbas poden ser \xc3\xbatils per establir requisits de comportament, per\xc3\xb2 no estableixen completament els requisits funcionals ni permeten determinar els requisits no funcionals. Els casos d'\xc3\xbas han de complementar-se amb informaci\xc3\xb3 addicional com regles de negoci, requisits no funcionals, diccionari de dades que complementin els requeriments del sistema. No obstant aix\xc3\xb2 l'enginyeria del funcionament especifica que cada cas cr\xc3\xadtic de l'\xc3\xbas ha de tenir un requisit no funcional centrat en el funcionament associat."