Anda di halaman 1dari 90

Professor:

Geraldo Xexo, D.Sc.


DCC/IM/UFRJ
PESC/COPPE/UFRJ

Contedo:

Requisitos

O Problema da Pedra
Me traz uma pedra?
Pequena?
Parece de vidro?
Azul?
Esfrica?
Uma bola de gude!

O que vimos nessa conversa


A criana quer uma coisa
A criana no sabe exatamente o que essa
coisa
Ao ver ela reconhece que o que ela quer, ou
no.

O pai interpreta o pedido da criana


O pai tenta trazer o pedido na forma mais
exata possvel

No Mundo do Sotware
Acontece a mesma coisa
Os usurios e interessados tm desejos,
querem ver algo acontecendo
Esse algo tem que ser bem descrito, caso
contrrio o usurio receber algo que no
deseja
Requisito uma exigncia que se faz ao
software

Exemplo de Requisito
O Sistema dever permitir a busca do
preo de um produto dado o cdigo de
barra.
O Sistema dever emitir o histrico
escolar de cada aluno.

Qual o Segredo?
Para atender o usurio e os
interessados importante definir os
verdadeiros requisitos do software
Existem muitas formas de definir esses
requisitos

Professor:
Geraldo Xexo

Contedo:

O Que um
Requisito

Requisito (Padro IEEE)


uma sentena identificando uma
capacidade, uma caracterstica fsica ou
um fator de qualidade que limita um
produto ou um processo
IEEE Std 1220-1994,

Exemplo de Requisito
O Sistema de Informao Acadmia (SAI)
deve permitir que um aluno faa sua matrcula
a cada semestre.
Requisito amplo
Provavelmente com sub-requisitos

O SIA deve permitir que o coordenador


cancele a matrcula de um aluno em uma
cadeira a qualquer momento.
Mais especfico

Requisito Uso Geral

1
0

Requisito: uma caracterstica do sistema


ou a descrio de algo que o sistema capaz
de realizar para atingir seus objetivos
No precisa ser uma sentena, mas pode
ser outro tipo de descrio do que o usurio
quer

11

Requisito como Sentena


O Sistema dever permitir que um
passageiro faa a reserva de sua
cadeira at 4 horas antes do vo.

Outros Requisitos
Interpretao ampla da palavra
Textos livres, sentenas, modelos ou
partes do modelo

1
2

Categorias de Requisitos
Requisitos que devem ser totalmente
satisfeitos
Requisitos que so altamente
desejveis, mas no necessrios
Requisitos que so possveis, mas
poderiam ser eliminados

1
3

Tipos de Requisito
Software
Sistema
Usurio

1
4

Requisito do Usurio

1
5

algum comportamento ou
caracterstica que o usurio deseja do
software ou o sistema como um todo;
o que o usurio quer.
So escritos pelo prprio usurio ou
levantados por um analista de sistemas
que consulta o usurio.

Requisito do Usurio

1
6

O sistema dever permitir a impresso


de uma segunda via do recibo

Requisito do Sistema
algum comportamento ou caracterstica
exigido do sistema como um todo, incluindo
hardware e software.
O comportamento desejado do sistema.
So normalmente levantados por
engenheiros ou analistas de sistemas,
refinando os requisitos dos usurios e os
transformando em termos de engenharia.

1
7

Requisito do Sistema
O sistema dever registrar funcionar
utilizando a rede telefnica fixa

1
8

Requisito do Software

1
9

algum comportamento ou
caracterstica que exigido do software.
Normalmente levantado por analistas
de sistemas.

Requisito do Software
O sistema dever utilizar o banco de
dados Oracle

2
0

Documentos de requisitos

2
1

Definio dos requisitos: listagem completa


de tudo que o cliente espera que o sistema
proposto faa
Especificao dos requisitos: redefine os
requisitos em termos tcnicos apropriados
para o desenvolvimento do projeto do sistema
Gerncia de configurao: correspondncia
direta entre os dois requisitos

Dependncia de Requisitos
Requisitos podem depender uns dos
outros
Necessidades de negcio
Necessidades de implementao

