Requisitos p/ Inspeo Plano e Casos de Teste Casos de Uso e Esp. Suplementar Regras de Negcio loss!rio "ocumento de #iso $nalista de Requisitos Anlise dos Requisitos Trabalha com requisitos incompletos Se preocupa em descobrir problemas Requisitos so enumerados por exemplo, em uma reunio com stakeholders Quais as inconsistncias? Quais os confitos? Tenho que faer uma no!a reunio? Especifcao de Requisitos de Produto "esen!ol!ida como uma conseq#ncia da fase de an$lise de requisitos %odelo de &asos de 'so (speci)ca*o Suplementar Ser!e como base para casos de teste Requisitos funcionais e no funcionais Modelo de Casos de Uso + %odelo de &asos de 'so (speci)ca em detalhes requisitos do sistema (mpre,a -tores &asos de 'so Cliente Comprar Ator "e)ne o que existe do lado de fora do sistema -tor . uma classe do subsistema mais abran,ente que intera,e diretamente com o sistema / al,o com comportamento como 0 uma pessoa 1identi)cada pelo seu papel2 0 um sistema computacional 0 uma or,ania*o 0 um sensor3atuador Cliente Caso de Uso &aso de 'so4 + que de!e ser feito pelo sistema hist5rias de sucesso e insucesso que suportam o mesmo ob6eti!o um con6unto de cen$rios relacionados &en$rio4 uma inst7ncia de um &aso de 'so uma seq#ncia espec8)ca de a*9es e intera*9es entre atores e sistema Comprar Modelo de Casos de Uso +s atores representam o que intera,e com o sistema Representam tudo que necessita trocar informa*o com o sistema &omo esto fora do sistema4 no so descritos em detalhe -tores so diferentes de usu$rios4 usu$rio usa o sistema ator representa uma certa re,ra se,uida pelo usu$rio uma mesma pessoa pode aparecer como inst7ncia de !$rios atores Modelo de Casos de Uso 'ma inst7ncia de um -tor efetua di!ersas opera*9es no sistema Quando um usu$rio usa o sistema, efetua um seq#ncia de transa*9es relacionadas em um di$lo,o com o sistema (sta seq#ncia . chamada de &aso de 'so &ada &aso de 'so . uma forma espec8)ca de usar o sistema &ada execu*o de um caso de uso pode ser !isto como uma inst7ncia do &aso de 'so Modelo de Casos de Uso &asos de 'so capturam os requisitos funcionais + con6unto de todos os &asos de 'so especi)cam a funcionalidade completa do sistema -,rupar funcionalidades e cham$:las de Casos de Uso facilita o ,erenciamento destes requisitos durante ciclo de desen!ol!imento Modelo de Casos de Uso &aso de 'so determina um ou mais casos de teste "o con6unto de casos de uso . poss8!el deri!ar o ;lano de Testes <arantir adequa*o do soft=are aos requisitos funcionais Casos de Uso Casos de Uso "iscutir com o cliente o que o sistema far$ >denti)car quem intera,e com o sistema >denti)car que interfaces o sistema ter$ Casos de Uso Tipos e ?ormatos &aixa preta + sistema . descrito em termos de suas responsabilidades (lementos de soft=are possuem responsabilidades e colaboram com outros elementos que tm responsabilidades Casos de Uso "e)nindo as responsabilidades do sistema com casos de uso caixa: preta + que o sistema de!e faer sem decidir como (stilo caixa:preta 0 + sistema de!e re,istrar a !enda de cada item (rrado 0 + sistema sal!a no banco de dados@@@@@ 0 + sistema ,era um SQA >BS(RT@@@@@@@ Casos de Uso ?ormato Cre!e um resumo &asual formato informal Totalmente especi)cado 0 'm con6unto de se*9es que ap5iam a sua descri*o em detalhe De posse dos Casos de Uso Deri)que se no h$ requisitos faltando Deri)que que os desen!ol!edores entendem os requisitos Danta,em . ter apelo !isual dos requisitos mais rele!antes do cliente Elaborando o Modelo de Casos de Uso Identifcando Benhum sistema existe isoladamente intera,e com atores humanos e3ou autEmatos atores esperam que o sistema se comporte de acordo com o pre!isto 'm caso de uso especi)ca o comportamento de um sistema 1ou de parte deste2 . a descri*o de um con6unto de seq#ncias de a*9es inclui !ariantes realiadas pelo sistema para produir um resultado obser!$!el por um ator Seq#ncia de a*9es, executada pelo sistema, que ,era um resultado "e !alor obser!$!el ( para um ou mais atores ?un*o ;rocedimento computacional Casos de Uso !uno " transao#ser$io Caso de Uso: Ator -l,u.m ou al,uma coisa 1!ora do sistema2 que intera,e com o sistema (missor3Receptor Caso de Uso &asos de uso podem ser aplicados para captar o comportamento pretendido no . necess$rio especi)car como sero implementados fornecem uma maneira de obter melhor compreenso do sistema coopera*o com usu$rios e especialistas do dom8nio da aplica*o Caso de Uso (xecuta al,uma quantidade tan,8!el de trabalho Sob a perspecti!a do ator fornece um resultado um no!o ob6eto altera*o de estado de um ob6eto existente Caso de Uso - descri*o de um caso de uso de)ne o que o sistema fa quando o caso de uso . realiado - funcionalidade do sistema . de)nida por um con6unto de casos de uso, cada um representando um fuxo de e!entos espec8)co -l.m disso, ser!em para4 !eri)car o sistema F medida que e!olui durante o desen!ol!imento Caso de Uso e Ator ?un*o (missor ;asso G ;asso H I ;asso B "escri*o Atores "e um modo ,eral, atores podem ser4 pap.is que as pessoas representam nos &asos de 'so dispositi!os de hard=are mec7nicos ou el.tricos outros sistemas computacionais tempo 1para representar ati!idades peri5dicas2 Atores ;ode:se de)nir ,rupos ,erais de atores e suas especialia*9es Funcionrios Boy Caixa Atores +s atores esto associados a &asos de 'so -tor e &aso de 'so se comunicam (n!iar e Receber mensa,ens Cliente Caixa Venda Casos de Uso Bomes Todo caso de uso de!e ter um nome que o diferencie dos demais (xpress9es !erbais ati!as Bomeiam um comportamento do sistema E%emplo de Caso de Uso &liente de banco dese6a usar um caixa autom$tico para sacar dinheiro, transferir dinheiro ou consultar o saldo da conta -tor4 &liente Casos de Uso4 Sacar dinheiro, Transferir dinheiro e &onsultar saldo E%emplo de Caso de Uso &liente Transferir dinheiro Sacar dinheiro &onsultar saldo &alor de resultado obser$$el Identifcando Casos de Uso (m ,eral, . dif8cil decidir entre um ou !$rios &asos de 'so ;or exemplo, seria &aso de 'so4 >nserir carto em um &aixa -utom$tico? "i,itar a senha? Receber o carto de !olta? &asos de 'so de!em ser or,aniados para e!itar Redund7ncia &onfitos -mbi,#idades Identifcando Casos de Uso Identifcando Casos de Uso "e!e representar !alor obser!$!el para ator ;ode:se determinar "e!ido a intera*9es -tor x Sistema 0 seq#ncia de a*9es com o sistema que resultam !alores para atores "e!ido a necessidades de um -tor 0 satisfa um ob6eti!o particular de um ator que o sistema de!e pro!er Identifcando Casos de Uso ;rocedimentos >niciais (scolha a fronteira do sistema >denti)que os atores prim$rios 0 aqueles cu6as necessidades sero supridas pelo sistema "e)na &asos de 'so que satisfa*a as necessidades dos atores prim$rios 0 um caso de uso para cada necessidade Identifcando Casos de Uso Tra*ar fronteira conceitual >denti)car o que est$ fora e o que est$ dentro do sistema (xemplo4 ponto de !endas ?ora 0 &liente, &aixa, -,ente de &arto de &r.dito "entro 0 Denda, (misso Recibo, (stoque, @@@@ Identifcando Casos de Uso + que est$ dentro do sistema4 . respons$!el por executar seu comportamento + que est$ fora4 o contexto do sistema o ambiente onde o sistema existe determinam as necessidades que o sistema de!e atender Identifcando Casos de Uso >denti)que os atores Quais ,rupos precisam de a6uda do sistema para realiar suas tarefas? Quais ,rupos so necess$rios para a execu*o das fun*9es do sistema? Quais ,rupos intera,em com al,um hard=are externo ou outros sistemas? Quais ,rupos realiam fun*9es secund$rias de administra*o e de manuten*o? (xistem ati!idades temporais peri5dicas? Identifcando Casos de Uso -tores ;rim$rios necessidades que so supridas pelo sistema 0 &aixa, cliente -tores de suporte pro!em ser!i*os para o sistema 0 -,ente de carto de cr.dito ;rimeiro temos que encontrar os atores prim$rios enumere as necessidades para cada ator Ac'ando Casos de Uso Que fun*9es o ator requer do sistema? + que o ator necessita faer? + ator tem que ler, criar, destruir, modi)car ou armaenar al,um tipo de informa*o do sistema? + ator tem que ser noti)cado sobre e!entos do sistema, ou o ator necessita noti)car o sistema sobre al,uma coisa? o que estes e!entos representam em termos de funcionalidade Ac'ando Casos de Uso ;ode o trabalho di$rio do ator ser simpli)cado ou mais e)ciente atra!.s da incorpora*o de no!as fun*9es? +utras quest9es Que entradas3sa8das o sistema necessita? 0 "e onde !em e para onde !o? Quais os maiores problemas com a implementa*o atual 1quando existir autom$tica ou a manual2 Identifcando Casos de Uso "e)na &asos de 'so Bomeie os casos de uso como uma necessidade 0 ;rocessar !enda 1 um necessidade do caixa2 "escre!a cada caso de uso 0 primeiro uma descri*o simpli)cada 0 complete esta descri*o analise o con6unto de casos de uso e fa*a uma or,ania*o
Bo considere a >nterface Jomem:m$quina
0 isto . implementa*o
?oco o que faer
Caso de Uso um e%emplo (#) &aso de 'so4 ;rocessar Denda "escri*o Cre!e + &aixa necessita efetuar a !enda de um con6unto de itens selecionados pelo cliente@ "e!e atualiar estoque, re,istrar a !enda e emitir o recibo "escri*o >nformal 'm cliente che,a no caixa com itens a comprar@ + &aixa re,istra cada item usando o Sistema@ + sistema apresenta o total parcial e a descri*o de cada item@ + cliente entra com a informa*o de pa,amento, que o sistema !alida e re,istra@ + sistema atualia o estoque@ + cliente recebe um recibo e parte com os itens adquiridos Casos de Uso " Detal'ado *#) -tor prim$rio o que inicia a ocorrncia do caso de uso &aixa >nteressados Todos interessados em !alidar o &aso de 'so &aixa &liente <erente ;r.:condi*9es + que de!e ser !erdade antes de iniciar o caso de uso + caixa est$ identi)cado e autenticado Casos de Uso " Detal'ado +#) ;5s:condi*9es + que de!e ser !erdade ap5s o t.rmino com sucesso do caso de uso - !enda est$ re,istrada@ + estoque foi atualiado, -s comiss9es foram calculadas e armaenadas 0 descri*o ainda informal Casos de Uso , Descrio Detal'ada -#) ?luxo Bormal "escre!e a hist5ria principal de sucesso do caso de uso ?luxos -lternati!os ou (xtens9es >ndicam outros cen$rios 1tanto de sucesso como de insucesso2 Requisitos (speciais4 requisitos no funcionais, atributos de qualidade ou restri*9es 0 'sar um leitor 5tico para o c5di,o de barras Casos de Uso " Descrio Detal'ada .#) Cadastrar Cliente /lu%o 0ormal BKmero seq#ncia@ -,ente L !erbo L complemento G@ + cliente fornece seus dados H@ + sistema !eri)ca que o cliente no est$ cadastrado M@ + sistema adiciona no!o cliente N@ + sistema informa que o cadastro foi efetuado com sucesso Casos de Uso " Descrio Detal'ada 1#) /lu%os Alternati$os &aso OnKmeroP4 O"escri*o do caso alternati!oP BKmero seq#ncia @ -,ente L !erbo L complemento Q ?inaliar caso de uso ou retornar ao passo@@@ Casos de Uso " Descrio Detal'ada 2#) Cadastrar Cliente , /lu%os Alternati$os &aso G4 o cliente 6$ est$ cadastrado G@ + sistema !eri)ca que o cliente est$ cadastrado 0 nKmero da seq@ onde se inicia a !ariante H@ + sistema informa que 6$ est$ cadastrado M@ ?inaliar caso de uso Casos de Uso " Descrio Detal'ada )#) &enda ?luxo Bormal G@ + cliente che,a com os itens selecionados no caixa H@ + &aixa inicia uma !enda M@ ;ara cada item 1traido pelo &liente2 G@ -dicionar >tem de !enda N@ + caixa )nalia a !enda R@ + sistema totalia a compra e informa o total S@ + cliente efetua o pa,amento T@ + &aixa re,istra o pa,amento U@ + sistema da baixa no estoque dos itens !endidos V@ + sistema emite o recibo GW@ @@@@@@@@@@@@@@@@@@@@@@ E%erc3cio Desen$ol$er o Diagrama de Casos de Uso e a descrio dos /lu%os para o sistema da Petrobrs4 5rgani6ando o Modelo de Casos de Uso 5rgani6ando +r,anie os atores semelhantes em uma hierarquia de ,eneralia*o3especialia*o (speci)que as associa*9es de cada ator para os &asos de 'so Diagrama de Casos de Uso Pessoa Fisica Pessoa uridica Cliente Reali!ar transacao com Cartao de Credito A"ente de Cartao de Credito Processar Conta do Cliente #nstituicao Financeira Diagramas de Casos de Uso So secund$rios + importante . o texto descre!endo os &asos de 'so -p5iam a or,ania*o ;acotes de &asos de 'so 0 -,re,am casos de uso funcionalmente coesos Disualiam relacionamentos entre 0 casos de uso 0 atores Re$isando Casos de Uso Todos os atores en!ol!idos com um &aso de 'so (sto se comunicando? -parecem na sua descri*o? -l,um no aparece? Tem ator ou &aso de 'so sem nenhuma associa*o? -l,o de errado@@@ Tem al,um requisito funcional conhecido no tratado pelos &asos de 'so Re$isando Casos de Uso (struturar modelo de &asos de 'so (stabelecer relacionamentos entre &asos de 'so X>nclusoY X(xtensoY X<eneralia*oY Tem similaridades descritas em mais de um caso de 'so eliminar redund7ncias >ncluso 1OO includePP2 - descri*o do &aso de 'so est$ muito complexa (xtenso 1OO extendsPP2 <eneralia*o 1heran*a2 Incluso Caso de uso %ase Caso de Uso Incluso &&include'' E(ecutando uma inst)ncia do Caso de uso %ase Incluso &aso de uso base incorpora explicitamente comportamento de outro &aso de 'so em ponto espec8)co Representado como uma dependncia 1seta trace6ada2 para o &aso de 'so inclu8do Se o &aso de 'so inclu8do muda o Case, necessita ser re!isto OOincludePP Incluso &aso de 'so Denda ?luxo Bormal G@ @@@@@@@@ H@ @@@@@@@@@ M@ >nclui ;a,ar N@ ?inaliar Denda Incluso Venda Pa"ar Cliente &&include'' E%tenso Caso de uso %ase Caso de Uso E(tenso &&e(tend'' E(ecutando uma inst)ncia do Caso de uso %ase Ponto de E(tenso E%tenso 'm &aso de 'so incorpora implicitamente o comportamento de outro caso de uso -penas em circunst7ncias espec8)cas o caso de uso estendido . incorporado ao caso de uso base 'tiliado para modelar comportamento excepcional do sistema (xce*9es E%tenso Representado como uma dependncia seta trace6ada para o &aso de 'so Case Se o &aso de 'so base muda o &aso de 'so estendido, necessita ser re!isto OOextendPP E%tenso &aso de 'so "e!ol!er ;rodutos ?luxo Bormal G@ + &liente che,a com produto para de!olu*o H@ + &aixa prepara cupom de troca 1de!ol!er dinheiro2 M@ Reportar ao (stoque N@ ?inaliar +pera*o G@ ;onto de extenso de!ol!er dinheiro E%tenso $evolver $in%eiro Efetuar &roca &&e(tends'' 7enerali6ao E(ecutando uma inst)ncia do Caso de uso *il+o Caso de uso Pai Caso de Uso *il+o 7enerali6ao Similar a ,eneralia*o entre &lasses + caso de uso )lho herda o si,ni)cado do caso de uso pai o comportamento + comportamento do &aso de 'so )lho normalmente . rede)nido + &aso de 'so )lho pode ser usado no lu,ar do pai 7enerali6ao Pa"ar a $in%eiro Pa"ar com Carto Cliente Pa"ar ,ase deri-ado 7enerali6ao -tor4 &liente G@ (sse caso de 'so come*a quando o cliente dese6a efetuar pa,amento H@ + &liente re,istra o documento de cobran*a M@ + &liente informa a op*o dese6ada G@ Se pa,to a dinheiro executar subse*o ;a,ar a dinheiro H@ Se pa,to com carto de cr.dito: executar subse*o ;a,ar com &arto N@ + sistema re,istra o pa,amento R@ + sistema emite o recibo S@ Subse*o ;a,ar a "inheiro G@ + &liente coloca o dinheiro em um en!elope e lacra H@ + &liente informa o numero do en!elope ao sistema M@ + cliente deposita o en!elope N@ @@@@@@@ E%erc3cio : (speci)que os &asos de 'so para4 G@ Sistema da padaria de pequeno porte H@ Sistema inteli,ente de preenchimento do >R;? M@ Sistema de abertura autom$tica de porta Re$isando44444 Dicas#8ugest9es Todos os &asos de 'so de!ero representar al,um comportamento distinto e identi)c$!el Bomeie um comportamento que se6a Knico, identi)c$!el e raoa!elmente atEmico ?a*a a fatora*o de comportamento comum, obtendo: se este comportamento de outros casos de uso 1incluso2 ?a*a a fatora*o de !ariantes, aplicando esse comportamento a outros casos de uso que o estendem "escre!a o fuxo de e!entos de maneira su)cientemente clara para que al,u.m de fora se6a capa de compreend:lo com facilidade (speci)que um con6unto m8nimo de cen$rios explicitando a sem7ntica normal e !ariante do &aso de 'so Dicas e 8ugest9es %ostre somente &asos de 'so que so importantes para a compreenso do comportamento do sistema 1ou da parte sendo modelada2 Somente os atores relacionados com esses &asos de 'so E%erc3cio (speci)que um sistema para uma -,enda TelefEnica, que controle ani!ers$rio dos contatos4 (licitar requisitos com o uso das t.cnicas abordadas 0 Requisitos de ne,5cio 0 Requisitos de produto 0 Re,ras de ne,5cio "etalhar os &asos de 'so