Você está na página 1de 75

Especifcao e Modelagem de Requisitos

Especifcao e Modelagem de Requisitos

Elicitar Requisitos de Produto

Especificar casos de uso e valid-los

Especificar requisitos no funcionais

Analisar e Validar os requisitos


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

Você também pode gostar