Cada dependncia fora da ordem de


prioridade do usurio aumenta o risco
do projeto

2
2

Prioridade de Requisitos
Fatores
Diminuir o custo da implementao
Valor para o comprador
Tempo para implementar
Facilidade tcnica de implementar
Facilidade do negcio para implementar
Valor para o negcio
Obrigao por alguma autoridade externa

2
3

Mudana
Requisitos inevitavelmente mudam
durante o desenvolvimento e aps.
No se deve esperar defini-los
completamente, mas gerenciar sua
mudana.
A nica constante a mudana

2
4

Gerncia de configurao

2
5

Conjunto de procedimentos que controlam


os requisitos que definem o que o sistema dever
fazer
os mdulos de projeto gerados a partir dos
requisitos
o cdigo do programa que implementa o projeto
os testes que verificam a funcionalidade do
sistema
os documentos que descrevem o sistema

Professor:
Geraldo Xexo

Contedo:

Impactos dos
Requisitos

2
7
Objetivo

Requisitos

Anlise

Projeto

Implementao

V&V

Custo Relativo de Correo

2
8

2
9

Resumo de Defeitos
Origem do
Defeito

Defeitos
Potenciais

Eficncia da
Correo

Defeitos
Entregues

Requisitos

1.00

77%

0.23

Projeto

1.25

85%

0.19

Codificao

1.75

95%

0.09

Documentao

0.60

80%

0.12

Correes
Erradas

0.40

70%

0.12

Total

5.00

85%

0.75

Fonte: Jones [1994].

Custo de Erros de Requisitos


So o tipo mais comum de erro
So o tipo mais caro para consertar
25% a 40% do projeto

3
0

3
1

Resumo de Defeitos
Tipo de Software Defeitos
Potenciais

Eficncia da
Correo

Defeitos
Entregues

Requisitos

1.00

77%

0.23

Projeto

1.25

85%

0.19

Codificao

1.75

95%

0.09

Documentao

0.60

80%

0.12

Correes
Erradas

0.40

70%

0.12

Total

5.00

85%

0.75

Fonte: Jones [1994].

Taxa Mensal de Mudana

3
2

Professor:
Geraldo Xexo

Contedo:

Bons Requisitos

Bons Requisitos
Necessrio
se retirado, haver uma deficincia no sistema
no atender plenamente as expectativas do usurio.

No devem existir requisitos do tipo seria


interessante ter.
requisito necessrio ou dispensvel.

Deve ser levado em conta que cada requisito


aumenta a complexidade e o custo do projeto
no podem ser introduzidos de forma espria.

3
4

Bons Requisitos

3
5

Conciso
Cada requisito define apenas um requisito
que deve ser feito e apenas o que deve ser
feito
Claro e simples.
Conciso
no inclui explicaes, motivaes, definies
ou descries do seu uso.
Estes textos podem ser mantidos em outros
documentos, apontados pelo requisito,de preferncia
sob o controle de um sistema de gerncia de requisitos

Bons Requisitos
Independente da Implementao
Define o que deve ser feito, mas no
como.
No reflete um projeto ou uma
implementao.
No descreve uma operao.
Requisitos de interface so uma exceo a
essa regra

3
6

Bons Requisitos

3
7

Alcanvel
Realizvel a um custo definido por uma ou mais
partes do sistema

Completo
No precisa ser explicado ou aumentado,
garantindo capacidade suficiente do sistema.

Rastrevel
Podemos detectar sua origem

Bons Requisitos

3
8

Consistente
No contradizendo ou mesmo duplicando outro
requisito
Utilizando os termos da mesma forma que outros
requisitos

No-ambguo
Possuindo uma e apenas uma interpretao.
Nesse caso muito importante prestar ateno
na linguagem sendo utilizada.

Bons Requisitos

3
9

Verificvel
No sendo vago ou geral
Sendo quantificado
de uma maneira que permita a verificao de uma das
seguintes formas: inspeo, anlise, demonstrao ou
teste.

Ordenvel
por estabilidade ou importncia (ou ambos).

Aceito pelos usurios e desenvolvedores.

Requisitos Falsos e Verdadeiros

