Escolar Documentos
Profissional Documentos
Cultura Documentos
@KleinnerFarias
Desafio e Contextualizao
27/02/14
@KleinnerFarias
Desafio e Contextualizao
Problema ao:
1) Elicitar os requisitos
2) Especificar os requisitos
3) Validar os requisitos
27/02/14
@KleinnerFarias
Desafio e Contextualizao
Como especificar requisitos de software
de uma maneira adequada?
27/02/14
@KleinnerFarias
ObjeMvos
Compreender
conceitos
centrais
em
engenharia
de
requisitos
Entender
a
importncia
de
casos
de
uso
e
quem
usa
os
casos
de
uso
Compreender
como
criar
diagrama
e
especicao
de
casos
de
uso
EsMmular
a
anlise
de
situaes
coMdianas
vividas
por
um
engenheiro
de
requisitos
27/02/14
@KleinnerFarias
Agenda
Introduo
Elementos
do
diagrama
de
casos
de
uso
Especicao
de
casos
de
uso
Ferramentas
de
modelagem
Referncias
27/02/14
@KleinnerFarias
Introduo
O
que
so
requisitos
de
so<ware?
So
funcionalidades/servios
fornecidos
pelo
soYware
e
as
suas
restries
operacionais.
27/02/14
@KleinnerFarias
Introduo
Requisitos
de
usurio:
So
declaraes,
em
um
linguagem
natural
com
diagramas,
de
quais
servios
so
esperados
do
sistema
e
as
restries
sob
as
quais
eles
devem
operar
So
menos
detalhados
com
os
requisitos
de
sistema
27/02/14
@KleinnerFarias
Introduo
Requisitos
de
sistema:
Denem,
detalhadamente,
as
funcionalidades,
os
servios
e
as
restries
operacionais
do
sistema
Devem
denir
exatamente
o
que
deve
ser
implementado
Pode
ser
uMlizado
como
uma
forma
de
contrato
entre
o
cliente
e
o
responsvel
pelo
desenvolvimento
Conhecido
como:
especicao
funcional
27/02/14
@KleinnerFarias
Introduo
Requisitos
funcionais
(cont.):
Especicam
as
funcionalidades
que
o
sistema
deve
fornecer,
como
o
sistema
deve
reagir
s
entradas
especcas
e
como
o
sistema
deve
se
comportar
em
determinadas
situaes
Denem
o
que
o
sistema
deve
fazer
e
no
deve
fazer
27/02/14
@KleinnerFarias
10
Introduo
Requisitos
no-funcionais:
So
restries
sobre
as
funcionalidades
oferecidas
pelo
sistema
Incluem
restries
de
tempo,
processo
de
desenvolvimento
e
padres
Geralmente
so
requisitos
transversais,
aqueles
que
se
aplicam,
frequentemente,
ao
sistema
como
um
todo
Em
geral,
no
se
aplicam
s
caractersMcas
ou
servios
individuais
do
sistema
27/02/14
@KleinnerFarias
11
Introduo
Requisitos
no-funcionais:
Requisitos
de
produto
Transio:
Portabilidade,
Interoperabilidade,
reuso
Reviso:
manutenabilidade,
testabilidade,
exibilidade,
modularidade,
estabilidade
Operao:
ecincia
(espao
e
desempenho),
integridade,
correo,
e
usabilidade
27/02/14
@KleinnerFarias
12
Introduo
Requisitos
de
produto:
Fatores
de
Qualidade
de
SoYware
de
McCall
Manutenibilidade
Flexibilidade
Testabilidade
Portabilidade
Reuso
Interoperabilidade
Reviso
do
Transio
Produto
do
Produto
Operao
do
Produto
Correo
Conabilidade
Usabilidade
Integridade
Ecincia
Introduo
Requisitos
no-funcionais:
Requisitos
organizacionais
Padres
de
implementao
Padres
organizacionais
Requisitos
externos
Mcos
Interoperabilidade
Legais:
privacidade
e
segurana
27/02/14
@KleinnerFarias
14
Introduo
Requisitos
de
domnio:
So
aqueles
provenientes
do
domnio
da
aplicao
do
sistema
e
que
reetem
as
caractersMcas
e
as
restries
desse
domnio
Podem
ser
considerados
funcionais
ou
no
funcionais
27/02/14
@KleinnerFarias
15
Introduo
Por
que
usar
Casos
de
Uso?
Qual
a
sua
importncia?
Descrevem
como
os
usurios
interagem
com
o
sistema
(as
funcionalidades
do
sistema)
Facilitam
a
organizao
dos
requisitos
de
um
sistema
Do
uma
viso
externa
do
sistema
Exercem
um
papel
crucial
na
anlise
e
projeto
de
sistemas
27/02/14
@KleinnerFarias
16
Introduo
Por
que
usar
Casos
de
Uso?
Qual
a
sua
importncia?
Os
casos
de
uso
devem
ser
capazes
de
comunicar
a
funcionalidade
e
o
comportamento
do
sistema
para
o
cliente
So
essenciais
durante
a
fase
validao
dos
requisitos
e
implementao
Descrevem
o
que
o
sistema
faz,
mas
NO
especicam
como
isso
deve
ser
feito
27/02/14
@KleinnerFarias
17
Introduo
Casos
de
uso
no
Processo
Unicado
27/02/14
@KleinnerFarias
18
Introduo
Quem
so
os
usurios?
Por
que
ele
u@lizam?
Usurio do
Sistema
Gerentes
Engenheiros
de
SoYware
Engenheiros
de
Teste
Engenheiros
de
Manuteno
27/02/14
19
Fronteira do sistema
27/02/14
@KleinnerFarias
20
Secretria
(from Use Case View)
27/02/14
Diretor
Sistema de
Relatrios
21
27/02/14
@KleinnerFarias
22
27/02/14
@KleinnerFarias
23
Gerente
Atendente
E
o
cliente?
No
ator
pois
ele
no
interage
com
o
sistema!
27/02/14
@KleinnerFarias
24
Fronteira do sistema
27/02/14
@KleinnerFarias
26
Notao:
Nome
do
Caso
de
Uso
27/02/14
@KleinnerFarias
27
27/02/14
@KleinnerFarias
28
Vender
CDs
Loja de CDS
Administrar estoque
27/02/14
@KleinnerFarias
29
Fronteira do sistema
27/02/14
@KleinnerFarias
30
Dicas:
NO
use
setas
nas
associaes
Associaes
NO
representam
uxo
de
informao
Notao:
interao
Ator
Caso de Uso
@KleinnerFarias
31
27/02/14
@KleinnerFarias
32
Atendente
Administrar estoque
Gerente
27/02/14
@KleinnerFarias
33
Fronteira do sistema
27/02/14
@KleinnerFarias
34
27/02/14
@KleinnerFarias
35
Vender CDs
Atendente
Administrar estoque
Gerente
27/02/14
@KleinnerFarias
36
27/02/14
Pai
Filho 1
@KleinnerFarias Filho 2
37
@KleinnerFarias
38
Atendente
Vender
CDs
a
prazo
Administrar estoque
27/02/14
Gerente
@KleinnerFarias
39
@KleinnerFarias
40
Atendente
Vender
CDs
a
prazo
Vender c/ boleto
Vender c/ carto
Administrar estoque
27/02/14
Gerente
@KleinnerFarias
41
Fronteira do sistema
27/02/14
@KleinnerFarias
42
Notao:
<<extends>>
<<extends>>
27/02/14
@KleinnerFarias
43
27/02/14
@KleinnerFarias
44
Atendente
Vender
CDs
a
prazo
Vender c/ boleto
Vender c/ carto
<<extend>>
Calcular desconto
Administrar estoque
27/02/14
Gerente
@KleinnerFarias
45
Notao:
<<includes>>
<<includes>>
27/02/14
@KleinnerFarias
46
27/02/14
@KleinnerFarias
47
Atendente
Vender
CDs
a
prazo
Vender
c/
boleto
<<include>>
Vender c/ carto
<<extend>>
Calcular desconto
Fazer
login
<<include>>
Administrar estoque
27/02/14
Gerente
@KleinnerFarias
48
Fronteira do sistema
27/02/14
@KleinnerFarias
49
Notao:
27/02/14
@KleinnerFarias
50
Atendente
Vender
CDs
a
prazo
Vender
c/
boleto
<<include>>
Vender c/ carto
<<extend>>
Calcular desconto
Fazer
login
<<include>>
Administrar estoque
27/02/14
Gerente
@KleinnerFarias
51
27/02/14
@KleinnerFarias
52
27/02/14
@KleinnerFarias
53
27/02/14
@KleinnerFarias
54
27/02/14
@KleinnerFarias
55
Exemplo 1:
Nome
Descrio
sucinta
Atores
Pr-condies
Ps-condies
Fluxo
bsico
Fluxos
alternaMvos
Fluxos
de
exceo
Estruturas
de
dados
Regras
de
negcio
Observaes
ipo
te t
s
e
r
de
Usa
o
i
r
c
es
de d
u so
e
d
os
da
cas
lhos
a
b
tra
!
nos
lina
p
i
c
dis
LES/PUC-Rio
Ferramentas
Borland
Together:
hzp://www.borland.com/products/together/
Poseidon:
hzp://www.gentleware.com
Astha:
hzp://astah.net/
IBM
RaMonal
SoYware
Architect
hzp://www.ibm.com/soYware/raMonal
Enterprise
Architect
hzp://www.sparxsystems.com
27/02/14
@KleinnerFarias
61
Referncias
COCKBURN,
A.:
Escrevendo
Casos
de
Uso
Ecazes
Um
Guia
PrMco
para
Desenvolvedores
de
SoYware,
Bookman,
2004.
LARMAN,
C.:
UMlizando
UML
e
Padres:
uma
Introduo
Anlise
e
ao
Projeto
Orientados
a
Objetos.
Porto
Alegre:
Bookamn,
2007.
492p.
Apresentaes
LES/PUC-Rio
hzp://www.les.inf.puc-rio.br/wiki/index.php/PSS
27/02/14
@KleinnerFarias
62