4
0

Um requisito verdadeiro quando o


sistema deve cumpri-lo qualquer que seja
a tecnologia de implementao escolhida.
Se um sistema pode cumprir sua
finalidade sem que um requisito seja
implementado, ento esse requisito
falso.

Requisitos Falsos
Requisitos falsos aparecem de vrias
formas dentro do sistema:
por cpia de sistemas antigos,
por hbito do analista,
por pensarmos na tecnologia antes do
tempo.

4
1

Requisitos Falsos Tecnolgicos

4
2

Includos pelo analista por influncia de


alguma tecnologia
includos pelo passado, quando inclumos na
especificao algo que existe na implementao
existente, mas que no necessrio ao
funcionamento do sistema;
includos por antecipao, quando inclumos algo
na especificao em funo de alguma tecnologia
escolhida para a implementao;

Requisitos Falsos Arbitrrios

4
3

Includos arbitrariamente pelos analistas


Includos por influncia da ferramenta de
modelagem, quando inclumos na especificao
algo desnecessrio para fazer o sistema, mas
necessrio por alguma caracterstica da ferramenta
de modelagem, e
includos por preciosismo, quando inclumos uma
funo espria no sistema, i.e., uma funo que foi
no solicitada pelo usurio.

Validando Requisitos
Tcnicas Manuais
Leitura
Referncia Cruzada
Manual
Entrevistas
Revises
Listas de Verificao
Modelos manuais
Cenrios
Provas Matemticas

Tcnicas
Automatizadas
Referncia Cruzada
Automtica
Prottipos

4
4

Reviso dos requisitos


Rever metas e objetivos estabelecidos para o
sistema
Comparar requisitos metas o objetivos
Descrever o ambiente operacional
Examinar
interfaces
fluxo de informaes
funes

Verificar omisses, imperfeies e inconsistncias


Documentar riscos
Discutir sobre como o sistema ser testado

4
5

Professor:
Geraldo Xexo

Contedo:

Tipos de Requisitos

Requisito Funcional

4
7

Representa algo que o sistema deve


fazer,
Uma funo esperada do sistema que
agregue algum valor a seus usurios.
Exemplos tpicos:
a emisso de relatrios
a realizao e manuteno de cadastros

Categorias de Funes

4
8

Evidente
deve ser executada com conhecimento do
usurio

Oculta
deve ser executada mas no necessariamente
visvel para os usurios

Enfeite/Decorao
opcional, sua adio no afeta significativamente
o custo ou outras funes

Requisito No Funcional

4
9

Fala da forma como os requisitos funcionais


devem ser alcanados.
Define propriedades e restries do sistema.
Muitos requisitos no funcionais so tambm
requisitos de qualidade, como exigncias de
desempenho e robustez.
Outros so restries ou exigncias de uso de
uma ou outra tecnologia.

Tipos de requisitos
Ambiente fsico
Interfaces
Usurios e fatores humanos
Funcionalidade
Documentao
Dados
Recursos
Segurana
Garantia de qualidade
Muitos outros

5
0

5
1

Requisito No-Funcional

5
2

Muitas vezes chamados de requisitos


de qualidade ou atributos de
qualidade
Qualidade fala de atendimento a
expectativas, requisito fala de atendimento
a especificaes

Difceis de tratar formalmente

Professor:
Geraldo Xexo

Contedo:

Elicitando os
Requisitos

Elicitao de Requisitos

5
4

Nome que indica de forma mais


completa o Levantamento de Requisitos
Atividade contnua no projeto

Como o processo acontece

5
5

Req. Ad hoc

Especificao de Req.
Rejeitada
Correo
Rejeitada
Cliente

Correo
Aprovao

DEsenvolvedor

Como Fazer?

5
6

Elicitar requisitos de fontes individuais


Garantir que as necessidades de todos
os usurios so consistentes e
realizveis
Validar que os requisitos encontrados
refletem adequadamente as
necessidades do usurio

Como Fazer?

5
7

partes relevantes que so fontes de


Identificar
requisitos
Usurios finais, sistemas de interface, fatores ambientais

as listas de desejo de cada parte relevante


Levantar
Provavelmente contm ambigidades, inconsistncias,
requisitos impossveis e no-testveis, estando ainda,
incompleta

e refinar a lista de desejos para cada


Documentar
parte, at que seja auto-consistente
Normalmente mantendo um alto-grau de abstrao e a
linguagem do usurio

as listas de todas as partes relevantes (pontos


Integrar
de vista)
Resolver os conflitos
Verificar viabilidade dos requisitos

Determinar os requisitos no-funcionais

Problemas possveis

5
8

Os Stakeholderes
Podem saber o que querem, mas no como
articular suas idias
Podem no saber o que querem
POdem pensar que sabem o que querem at
receber o que pediram

Os Analistas
POdem pensar que entedem o problema melhor
que os usurios

Todos acreditam que os outros so


motivados por poltica

Modelo de Elicitao

5
9

Busca de Fatos (Usurio)

6
0

Identificar grupos relevantes atravs de


mltiplos nveis da organizao.
Determinar os contextos operacional e do
problema, incluindo a definio dos modos
operacionais, objetivos e cenrios de misso
como apropriados.
Identificar sistemas similares.
Realizar anlise de contexto

Busca de Fatos (Desenvolvedor)

6
1

Identificar especialistas do domnio da


aplicao e de desenvolvimento.
Identificar modelo de domnio e modelo de
arquitetura.
Conduzir pesquisas tecnolgicas, para mais
tarde fazer estudo de viabilidade e anlise de
risco.
Identificar custos e restries
implementao impostas pelo patrocinador.

6
2

Coleta e Classificao (Usurios)


Levantar a lista de desejos de cada
grupo.

Coleta e Classificao (Des.)

6
3

Classificar a lista de acordo com


funcionais, no funcionais, restries de
ambiente, restries de projeto e ainda
de acordo com as parties definidas
pelo modelo de domnio e pelo
paradigma de desenvolvimento.

6
4

Racionalizao e Avaliao (U)


Responder questes da forma Por
que voc precisa de X?, a partir de
raciocnio abstrato. Isso auxilia a
transformar o raciocnio das questes
sobre como? para as questes sobre
o qu?.

6
5

Racionalizao e Avaliao (D)


Realizar uma anlise de riscos,
investigando tcnicas, custos, prazos e
incluindo anlise de custos e benefcios
e viabilidade baseado na disponibilidade
da tecnologia.

Priorizao (U)
Determinar funcionalidades crticas
para a misso.

6
6

Priorizao (D)

6
7

Priorizar requisitos baseados em custo


e dependncia. Estudar como o sistema
pode ser implementado de forma
incremental, investigando modelos
arquiteturais apropriados

Integrao e Validao (U)

6
8

Resolver a maior quantidade possvel de


pontos em aberto.
Validar que os requisitos esto concordando
com os objetivos iniciais.
Obter autorizao e verificao para passar
ao prximo passo de desenvolvimento (e.g. a
demonstrao e a validao).

Integrao e Validao (D)


Resolver conflitos e verificar
consistncia

6
9

Tcnicas de Elicitao

7
0

Entrevistas
Estruturadas
No estruturadas

JAD
CRC
Volare
Muitas outras
Setembro de 2003 - Debora Vaisman

Documentando Requisitos
Nmero identificador,
para facilitar a discusso,
identificamos todos os requisitos
unicamente.

Tipo
Classificando-o como
funcional, no funcional,...

Evento que o atende


Descrio
Justificativa
Fonte do requisito
A pessoa ou o grupo que o
originou

Critrio de aceitao
Uma medida que possa ser
usada para garantir que o
requisito foi alcanado.

Satisfao do usurio

7
1

Insatisfao do usurio
Dependncias
Referncias a outros
requisitos que dependem de
alguma forma desse requisito

Conflitos
Referncia aos requisitos que
de alguma forma conflitam com
esse

Material de apoio
Listagem de material de apoio
para atender esse requisito

Histrico
Documentao da criao e
das mudanas efetuadas

Volere

Satisfeito x Insatisfeito

7
2

Fazer as duas perguntas


Quanto voc ficaria satisfeito se essa
funo fosse implementada
Quanto voc ficaria insatisfeito se essa
funo no fosse implementada

7
3

Professor:
Geraldo Xexo

Contedo:

Escrevendo
Requisitos

Escrevendo Requisitos

7
5

Use sentenas e pargrafos curtos.


Use a voz ativa.
Use verbos no futuro.
Use os termos de forma consistente e
mantenha um glossrio.

Escrevendo Requisitos

7
6

Para cada requisito, avalie se a partir de sua


definio possvel determinar se ele est
pronto ou no.
Garanta que todos os requisitos so
verificveis imaginando (e possivelmente
documentando) uma forma de faz-lo.
Verifique requisitos agregados (termos como
e e ou so uma boa indicao) e divida-os.
Mantenha um nvel de detalhe nico em
todos os requisitos.

5W2H
Who?
When?
What?
Where?
Why?
How?
How Much?

7
7

Documentos de requisitos

7
8

Definio dos requisitos: listagem completa


de tudo que o cliente espera que o sistema
proposto faa
Especificao dos requisitos: redefine os
requisitos em termos tcnicos apropriados
para o desenvolvimento do projeto do sistema
Gerncia de configurao: correspondncia
direta entre os dois requisitos

Professor:
Geraldo Xexo

Contedo:

Verificao
e
Validao

Problemas com Requisitos


Problemas de Escopo
Problemas de Compreenso
Problemas de Volatilidade

8
0

Problemas de Escopo

8
1

A fronteira do sistema fica mal definida


dada alguma informao de projeto
desnecessria
Definindo previamente decises de projeto

Problemas de Compreenso

8
2

Usurio no compreendem completamente suas


necessidades
Usurio tem um entendimento fraco das capacidades
e limitaes dos sistemas computacionais
Analista tem um conhecimento fraco do domnio do
problema
Usurio e analista falam linguagens diferentes
Omisso de informao que parece bvia
Viso conflitantes entre diferentes usurios
Requisitos vagos ou no testveis
User friendly
Robusto

Problemas de Volatilidade
Requisitos evoluem com o tempo

8
3

Avaliando Requisitos
Os requisitos esto completos?
Existe algum requisito ausente?
Existe alguma informao faltando em um
requisito?

Os requisitos so consistentes?
Existe alguma contradio na descrio entre
requisitos diferentes?

Os requisitos podem ser compreendidos?


Os leitores do documento entendem o que os
requisitos significam?

8
4

Avaliando Requisitos

8
5

Os requisitos so ambguos?
Existem diferentes interpretaes de um mesmo requisito?

O documento est estruturado?


As descries de requisitos esto organizadas de forma
que requisitos semelhantes esto agrupados?
Uma estrutura alternativa seria mais fcil de ler?

Os requisitos so rastreveis?
Cada requisito est identificado unicamente?
Os requisitos incluem referncias a requisitos relacionados
e justificativas para a sua incluso

O documento como um todo e cada requisito est


de acordo com os padres definidos?

Checklist de elicitao

8
6

O requisito foi identificado unicamente?


Os requisitos descobertos tem uma
fonte e justificativa vlida?
A fonte do requisito pode ser tracked?

Checklist de elicitao

8
7

O requisito tem um tipo?


O requisito ambguo, no claro ou vago?
O requisito est adequado aos objetivos de
negcio do projeto?
O requisito est em conflito com alguma
restrio do domnio, poltica da empresa,
regulamento ou lei?

Checklist de elicitao
O requisito est relacionado com algum
assunto da organizao (ou poltico), em
oposio aos objetivos de negcio do
sistema?
O requisito leva em considerao as
necessidades dos stakeholders?
O requisito deve ser descrito em um
cenrio?

8
8

Checklist Final de elicitao


Todos os interessados foram
consultados na fase de eliciatao?
Toda a informao recolhida na fase
preliminar foi re-escrita como um
requisito?

8
9

Professor:
Geraldo Xexo, D.Sc.
DCC/IM/UFRJ
PESC/COPPE/UFRJ

Contedo:

Requisitos:
FIM