O documento apresenta uma introdução à engenharia de requisitos, discutindo o que é este processo, quanto custa e os problemas que pode enfrentar. É descrito o processo típico de engenharia de requisitos, incluindo atividades como estudo de viabilidade, levantamento e seleção de requisitos e especificação de requisitos.
1. Engenharia de Requisitos
Alberto Sim˜es
o
alberto.simoes@eu.ipp.pt
Planeamento de Sistemas de Informa¸˜o
ca
Mestrado em Informa¸˜o Empresarial
ca
2012/2013
Alberto Sim˜es
o Engenharia de Requisitos 1/62
3. Tamb´m designada por An´lise de Sistemas;
e a
´
E o processo de definir as funcionalidades que o cliente
pretende que o sistema implemente, e as restri¸˜es que afetam
co
a opera¸˜o e o desenvolvimento do sistema;
ca
O objetivo da fase de an´lise ´ o de compreender os requisitos
a e
do novo sistema e identifica-los de modo a desenvolver um
sistema que os satisfa¸a completamente;
c
A determina¸˜o de requisitos ´ um dos passos mais cr´
ca e ıticos
nas fases do ciclo de desenvolvimento de software;
Alberto Sim˜es
o Engenharia de Requisitos 3/62
4. Engenharia de Requisitos
O que ´ a Engenharia de Requisitos?
e
Processo que envolve a recolha e compila¸˜o dos requisitos de
ca
sistema
Alberto Sim˜es
o Engenharia de Requisitos 4/62
5. Engenharia de Requisitos
O que ´ a Engenharia de Requisitos?
e
Processo que envolve a recolha e compila¸˜o dos requisitos de
ca
sistema
Quanto custa a Engenharia de Requisitos?
Habitualmente, cerca de 15% do custo de desenvolvimento do
sistema.
Alberto Sim˜es
o Engenharia de Requisitos 4/62
6. Engenharia de Requisitos
O que ´ a Engenharia de Requisitos?
e
Processo que envolve a recolha e compila¸˜o dos requisitos de
ca
sistema
Quanto custa a Engenharia de Requisitos?
Habitualmente, cerca de 15% do custo de desenvolvimento do
sistema.
O que ´ um processo de Engenharia de Requisitos?
e
Conjunto de actividades que envolve a recolha e compila¸˜o
ca
dos requisitos de sistema.
Alberto Sim˜es
o Engenharia de Requisitos 4/62
7. Engenharia de Requisitos
O que ´ a Engenharia de Requisitos?
e
Processo que envolve a recolha e compila¸˜o dos requisitos de
ca
sistema
Quanto custa a Engenharia de Requisitos?
Habitualmente, cerca de 15% do custo de desenvolvimento do
sistema.
O que ´ um processo de Engenharia de Requisitos?
e
Conjunto de actividades que envolve a recolha e compila¸˜o
ca
dos requisitos de sistema.
O que acontece quando os requisitos s˜o mal identificados?
a
Os sistemas s˜o entregues fora do prazo, sem qualidade e sem
a
responder `s necessidades dos clientes.
a
Alberto Sim˜es
o Engenharia de Requisitos 4/62
8. Engenharia de Requisitos
O que ´ a Engenharia de Requisitos?
e
Processo que envolve a recolha e compila¸˜o dos requisitos de
ca
sistema
Quanto custa a Engenharia de Requisitos?
Habitualmente, cerca de 15% do custo de desenvolvimento do
sistema.
O que ´ um processo de Engenharia de Requisitos?
e
Conjunto de actividades que envolve a recolha e compila¸˜o
ca
dos requisitos de sistema.
O que acontece quando os requisitos s˜o mal identificados?
a
Os sistemas s˜o entregues fora do prazo, sem qualidade e sem
a
responder `s necessidades dos clientes.
a
Existe algum processo de Engenharia de Requisitos ideal?
N˜o, o processo tem de ser configurado de acordo com as
a
necessidades de cada organiza¸˜o.
ca
Alberto Sim˜es
o Engenharia de Requisitos 4/62
9. Problemas na Engenharia de Requisitos
Como convencer o cliente da necessidade de usar tempo e dinheiro,
para recolher requisitos corretamente?
Alberto Sim˜es
o Engenharia de Requisitos 5/62
10. Problemas na Engenharia de Requisitos
Como convencer o cliente da necessidade de usar tempo e dinheiro,
para recolher requisitos corretamente?
Alberto Sim˜es
o Engenharia de Requisitos 5/62
11. Problemas na Engenharia de Requisitos
Como garantir que os requisitos recolhidos s˜o compreendidos de
a
igual modo por cliente e membros da equipa do projeto?
Alberto Sim˜es
o Engenharia de Requisitos 6/62
12. Problemas na Engenharia de Requisitos
Como garantir que os requisitos recolhidos s˜o compreendidos de
a
igual modo por cliente e membros da equipa do projeto?
Alberto Sim˜es
o Engenharia de Requisitos 6/62
13. Processo de Engenharia de Requisitos
Os processos utilizados na engenharia de requisitos s˜o
a
dependentes do dom´ de aplica¸˜o, das pessoas envolvidas
ınio ca
e das organiza¸˜o que faz o levantamento dos requisitos.
ca
Alberto Sim˜es
o Engenharia de Requisitos 7/62
14. Processo de Engenharia de Requisitos
Os processos utilizados na engenharia de requisitos s˜o
a
dependentes do dom´ de aplica¸˜o, das pessoas envolvidas
ınio ca
e das organiza¸˜o que faz o levantamento dos requisitos.
ca
No entanto, existem algumas atividades gen´ricas, comuns a
e
todos os processos:
estudo de viabilidade;
levantamento e sele¸˜o de requisitos;
ca
an´lise de requisitos;
a
valida¸˜o de requisitos;
ca
gest˜o de requisitos;
a
Alberto Sim˜es
o Engenharia de Requisitos 7/62
15. Processo de Engenharia de Requisitos
Estudo de Análise de
Viabilidade Requisitos
Definição de
Requisitos
Especificação
Relatório de Modelos do de Requisitos
Viabilidade Sistema
Defnição dos
Requisitos
Especificação de
Documento de Requisitos
Requisitos
Alberto Sim˜es
o Engenharia de Requisitos 8/62
16. Processo de Engenharia de Requisitos
Estudo de Viabilidade
Deve decidir se um sistema deve ser ou n˜o desenvolvido.
a
Alberto Sim˜es
o Engenharia de Requisitos 9/62
17. Processo de Engenharia de Requisitos
Estudo de Viabilidade
Deve decidir se um sistema deve ser ou n˜o desenvolvido.
a
Trata-se de um estudo espec´ıfico que verifica se o sistema
contribui para os objetivos da organiza¸˜o;
ca
pode ser desenvolvido com a tecnologia atual;
pede ser desenvolvido dentro do or¸amento previsto;
c
pode ser integrado com os outros sistemas em produ¸˜o;
ca
Alberto Sim˜es
o Engenharia de Requisitos 9/62
18. Processo de Engenharia de Requisitos
Estudo de Viabilidade
Deve decidir se um sistema deve ser ou n˜o desenvolvido.
a
Trata-se de um estudo espec´ıfico que verifica se o sistema
contribui para os objetivos da organiza¸˜o;
ca
pode ser desenvolvido com a tecnologia atual;
pede ser desenvolvido dentro do or¸amento previsto;
c
pode ser integrado com os outros sistemas em produ¸˜o;
ca
A implementa¸˜o assenta em quest˜es `s pessoas da
ca o a
organiza¸˜o:
ca
o que acontece se o sistema n˜o for implementado?
a
quais s˜o os problemas atuais com os processos?
a
ser´ que o sistema proposto os ir´ resolver?
a a
quais ser˜o os problemas de integra¸˜o?
a ca
´ necess´ria nova tecnologia?
e a
Alberto Sim˜es
o Engenharia de Requisitos 9/62
19. Processo de Engenharia de Requisitos
Levantamento e Sele¸˜o de Requisitos
ca
Consiste no trabalho realizado pelo pessoal t´cnico em colabora¸˜o
e ca
com os restantes intervenientes para determinar o dom´ da
ınio
aplica¸˜o, as funcionalidades que devem ser suportadas e os
ca
constrangimentos operacionais do sistema.
Alberto Sim˜es
o Engenharia de Requisitos 10/62
20. Processo de Engenharia de Requisitos
Levantamento e Sele¸˜o de Requisitos
ca
Consiste no trabalho realizado pelo pessoal t´cnico em colabora¸˜o
e ca
com os restantes intervenientes para determinar o dom´ da
ınio
aplica¸˜o, as funcionalidades que devem ser suportadas e os
ca
constrangimentos operacionais do sistema.
Problemas com a an´lise e sele¸˜o:
a ca
os stakeholders n˜o sabem o que pretendem;
a
Alberto Sim˜es
o Engenharia de Requisitos 10/62
21. Processo de Engenharia de Requisitos
Levantamento e Sele¸˜o de Requisitos
ca
Consiste no trabalho realizado pelo pessoal t´cnico em colabora¸˜o
e ca
com os restantes intervenientes para determinar o dom´ da
ınio
aplica¸˜o, as funcionalidades que devem ser suportadas e os
ca
constrangimentos operacionais do sistema.
Problemas com a an´lise e sele¸˜o:
a ca
os stakeholders n˜o sabem o que pretendem;
a
os stakeholders definem os requisitos nas suas palavras;
Alberto Sim˜es
o Engenharia de Requisitos 10/62
22. Processo de Engenharia de Requisitos
Levantamento e Sele¸˜o de Requisitos
ca
Consiste no trabalho realizado pelo pessoal t´cnico em colabora¸˜o
e ca
com os restantes intervenientes para determinar o dom´ da
ınio
aplica¸˜o, as funcionalidades que devem ser suportadas e os
ca
constrangimentos operacionais do sistema.
Problemas com a an´lise e sele¸˜o:
a ca
os stakeholders n˜o sabem o que pretendem;
a
os stakeholders definem os requisitos nas suas palavras;
diferentes stakeholders podem ter requisitos conflituosos;
Alberto Sim˜es
o Engenharia de Requisitos 10/62
23. Processo de Engenharia de Requisitos
Levantamento e Sele¸˜o de Requisitos
ca
Consiste no trabalho realizado pelo pessoal t´cnico em colabora¸˜o
e ca
com os restantes intervenientes para determinar o dom´ da
ınio
aplica¸˜o, as funcionalidades que devem ser suportadas e os
ca
constrangimentos operacionais do sistema.
Problemas com a an´lise e sele¸˜o:
a ca
os stakeholders n˜o sabem o que pretendem;
a
os stakeholders definem os requisitos nas suas palavras;
diferentes stakeholders podem ter requisitos conflituosos;
os fatores pol´
ıticos e organizacionais podem afetar os
requisitos do sistema;
Alberto Sim˜es
o Engenharia de Requisitos 10/62
24. Processo de Engenharia de Requisitos
Levantamento e Sele¸˜o de Requisitos
ca
Consiste no trabalho realizado pelo pessoal t´cnico em colabora¸˜o
e ca
com os restantes intervenientes para determinar o dom´ da
ınio
aplica¸˜o, as funcionalidades que devem ser suportadas e os
ca
constrangimentos operacionais do sistema.
Problemas com a an´lise e sele¸˜o:
a ca
os stakeholders n˜o sabem o que pretendem;
a
os stakeholders definem os requisitos nas suas palavras;
diferentes stakeholders podem ter requisitos conflituosos;
os fatores pol´
ıticos e organizacionais podem afetar os
requisitos do sistema;
os requisitos podem mudar durante o processo de an´lise,
a
assim como o ambiente de neg´cio ou mesmo os stakeholders.
o
Alberto Sim˜es
o Engenharia de Requisitos 10/62
25. Processo de Engenharia de Requisitos
Especifica¸˜o de Requisitos
ca
´
E nesta fase que se d´ a produ¸˜o do documento de
a ca
especifica¸˜o de requisitos;
ca
Documento com v´rios tipos de especifica¸˜es:
a co
especifica¸˜o de requisitos do utilizador;
ca
especifica¸˜o de requisitos do sistema;
ca
especifica¸˜o da arquitetura do sistema;
ca
Usando diferentes tipos de abordagens:
Especifica¸˜o Textual;
ca
Casos de uso (UML);
Diagramas de Atividade (UML) (de alto n´
ıvel);
Diagramas de Fluxo de Dados;
Especifica¸˜o Formal;
ca
Prototipagem da interface.
Alberto Sim˜es
o Engenharia de Requisitos 11/62
26. Processo de Engenharia de Requisitos
Valida¸˜o de Requisitos
ca
Avalia se os requisitos definem o sistema que o cliente
realmente pretende.
Os custos com os erros na identifica¸˜o dos requisitos s˜o
ca a
elevados, o que demonstra a importˆncia da valida¸˜o.
a ca
Corrigir um erro de defini¸˜o de requisitos ap´s a
ca o
instala¸˜o de um produto pode custar at´ 100 vezes mais
ca e
que corrigir um erro na especifica¸˜o.
ca
Alberto Sim˜es
o Engenharia de Requisitos 12/62
28. Tipologia de Requisitos
Requisitos funcionais
funcionalidades que o sistema deve implementar: como o
sistema dever´ responder a cada opera¸˜o, e como se dever´
a ca a
comportar em determinadas situa¸˜es
co
Alberto Sim˜es
o Engenharia de Requisitos 14/62
29. Tipologia de Requisitos
Requisitos funcionais
funcionalidades que o sistema deve implementar: como o
sistema dever´ responder a cada opera¸˜o, e como se dever´
a ca a
comportar em determinadas situa¸˜es
co
Requisitos n˜o funcionais
a
constrangimentos `s funcionalidades do sistema, como
a
standards, restri¸˜es de tempo, restri¸˜es do processo de
co co
desenvolvimento, etc.
propriedades comportamentais que o sistema deve garantir,
como desempenho, seguran¸a, fiabilidade, etc.
c
Alberto Sim˜es
o Engenharia de Requisitos 14/62
30. Tipologia de Requisitos
Requisitos funcionais
funcionalidades que o sistema deve implementar: como o
sistema dever´ responder a cada opera¸˜o, e como se dever´
a ca a
comportar em determinadas situa¸˜es
co
Requisitos n˜o funcionais
a
constrangimentos `s funcionalidades do sistema, como
a
standards, restri¸˜es de tempo, restri¸˜es do processo de
co co
desenvolvimento, etc.
propriedades comportamentais que o sistema deve garantir,
como desempenho, seguran¸a, fiabilidade, etc.
c
Requisitos de dom´ ınio
requisitos resultantes do dom´ de aplica¸˜o do sistema
ınio ca
Alberto Sim˜es
o Engenharia de Requisitos 14/62
31. Tipologia de Requisitos
Requisitos de Dom´
ınio
Requisitos resultantes do dom´ de aplica¸˜o do sistema e
ınio ca
que refletem determinada caracter´ ısticas que devem ser tidas
em considera¸˜o durante o desenvolvimento do sistema;
ca
N˜o derivam das necessidades espec´
a ıficas dos utilizadores;
Para al´m de se considerarem requisitos de dom´
e ınio, podem
ser classificados como requisitos funcionais ou n˜o funcionais;
a
Alberto Sim˜es
o Engenharia de Requisitos 15/62
32. Tipologia de Requisitos
Requisitos de Dom´
ınio
Requisitos resultantes do dom´ de aplica¸˜o do sistema e
ınio ca
que refletem determinada caracter´ ısticas que devem ser tidas
em considera¸˜o durante o desenvolvimento do sistema;
ca
N˜o derivam das necessidades espec´
a ıficas dos utilizadores;
Para al´m de se considerarem requisitos de dom´
e ınio, podem
ser classificados como requisitos funcionais ou n˜o funcionais;
a
Exemplos:
no desenvolvimento de um registo cl´
ınico eletr´nico, a
o
autentica¸˜o pode ser considerada um requisito de dom´
ca ınio
imposto pelo enquadramento de prote¸˜o de dados pessoais;
ca
Alberto Sim˜es
o Engenharia de Requisitos 15/62
33. Tipologia de Requisitos
Requisitos de Dom´
ınio
Requisitos resultantes do dom´ de aplica¸˜o do sistema e
ınio ca
que refletem determinada caracter´ ısticas que devem ser tidas
em considera¸˜o durante o desenvolvimento do sistema;
ca
N˜o derivam das necessidades espec´
a ıficas dos utilizadores;
Para al´m de se considerarem requisitos de dom´
e ınio, podem
ser classificados como requisitos funcionais ou n˜o funcionais;
a
Exemplos:
no desenvolvimento de um registo cl´
ınico eletr´nico, a
o
autentica¸˜o pode ser considerada um requisito de dom´
ca ınio
imposto pelo enquadramento de prote¸˜o de dados pessoais;
ca
num sistema de fatura¸˜o, a exporta¸˜o do registo das faturas
ca ca
em formato SAF-T pode ser considerada um requisito de
dom´ imposto pela autoridade tribut´ria;
ınio a
Alberto Sim˜es
o Engenharia de Requisitos 15/62
34. Tipologia de Requisitos
Requisitos Funcionais
Descrevem funcionalidades que o sistema deve implementar;
Dependem do tipo de software, das expectativas dos
utilizadores, e do tipo de sistema onde o software ir´ ser
a
utilizado;
Alberto Sim˜es
o Engenharia de Requisitos 16/62
35. Tipologia de Requisitos
Requisitos Funcionais
Descrevem funcionalidades que o sistema deve implementar;
Dependem do tipo de software, das expectativas dos
utilizadores, e do tipo de sistema onde o software ir´ ser
a
utilizado;
Exemplos:
O utilizador deve ser capaz de procurar nas bases de dados de
todas as lojas de uma cadeia de supermercados, ou apenas
num conjunto de lojas selecionadas;
Alberto Sim˜es
o Engenharia de Requisitos 16/62
36. Tipologia de Requisitos
Requisitos Funcionais
Descrevem funcionalidades que o sistema deve implementar;
Dependem do tipo de software, das expectativas dos
utilizadores, e do tipo de sistema onde o software ir´ ser
a
utilizado;
Exemplos:
O utilizador deve ser capaz de procurar nas bases de dados de
todas as lojas de uma cadeia de supermercados, ou apenas
num conjunto de lojas selecionadas;
Deve ser atribu´ um c´digo unico a cada encomenda;
ıdo o ´
Alberto Sim˜es
o Engenharia de Requisitos 16/62
37. Tipologia de Requisitos
Requisitos Funcionais
Descrevem funcionalidades que o sistema deve implementar;
Dependem do tipo de software, das expectativas dos
utilizadores, e do tipo de sistema onde o software ir´ ser
a
utilizado;
Exemplos:
O utilizador deve ser capaz de procurar nas bases de dados de
todas as lojas de uma cadeia de supermercados, ou apenas
num conjunto de lojas selecionadas;
Deve ser atribu´ um c´digo unico a cada encomenda;
ıdo o ´
O sistema deve fornecer as ferramentas adequadas ao
utilizador para facilitar a leitura dos documentos armazenados.
Alberto Sim˜es
o Engenharia de Requisitos 16/62
38. Tipologia de Requisitos
Requisitos N˜o Funcionais
a
Definem as propriedades do sistema e os seus
constrangimentos.
Os requisitos n˜o funcionais podem ser mais cr´
a ıticos que os
requisitos funcionais: caso n˜o sejam cumpridos, o sistema
a
pode tornar-se in´til.
u
Alberto Sim˜es
o Engenharia de Requisitos 17/62
39. Tipologia de Requisitos
Requisitos N˜o Funcionais
a
Definem as propriedades do sistema e os seus
constrangimentos.
Os requisitos n˜o funcionais podem ser mais cr´
a ıticos que os
requisitos funcionais: caso n˜o sejam cumpridos, o sistema
a
pode tornar-se in´til.
u
Exemplos de propriedades s˜o:
a
fiabilidade;
tempo de resposta;
espa¸o em disco necess´rio;
c a
Alberto Sim˜es
o Engenharia de Requisitos 17/62
40. Tipologia de Requisitos
Requisitos N˜o Funcionais
a
Definem as propriedades do sistema e os seus
constrangimentos.
Os requisitos n˜o funcionais podem ser mais cr´
a ıticos que os
requisitos funcionais: caso n˜o sejam cumpridos, o sistema
a
pode tornar-se in´til.
u
Exemplos de propriedades s˜o:
a
fiabilidade;
tempo de resposta;
espa¸o em disco necess´rio;
c a
Exemplos de constrangimentos s˜o:
a
capacidade de input/output dos equipamentos;
espa¸o em disco dispon´
c ıvel;
largura de banda;
Alberto Sim˜es
o Engenharia de Requisitos 17/62
41. Tipologia de Requisitos
Tipos de Requisitos N˜o Funcionais
a
Requisitos de Produto
Especificam como se deve comportar o produto de acordo
com um conjunto de parˆmetros.
a
ex.: velocidade de execu¸˜o, fiabilidade, etc.
ca
Alberto Sim˜es
o Engenharia de Requisitos 18/62
42. Tipologia de Requisitos
Tipos de Requisitos N˜o Funcionais
a
Requisitos de Produto
Especificam como se deve comportar o produto de acordo
com um conjunto de parˆmetros.
a
ex.: velocidade de execu¸˜o, fiabilidade, etc.
ca
Requisitos Organizacionais
Derivam de pol´ ıticas e procedimentos da organiza¸˜o.
ca
ex.: regras internas, standards da organiza¸˜o, etc.
ca
Alberto Sim˜es
o Engenharia de Requisitos 18/62
43. Tipologia de Requisitos
Tipos de Requisitos N˜o Funcionais
a
Requisitos de Produto
Especificam como se deve comportar o produto de acordo
com um conjunto de parˆmetros.
a
ex.: velocidade de execu¸˜o, fiabilidade, etc.
ca
Requisitos Organizacionais
Derivam de pol´ ıticas e procedimentos da organiza¸˜o.
ca
ex.: regras internas, standards da organiza¸˜o, etc.
ca
Requisitos Externos
Resultam de fatores externos ao sistema e ao seu processo de
desenvolvimento.
Muitas vezes correspondem a requisitos de dom´ ınio.
ex.: requisitos de interoperabilidade, aspetos legais, etc.
Alberto Sim˜es
o Engenharia de Requisitos 18/62
44. Tipologia de Requisitos
Tipos de Requisitos N˜o Funcionais
a
Requisitos Não
Funcionais
Requisitos da Requisitos de Requisitos
Organização Produto Externos
Requisitos de Requisitos de Requisitos de Requisitos de
Usabilidade Eficiência Fiabilidade Portabilidade
Requisitos de Requisitos de Requisitos dos Requisitos de Requisitos Requisitos
Distribuição Implementação Standards Usados Interoperabilidade Legislativos Éticos
Requisitos de Requisitos de Requisitos de Requisitos de
Espaço Execução Privacidade Segurança
Alberto Sim˜es
o Engenharia de Requisitos 19/62
45. Tipologia de Requisitos
Especifica¸˜o de Requisitos N˜o Funcionais
ca a
Devem ser especificados na forma de objetivo.
(inten¸˜o geral do utilizador, como facilidade de utiliza¸˜o)
ca ca
Alberto Sim˜es
o Engenharia de Requisitos 20/62
46. Tipologia de Requisitos
Especifica¸˜o de Requisitos N˜o Funcionais
ca a
Devem ser especificados na forma de objetivo.
(inten¸˜o geral do utilizador, como facilidade de utiliza¸˜o)
ca ca
Sempre que poss´ ıvel, devem ser verific´veis:
a
(devem incorporar uma medida que permita testar de forma
objetiva se o requisito est´ corretamente implementado)
a
Tipicamente s˜o dif´
a ıceis de definir com rigor, e portanto,
dif´
ıceis de verificar.
Alberto Sim˜es
o Engenharia de Requisitos 20/62
47. Tipologia de Requisitos
Especifica¸˜o de Requisitos N˜o Funcionais
ca a
Devem ser especificados na forma de objetivo.
(inten¸˜o geral do utilizador, como facilidade de utiliza¸˜o)
ca ca
Sempre que poss´ ıvel, devem ser verific´veis:
a
(devem incorporar uma medida que permita testar de forma
objetiva se o requisito est´ corretamente implementado)
a
Tipicamente s˜o dif´
a ıceis de definir com rigor, e portanto,
dif´
ıceis de verificar.
Exemplo:
o sistema deve ser f´cil de utilizar por operadores experientes
a
e organizado de tal forma que minimize erros do utilizador.
Alberto Sim˜es
o Engenharia de Requisitos 20/62
48. Tipologia de Requisitos
Especifica¸˜o de Requisitos N˜o Funcionais
ca a
Devem ser especificados na forma de objetivo.
(inten¸˜o geral do utilizador, como facilidade de utiliza¸˜o)
ca ca
Sempre que poss´ ıvel, devem ser verific´veis:
a
(devem incorporar uma medida que permita testar de forma
objetiva se o requisito est´ corretamente implementado)
a
Tipicamente s˜o dif´
a ıceis de definir com rigor, e portanto,
dif´
ıceis de verificar.
Exemplo:
o sistema deve ser f´cil de utilizar por operadores experientes
a
e organizado de tal forma que minimize erros do utilizador.
os operadores experientes devem ser capazes de utilizar todas
as fun¸˜es do sistema ap´s duas horas de forma¸˜o; depois
co o ca
dessa forma¸˜o, o n´mero m´dio de erros realizados pelos
ca u e
operadores n˜o deve exceder dois por dia.
a
Alberto Sim˜es
o Engenharia de Requisitos 20/62
49. Tipologia de Requisitos
Medidas para Requisitos N˜o Funcionais
a
transa¸˜es processadas por segundo
co
Velocidade tempo de resposta para determinado evento
tempo de desenho do ecr˜a
Alberto Sim˜es
o Engenharia de Requisitos 21/62
50. Tipologia de Requisitos
Medidas para Requisitos N˜o Funcionais
a
transa¸˜es processadas por segundo
co
Velocidade tempo de resposta para determinado evento
tempo de desenho do ecr˜
a
tamanho de disco ocupado (MB)
Tamanho
largura de banda usada (MB)
Alberto Sim˜es
o Engenharia de Requisitos 21/62
51. Tipologia de Requisitos
Medidas para Requisitos N˜o Funcionais
a
transa¸˜es processadas por segundo
co
Velocidade tempo de resposta para determinado evento
tempo de desenho do ecr˜a
tamanho de disco ocupado (MB)
Tamanho
largura de banda usada (MB)
tempo de forma¸˜o
ca
Facilidade de uso
n´mero de p´ginas de documenta¸˜o
u a ca
Alberto Sim˜es
o Engenharia de Requisitos 21/62
52. Tipologia de Requisitos
Medidas para Requisitos N˜o Funcionais
a
transa¸˜es processadas por segundo
co
Velocidade tempo de resposta para determinado evento
tempo de desenho do ecr˜ a
tamanho de disco ocupado (MB)
Tamanho
largura de banda usada (MB)
tempo de forma¸˜o
ca
Facilidade de uso
n´mero de p´ginas de documenta¸˜o
u a ca
tempo m´dio de falha
e
Confian¸a probabilidade de n˜o disponibilidade
c a
r´cio de ocorrˆncia de falhas
a e
Alberto Sim˜es
o Engenharia de Requisitos 21/62
53. Tipologia de Requisitos
Medidas para Requisitos N˜o Funcionais
a
transa¸˜es processadas por segundo
co
Velocidade tempo de resposta para determinado evento
tempo de desenho do ecr˜ a
tamanho de disco ocupado (MB)
Tamanho
largura de banda usada (MB)
tempo de forma¸˜o ca
Facilidade de uso
n´mero de p´ginas de documenta¸˜o
u a ca
tempo m´dio de falha
e
Confian¸a probabilidade de n˜o disponibilidade
c a
r´cio de ocorrˆncia de falhas
a e
tempo de rein´ ap´s falha
ıcio o
Robustez percentagem de situa¸˜es que provocam falhas
co
probabilidade de corrup¸˜o de dados por falha
ca
Alberto Sim˜es
o Engenharia de Requisitos 21/62
54. Tipologia de Requisitos
Medidas para Requisitos N˜o Funcionais
a
transa¸˜es processadas por segundo
co
Velocidade tempo de resposta para determinado evento
tempo de desenho do ecr˜ a
tamanho de disco ocupado (MB)
Tamanho
largura de banda usada (MB)
tempo de forma¸˜o ca
Facilidade de uso
n´mero de p´ginas de documenta¸˜o
u a ca
tempo m´dio de falha
e
Confian¸a probabilidade de n˜o disponibilidade
c a
r´cio de ocorrˆncia de falhas
a e
tempo de rein´ ap´s falha
ıcio o
Robustez percentagem de situa¸˜es que provocam falhas
co
probabilidade de corrup¸˜o de dados por falha
ca
n´mero de plataformas alvo
u
Portabilidade
perc. de linhas de c´digo espec´
o ıficas
Alberto Sim˜es
o Engenharia de Requisitos 21/62
55. Tipologia de Requisitos
Exerc´
ıcios
“Em todas as janelas o utilizador dever´ ter acesso a um bot˜o
a a
para aceder ` documenta¸˜o contextual.”
a ca
Alberto Sim˜es
o Engenharia de Requisitos 22/62
56. Tipologia de Requisitos
Exerc´
ıcios
“Em todas as janelas o utilizador dever´ ter acesso a um bot˜o
a a
para aceder ` documenta¸˜o contextual.”
a ca
Requisito Funcional
Alberto Sim˜es
o Engenharia de Requisitos 22/62
57. Tipologia de Requisitos
Exerc´
ıcios
“Cada transa¸˜o com a base de dados n˜o pode usar mais que 100
ca a
KB de largura de banda.”
Alberto Sim˜es
o Engenharia de Requisitos 23/62
58. Tipologia de Requisitos
Exerc´
ıcios
“Cada transa¸˜o com a base de dados n˜o pode usar mais que 100
ca a
KB de largura de banda.”
Requisito N˜o Funcional
a
Alberto Sim˜es
o Engenharia de Requisitos 23/62
59. Tipologia de Requisitos
Exerc´
ıcios
“Para cada cliente dever´ ser armazenado o n´mero fiscal.”
a u
Alberto Sim˜es
o Engenharia de Requisitos 24/62
60. Tipologia de Requisitos
Exerc´
ıcios
“Para cada cliente dever´ ser armazenado o n´mero fiscal.”
a u
Requisito N˜o Funcional (e possivelmente de dom´
a ınio)
Alberto Sim˜es
o Engenharia de Requisitos 24/62
61. Tipologia de Requisitos
Exerc´
ıcios
“O utilizador n˜o dever´ poder introduzir um cliente sem indicar o
a a
seu n´mero fiscal.”
u
Alberto Sim˜es
o Engenharia de Requisitos 25/62
62. Tipologia de Requisitos
Exerc´
ıcios
“O utilizador n˜o dever´ poder introduzir um cliente sem indicar o
a a
seu n´mero fiscal.”
u
Requisito Funcional
Alberto Sim˜es
o Engenharia de Requisitos 25/62
63. Tipologia de Requisitos
Exerc´
ıcios
“O acesso ao sistema deve ser validado usando uma senha de
seguran¸a.”
c
Alberto Sim˜es
o Engenharia de Requisitos 26/62
64. Tipologia de Requisitos
Exerc´
ıcios
“O acesso ao sistema deve ser validado usando uma senha de
seguran¸a.”
c
Requisito N˜o Funcional
a
Alberto Sim˜es
o Engenharia de Requisitos 26/62
65. Tipologia de Requisitos
Exerc´
ıcios
“Dever´ ser poss´ alterar a senha de seguran¸a pelo pr´prio
a ıvel c o
utilizador.”
Alberto Sim˜es
o Engenharia de Requisitos 27/62
66. Tipologia de Requisitos
Exerc´
ıcios
“Dever´ ser poss´ alterar a senha de seguran¸a pelo pr´prio
a ıvel c o
utilizador.”
Requisito Funcional
Alberto Sim˜es
o Engenharia de Requisitos 27/62
67. Tipologia de Requisitos
Exerc´
ıcios
“A interface ao utilizador deve ter um aspeto amig´vel, e cores
a
s´brias.”
o
Alberto Sim˜es
o Engenharia de Requisitos 28/62
68. Tipologia de Requisitos
Exerc´
ıcios
“A interface ao utilizador deve ter um aspeto amig´vel, e cores
a
s´brias.”
o
Requisito N˜o Funcional
a
Alberto Sim˜es
o Engenharia de Requisitos 28/62
70. Recolha de Requisitos
T´cnicas para a Recolha de Requisitos
e
Existem v´rias t´cnicas para a recolha, sele¸˜o e especifica¸˜o de
a e ca ca
requisitos:
Entrevistas
Question´rios
a
An´lise Documental
a
Observa¸˜o
ca
Perspetivas
Cen´rios
a
Prototipagem
O Analista de sistemas deve saber como e quando utilizar cada
uma, assim como as combinar.
Alberto Sim˜es
o Engenharia de Requisitos 30/62
71. Recolha de Requisitos
Entrevistas
Processo
Selecionar os entrevistados,
baseado no tipo de informa¸˜o
ca
necess´ria, e garantindo diferentes
a
perspetivas;
Desenvolver o Gui˜o da entrevista;
a
Definir Objetivos da entrevista;
Conduzir a entrevista;
Apresentar resultados da
entrevista;
Alberto Sim˜es
o Engenharia de Requisitos 31/62
72. Recolha de Requisitos
Entrevistas
Processo Conte´do da Entrevista
u
Selecionar os entrevistados, Quest˜es fechadas:
o
baseado no tipo de informa¸˜o
ca “Quantas encomendas recebe por
necess´ria, e garantindo diferentes
a telefone diariamente? ”
perspetivas; “Como s˜o feitas as encomendas? ”
a
Desenvolver o Gui˜o da entrevista;
a
Definir Objetivos da entrevista;
Conduzir a entrevista;
Apresentar resultados da
entrevista;
Alberto Sim˜es
o Engenharia de Requisitos 31/62
73. Recolha de Requisitos
Entrevistas
Processo Conte´do da Entrevista
u
Selecionar os entrevistados, Quest˜es fechadas:
o
baseado no tipo de informa¸˜o
ca “Quantas encomendas recebe por
necess´ria, e garantindo diferentes
a telefone diariamente? ”
perspetivas; “Como s˜o feitas as encomendas? ”
a
Desenvolver o Gui˜o da entrevista;
a Quest˜es abertas:
o
Definir Objetivos da entrevista; “O que acha do sistema atual? ”
“Quais os problemas com que se
Conduzir a entrevista; depara diariamente? ”
Apresentar resultados da
entrevista;
Alberto Sim˜es
o Engenharia de Requisitos 31/62
74. Recolha de Requisitos
Entrevistas
Processo Conte´do da Entrevista
u
Selecionar os entrevistados, Quest˜es fechadas:
o
baseado no tipo de informa¸˜o
ca “Quantas encomendas recebe por
necess´ria, e garantindo diferentes
a telefone diariamente? ”
perspetivas; “Como s˜o feitas as encomendas? ”
a
Desenvolver o Gui˜o da entrevista;
a Quest˜es abertas:
o
Definir Objetivos da entrevista; “O que acha do sistema atual? ”
“Quais os problemas com que se
Conduzir a entrevista; depara diariamente? ”
Apresentar resultados da
Quest˜es de prova:
o
entrevista;
“Pode-me dar um exemplo? ”
“Pode-me explicar com mais
detalhe? ”
Alberto Sim˜es
o Engenharia de Requisitos 31/62
75. Recolha de Requisitos
Question´rios
a
Processo
Conjunto de quest˜es escritas,
o
usualmente enviadas para um
grande n´mero de pessoas;
u
Podem ser em formato de papel ou
eletr´nico;
o
Selecionar participantes
representativos;
Desenvolver quest˜es claras e de
o
f´cil an´lise;
a a
Definir estrat´gias para obter um
e
bom n´mero de respostas;
u
Mostrar o impacto do question´rio
a
aos questionados;
Alberto Sim˜es
o Engenharia de Requisitos 32/62
76. Recolha de Requisitos
Question´rios
a
Processo Cuidados
Conjunto de quest˜es escritas,
o Come¸ar com quest˜es
c o
usualmente enviadas para um interessantes;
grande n´mero de pessoas;
u
Agrupar em sec¸˜es coerentes;
co
Podem ser em formato de papel ou
N˜o colocar perguntas importantes
a
eletr´nico;
o
no fim;
Selecionar participantes
N˜o encher demasiado as p´ginas;
a a
representativos;
Evitar o uso de abreviaturas;
Desenvolver quest˜es claras e de
o
f´cil an´lise;
a a Evitar fazer perguntas
tendenciosas;
Definir estrat´gias para obter um
e
bom n´mero de respostas;
u Numerar as perguntas;
Mostrar o impacto do question´rio
a Fazer teste pr´vio ao question´rio;
e a
aos questionados;
Garantir anonimato nas respostas;
Alberto Sim˜es
o Engenharia de Requisitos 32/62
77. Recolha de Requisitos
An´lise Documental
a
Documentos que contˆm informa¸˜o do sistema “as-is”
e ca
(estado atual!)
Regulamentos, Relat´rios internos, Registos peri´dicos,
o o
Formul´rios, Manuais de procedimentos, . . .
a
Alberto Sim˜es
o Engenharia de Requisitos 33/62
78. Recolha de Requisitos
An´lise Documental
a
Documentos que contˆm informa¸˜o do sistema “as-is”
e ca
(estado atual!)
Regulamentos, Relat´rios internos, Registos peri´dicos,
o o
Formul´rios, Manuais de procedimentos, . . .
a
Procurar elementos adicionados pelos utilizadores aos
formul´rios (notas ` margem...)
a a
Alberto Sim˜es
o Engenharia de Requisitos 33/62
79. Recolha de Requisitos
An´lise Documental
a
Documentos que contˆm informa¸˜o do sistema “as-is”
e ca
(estado atual!)
Regulamentos, Relat´rios internos, Registos peri´dicos,
o o
Formul´rios, Manuais de procedimentos, . . .
a
Procurar elementos adicionados pelos utilizadores aos
formul´rios (notas ` margem...)
a a
Procurar elementos n˜o utilizados;
a
Alberto Sim˜es
o Engenharia de Requisitos 33/62
80. Recolha de Requisitos
An´lise Documental
a
Documentos que contˆm informa¸˜o do sistema “as-is”
e ca
(estado atual!)
Regulamentos, Relat´rios internos, Registos peri´dicos,
o o
Formul´rios, Manuais de procedimentos, . . .
a
Procurar elementos adicionados pelos utilizadores aos
formul´rios (notas ` margem...)
a a
Procurar elementos n˜o utilizados;
a
Dar particular aten¸˜o aos documentos:
ca
Que descrevem a organiza¸˜o;
ca
Que descrevem os conte´dos funcionais dos v´rios cargos;
u a
Que relatam as atividades da organiza¸˜o;
ca
Que constituem material publicit´rio e promocional da
a
organiza¸˜o;
ca
Alberto Sim˜es
o Engenharia de Requisitos 33/62
81. Recolha de Requisitos
Observa¸˜o
ca
Observa¸˜o dos processos a serem executados;
ca
Utilizadores/gestores n˜o se lembram com exatid˜o de tudo o
a a
que fazem;
Valida a informa¸˜o recolhida com outros m´todos;
ca e
Ter em aten¸˜o que o comportamento das pessoas muda
ca
quando est˜o a ser observadas;
a
Tentar ser discreto;
Identificar per´
ıodos mortos e picos;
Alberto Sim˜es
o Engenharia de Requisitos 34/62
82. Recolha de Requisitos
Perspetivas
Forma de estruturar requisitos, mostrando as perspetivas dos
diferentes stakeholders;
Nenhuma perspetiva ´ a correta;
e
Tipos de Perspetivas:
Dos intervenientes
´
E a vis˜o segundo as pessoas ou outros sistemas que interagem
a
com o sistema;
Do dom´ ınio
Caracter´ ısticas e constrangimentos do dom´
ınio, que afetam os
requisitos.
Alberto Sim˜es
o Engenharia de Requisitos 35/62
83. Recolha de Requisitos
Cen´rios
a
Exemplos da vida real, de como o sistema interage e pode ser
utilizado.
Devem incluir:
Descri¸˜o da situa¸˜o
ca ca
(quando esta situa¸˜o ocorre, quem lida com ela, etc.)
ca
Situa¸˜o de arranque
ca
(quais s˜o os pressupostos para que este cen´rio possa ocorrer)
a a
Fluxo normal dos eventos
(quem d´ a informa¸˜o, quem a introduz, quais as a¸˜es
a ca co
despoletadas pelo sistema)
Situa¸˜es de erro
co
(o que pode correr mal?)
Final do cen´rio
a
(estado do sistema quando o caso real termina)
Alberto Sim˜es
o Engenharia de Requisitos 36/62
84. Recolha de Requisitos
Prototipagem
Alguns utilizadores tˆm dificuldade em visualizar o sistema;
e
Pode ser util preparar prot´tipos de interfaces com o utilizador
´ o
(mockups) que permitam discutir as funcionalidades
desejadas;
Em casos em que a perce¸˜o do processo de transforma¸˜o e
ca ca
prepara¸˜o de informa¸˜o seja dif´ poder´ fazer sentido
ca ca ıcil, a
implementar pequenos prot´tipos para simular as v´rias
o a
possibilidades dispon´
ıveis.
Alberto Sim˜es
o Engenharia de Requisitos 37/62
86. Especifica¸˜o de Requisitos
ca
Linguagem Natural
Possivelmente a forma mais simples de especificar requisitos;
Alberto Sim˜es
o Engenharia de Requisitos 39/62
87. Especifica¸˜o de Requisitos
ca
Linguagem Natural
Possivelmente a forma mais simples de especificar requisitos;
Mas a forma menos fi´vel de especificar requisitos;
a
Alberto Sim˜es
o Engenharia de Requisitos 39/62
88. Especifica¸˜o de Requisitos
ca
Linguagem Natural
Possivelmente a forma mais simples de especificar requisitos;
Mas a forma menos fi´vel de especificar requisitos;
a
Problemas no uso da Linguagem Natural
para especificar requisitos:
Falta de clareza
´ ıcil
E dif´ obter precis˜o sem tornar a leitura do documento
a
dif´
ıcil.
Alberto Sim˜es
o Engenharia de Requisitos 39/62
89. Especifica¸˜o de Requisitos
ca
Linguagem Natural
Possivelmente a forma mais simples de especificar requisitos;
Mas a forma menos fi´vel de especificar requisitos;
a
Problemas no uso da Linguagem Natural
para especificar requisitos:
Falta de clareza
´ ıcil
E dif´ obter precis˜o sem tornar a leitura do documento
a
dif´
ıcil.
Confus˜o de requisitos
a
Os requisitos funcionais e n˜o funcionais tendem a ser
a
misturados.
Alberto Sim˜es
o Engenharia de Requisitos 39/62
90. Especifica¸˜o de Requisitos
ca
Linguagem Natural
Possivelmente a forma mais simples de especificar requisitos;
Mas a forma menos fi´vel de especificar requisitos;
a
Problemas no uso da Linguagem Natural
para especificar requisitos:
Falta de clareza
´ ıcil
E dif´ obter precis˜o sem tornar a leitura do documento
a
dif´
ıcil.
Confus˜o de requisitos
a
Os requisitos funcionais e n˜o funcionais tendem a ser
a
misturados.
Am´lgama de requisitos
a
V´rios requisitos diferentes s˜o muitas vezes expressos em
a a
conjunto, usando at´ a mesma frase. Isto dificulta a sua
e
correta identifica¸˜o.
ca
Alberto Sim˜es
o Engenharia de Requisitos 39/62
91. Especifica¸˜o de Requisitos
ca
Exemplos de m´s especifica¸oes em LN
a c˜
Requisito LIBSYS
Deve fornecer um sistema de contabilidade financeira que
mantenha os registos dos pagamentos realizados pelos utilizadores
do sistema. Os gestores do sistema podem configura-lo de forma a
que os utilizadores mais frequentes possam receber descontos.
Alberto Sim˜es
o Engenharia de Requisitos 40/62
92. Especifica¸˜o de Requisitos
ca
Exemplos de m´s especifica¸oes em LN
a c˜
Requisito LIBSYS
Deve fornecer um sistema de contabilidade financeira que
mantenha os registos dos pagamentos realizados pelos utilizadores
do sistema. Os gestores do sistema podem configura-lo de forma a
que os utilizadores mais frequentes possam receber descontos.
Problemas:
descreve o conceito de sistema de contabilidade financeira a
incluir no sistema de forma abstrata;
contudo, inclui tamb´m entrada detalhada que n˜o ´
e a e
necess´rio a este n´
a ıvel;
Alberto Sim˜es
o Engenharia de Requisitos 40/62
93. Especifica¸˜o de Requisitos
ca
Exemplos de m´s especifica¸oes em LN
a c˜
Requisito editor de grelhas
Para facilitar o posicionamento de entidades num diagrama, o
utilizador pode configurar a grelha em cent´ımetros ou polegadas,
atrav´s de uma op¸˜o no painel de controlo. Inicialmente, a grelha
e ca
est´ desativada. A grelha pode ser ativada ou desativada a
a
qualquer momento. Na vista “reduzir ` dimens˜o”, a grelha ter´
a a a
menos linhas para n˜o saturar o diagrama de linhas.
a
Alberto Sim˜es
o Engenharia de Requisitos 41/62
94. Especifica¸˜o de Requisitos
ca
Exemplos de m´s especifica¸oes em LN
a c˜
Requisito editor de grelhas
Para facilitar o posicionamento de entidades num diagrama, o
utilizador pode configurar a grelha em cent´ımetros ou polegadas,
atrav´s de uma op¸˜o no painel de controlo. Inicialmente, a grelha
e ca
est´ desativada. A grelha pode ser ativada ou desativada a
a
qualquer momento. Na vista “reduzir ` dimens˜o”, a grelha ter´
a a a
menos linhas para n˜o saturar o diagrama de linhas.
a
Problemas:
requisitos funcionais conceptuais (a necessidade da grelha);
requisitos n˜o funcionais (as medidas da grelha);
a
requisitos n˜o funcionais de interface com o utilizador
a
(ativa¸˜o da grelha);
ca
Alberto Sim˜es
o Engenharia de Requisitos 41/62
95. Especifica¸˜o de Requisitos
ca
Alternativas ao uso da LN
Linguagem Natural Estruturada
Consiste em definir modelos para especificar os requisitos,
usando estruturas fr´sicas r´
a ıgidas de f´cil interpreta¸˜o.
a ca
Alberto Sim˜es
o Engenharia de Requisitos 42/62
96. Especifica¸˜o de Requisitos
ca
Alternativas ao uso da LN
Linguagem Natural Estruturada
Consiste em definir modelos para especificar os requisitos,
usando estruturas fr´sicas r´
a ıgidas de f´cil interpreta¸˜o.
a ca
Linguagem de Descri¸˜o de Projeto
ca
Recorrer a uma linguagem formal, do g´nero da usada em
e
programa¸˜o ou algoritmia, mas mais abstrata, para
ca
especificar os requisitos.
Alberto Sim˜es
o Engenharia de Requisitos 42/62
97. Especifica¸˜o de Requisitos
ca
Alternativas ao uso da LN
Linguagem Natural Estruturada
Consiste em definir modelos para especificar os requisitos,
usando estruturas fr´sicas r´
a ıgidas de f´cil interpreta¸˜o.
a ca
Linguagem de Descri¸˜o de Projeto
ca
Recorrer a uma linguagem formal, do g´nero da usada em
e
programa¸˜o ou algoritmia, mas mais abstrata, para
ca
especificar os requisitos.
Nota¸˜es Gr´ficas
co a
Descrever os requisitos funcionais numa linguagem gr´fica e
a
pseudo-formal (ex: SADT ou UML), complementada com
anota¸˜es textuais.
co
Alberto Sim˜es
o Engenharia de Requisitos 42/62
98. Especifica¸˜o de Requisitos
ca
Alternativas ao uso da LN
Linguagem Natural Estruturada
Consiste em definir modelos para especificar os requisitos,
usando estruturas fr´sicas r´
a ıgidas de f´cil interpreta¸˜o.
a ca
Linguagem de Descri¸˜o de Projeto
ca
Recorrer a uma linguagem formal, do g´nero da usada em
e
programa¸˜o ou algoritmia, mas mais abstrata, para
ca
especificar os requisitos.
Nota¸˜es Gr´ficas
co a
Descrever os requisitos funcionais numa linguagem gr´fica e
a
pseudo-formal (ex: SADT ou UML), complementada com
anota¸˜es textuais.
co
Nota¸˜es Matem´ticas
co a
Nota¸˜o formal, como por exemplo a teoria de conjuntos, para
ca
eliminar qualquer ambiguidade. Levantam problemas na
dificuldade de compreens˜o para pessoas n˜o familiarizadas
a a
com as nota¸˜es usadas.
co
Alberto Sim˜es
o Engenharia de Requisitos 42/62
99. Especifica¸˜o de Requisitos
ca
Documento de Requisitos
´
E uma declara¸˜o oficial das funcionalidades do sistema, tendo
ca
como principal destinat´rio quem vai desenvolver o software;
a
Resulta dos requisitos acordados entre as partes;
N˜o ´ um documento de projeto do sistema: deve descrever O
a e
que o sistema deve fazer, e n˜o como deve ser feito;
a
Alberto Sim˜es
o Engenharia de Requisitos 43/62
100. Especifica¸˜o de Requisitos
ca
Documento de Requisitos
Descreve os requisitos para os stakeholders:
expresso em termos que eles os compreendam;
compreens´ de diferentes pontos de vista;
ıvel
revistos pelos pr´prios stakeholders;
o
claro e n˜o amb´
a ıguo;
Descreve os requisitos para quem vai desenvolver o software:
t˜o preciso e espec´
a ıfico quanto poss´
ıvel;
expresso em termos que eles compreendam;
facilitador de integra¸˜o de novos membros na equipa;
ca
Regista requisitos para o futuro:
essencial para a evolu¸˜o do sistema;
ca
Pode servir de documento contratual.
Alberto Sim˜es
o Engenharia de Requisitos 44/62
101. Especifica¸˜o de Requisitos
ca
Documento de Requisitos - standard IEEE/ANSI 830-1993
Introdu¸˜o
ca
Objetivos do documento
ˆ
Ambito do produto
Defini¸˜o e abreviaturas
ca
Referˆncias
e
Descri¸˜o Geral
ca
Perspetivas e fun¸˜es do produto
co
Carater´
ısticas dos utilizadores
Constrangimentos gerais
Pressupostos e dependˆncias
e
Requisitos
Apˆndices
e
Alberto Sim˜es
o Engenharia de Requisitos 45/62
102. Especifica¸˜o de Requisitos
ca
Prototipagem da Interface
Esquematizar interfaces para as fun¸˜es principais do software;
co
Alberto Sim˜es
o Engenharia de Requisitos 46/62
103. Especifica¸˜o de Requisitos
ca
Prototipagem da Interface
Esquematizar interfaces para as fun¸˜es principais do software;
co
Servem como mecanismo de recolha e negocia¸˜o de
ca
requisitos;
Alberto Sim˜es
o Engenharia de Requisitos 46/62
104. Especifica¸˜o de Requisitos
ca
Prototipagem da Interface
Esquematizar interfaces para as fun¸˜es principais do software;
co
Servem como mecanismo de recolha e negocia¸˜o de
ca
requisitos;
Servem tamb´m como especifica¸˜o dos requisitos:
e ca
apresentam um conjunto de informa¸˜o que deve estar
ca
dispon´
ıvel;
apresentam um conjunto de bot˜es/menus que correspondem
o
a funcionalidades que devem ser implementadas;
Alberto Sim˜es
o Engenharia de Requisitos 46/62
105. Especifica¸˜o de Requisitos
ca
Prototipagem da Interface
Esquematizar interfaces para as fun¸˜es principais do software;
co
Servem como mecanismo de recolha e negocia¸˜o de
ca
requisitos;
Servem tamb´m como especifica¸˜o dos requisitos:
e ca
apresentam um conjunto de informa¸˜o que deve estar
ca
dispon´
ıvel;
apresentam um conjunto de bot˜es/menus que correspondem
o
a funcionalidades que devem ser implementadas;
Cuidados!
usar uma ferramenta de desenho que n˜o se assemelhe
a
demasiado a um produto final;
caso contr´rio, cliente poder´ ter impress˜o que o software
a a a
est´ pronto!
a
Alberto Sim˜es
o Engenharia de Requisitos 46/62
106. Especifica¸˜o de Requisitos
ca
Prototipagem da Interface - Exemplo
- + Adicionar Funcionário
Nome : ...
Morada : ...
Telefone : ...
Data de Nascimento March 2009
Sexo Masculino
S M T W T F S
Feminino
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Adicionar Cancelar
Alberto Sim˜es
o Engenharia de Requisitos 47/62
107. Especifica¸˜o de Requisitos
ca
Especifica¸˜o Textual
ca
Embora a linguagem natural seja amb´ ıgua, ´ imprescind´
e ıvel
uma descri¸˜o textual dos requisitos;
ca
Complementa os prot´tipos de interface ou os diagramas
o
UML;
Devem ser descritos de forma organizada, e estruturada,
usando linguagem clara;
Evitar o uso de g´ inform´tica;
ıria a
Devem ser descritos usando a forma ativa dos verbos
(presente, n˜o passado).
a
Alberto Sim˜es
o Engenharia de Requisitos 48/62
108. Especifica¸˜o de Requisitos
ca
Especifica¸˜o Textual - Exemplo
ca
3. Edi¸˜o de diagramas.
ca
Alberto Sim˜es
o Engenharia de Requisitos 49/62
109. Especifica¸˜o de Requisitos
ca
Especifica¸˜o Textual - Exemplo
ca
3. Edi¸˜o de diagramas.
ca
3.5 Adicionar um nodo num diagrama.
Alberto Sim˜es
o Engenharia de Requisitos 49/62
110. Especifica¸˜o de Requisitos
ca
Especifica¸˜o Textual - Exemplo
ca
3. Edi¸˜o de diagramas.
ca
3.5 Adicionar um nodo num diagrama.
3.5.1 O editor deve permitir que o utilizador adicione nodos de
determinado tipo ao seu diagrama.
Alberto Sim˜es
o Engenharia de Requisitos 49/62
111. Especifica¸˜o de Requisitos
ca
Especifica¸˜o Textual - Exemplo
ca
3. Edi¸˜o de diagramas.
ca
3.5 Adicionar um nodo num diagrama.
3.5.1 O editor deve permitir que o utilizador adicione nodos de
determinado tipo ao seu diagrama.
3.5.2 A sequˆncia de a¸˜es para adicionar um nodo deve ser:
e co
O utilizador seleciona o tipo de nodo a ser adicionado.
O utilizador move o cursor para uma posi¸˜o aproximada para
ca
o nodo, no diagrama, indicando que o s´ ımbolo deve ser
adicionado nesse ponto.
O utilizador posteriormente deve arraste o s´ımbolo para a sua
posi¸˜o final.
ca
Alberto Sim˜es
o Engenharia de Requisitos 49/62
112. Especifica¸˜o de Requisitos
ca
Especifica¸˜o Textual - Exemplo
ca
3. Edi¸˜o de diagramas.
ca
3.5 Adicionar um nodo num diagrama.
3.5.1 O editor deve permitir que o utilizador adicione nodos de
determinado tipo ao seu diagrama.
3.5.2 A sequˆncia de a¸˜es para adicionar um nodo deve ser:
e co
O utilizador seleciona o tipo de nodo a ser adicionado.
O utilizador move o cursor para uma posi¸˜o aproximada para
ca
o nodo, no diagrama, indicando que o s´ ımbolo deve ser
adicionado nesse ponto.
O utilizador posteriormente deve arraste o s´ımbolo para a sua
posi¸˜o final.
ca
3.5.3 An´lise L´gica: O utilizador ´ a melhor pessoa para decidir onde
a o e
colocar um nodo no diagrama. Esta abordagem d´ controlo direto
a
sobre a sele¸˜o e posicionamento dos nodos.
ca
Alberto Sim˜es
o Engenharia de Requisitos 49/62
113. Especifica¸˜o de Requisitos
ca
Diagramas
A especifica¸˜o textual dever´ ser complementada com
ca a
diagramas;
Existem diferentes nota¸˜es:
co
Diagramas de Fluxo de Dados;
Diagramas de Caso de Uso (UML);
Diagramas de Atividade (UML);
Diagramas de Sequˆncia (UML);
e
...
Alberto Sim˜es
o Engenharia de Requisitos 50/62
114. Parte V
Diagramas de Caso de Uso
Alberto Sim˜es
o Engenharia de Requisitos 51/62
115. Diagramas de Caso de Uso
Atores
Alberto Sim˜es
o Engenharia de Requisitos 52/62
116. Diagramas de Caso de Uso
Ator
Representado por um stick-man, acompanhado
de um nome;
Alberto Sim˜es
o Engenharia de Requisitos 53/62
117. Diagramas de Caso de Uso
Ator
Representado por um stick-man, acompanhado
de um nome;
O nome do ator dever´ ser f´cil de compreender
a a
pelo cliente e pela equipa de desenvolvimento;
Alberto Sim˜es
o Engenharia de Requisitos 53/62
118. Diagramas de Caso de Uso
Ator
Representado por um stick-man, acompanhado
de um nome;
O nome do ator dever´ ser f´cil de compreender
a a
pelo cliente e pela equipa de desenvolvimento;
Nem todos os seres humanos que interagem com
o sistema s˜o atores (alguns fazem parte do
a
pr´prio sistema);
o
Alberto Sim˜es
o Engenharia de Requisitos 53/62
119. Diagramas de Caso de Uso
Ator
Representado por um stick-man, acompanhado
de um nome;
O nome do ator dever´ ser f´cil de compreender
a a
pelo cliente e pela equipa de desenvolvimento;
Nem todos os seres humanos que interagem com
o sistema s˜o atores (alguns fazem parte do
a
pr´prio sistema);
o
Nem todos os atores s˜o seres humanos (por
a
exemplo, outros sistemas que interagem com o
sistema a ser desenvolvido);
Alberto Sim˜es
o Engenharia de Requisitos 53/62
120. Diagramas de Caso de Uso
Ator
Representado por um stick-man, acompanhado
de um nome;
O nome do ator dever´ ser f´cil de compreender
a a
pelo cliente e pela equipa de desenvolvimento;
Nem todos os seres humanos que interagem com
o sistema s˜o atores (alguns fazem parte do
a
pr´prio sistema);
o
Nem todos os atores s˜o seres humanos (por
a
exemplo, outros sistemas que interagem com o
sistema a ser desenvolvido);
Por exemplo, o pr´prio rel´gio do sistema pode
o o
ser visto como um ator, que despoleta a¸˜es a
co
determinadas horas;
Alberto Sim˜es
o Engenharia de Requisitos 53/62
121. Diagramas de Caso de Uso
Generaliza¸˜o de Atores
ca
Alguns atores s˜o capazes de realizar
a
todas as opera¸˜es que outros atores;
co
Por exemplo, ´ t´
e ıpico que um
administrador possa realizar todas as
opera¸˜es de um utilizador normal (e
co
outras espec´
ıficas);
O chefe de caixa num supermercado
tipicamente tamb´m ´ caixa: para
e e
al´m de fazer o que um caixa faz, tem
e
capacidade de realizar outras
opera¸˜es;
co
Nestes casos, usa-se uma seta de
generaliza¸˜o (com um triˆngulo como
ca a
ponta), que parte do ator mais gen´rico,
e
em dire¸˜o ao ator mais espec´
ca ıfico;
Alberto Sim˜es
o Engenharia de Requisitos 54/62
122. Diagramas de Caso de Uso
Casos de Uso
Um caso de uso, ou uma tarefa, ´ representado
e
dentro de uma oval;
Alberto Sim˜es
o Engenharia de Requisitos 55/62
123. Diagramas de Caso de Uso
Casos de Uso
Um caso de uso, ou uma tarefa, ´ representado
e
dentro de uma oval;
Pode ser t˜o simples como permitir que o
a
utilizador realize login;
Pode ser t˜o complicado como executar uma
a
transa¸˜o distribu´ por v´rias bases de dados
ca ıda a
globais;
Alberto Sim˜es
o Engenharia de Requisitos 55/62
124. Diagramas de Caso de Uso
Casos de Uso
Um caso de uso, ou uma tarefa, ´ representado
e
dentro de uma oval;
Pode ser t˜o simples como permitir que o
a
utilizador realize login;
Pode ser t˜o complicado como executar uma
a
transa¸˜o distribu´ por v´rias bases de dados
ca ıda a
globais;
´
E uma intera¸˜o completa, que inclui a
ca
introdu¸˜o de dados no sistema (ou pelo menos
ca
o pedido de determinada funcionalidade), e o
retorno por parte do sistema;
Alberto Sim˜es
o Engenharia de Requisitos 55/62
125. Diagramas de Caso de Uso
Casos de Uso
Um caso de uso, ou uma tarefa, ´ representado
e
dentro de uma oval;
Pode ser t˜o simples como permitir que o
a
utilizador realize login;
Pode ser t˜o complicado como executar uma
a
transa¸˜o distribu´ por v´rias bases de dados
ca ıda a
globais;
´
E uma intera¸˜o completa, que inclui a
ca
introdu¸˜o de dados no sistema (ou pelo menos
ca
o pedido de determinada funcionalidade), e o
retorno por parte do sistema;
Um caso de uso ´ qualquer coisa que providencia um
e
resultado mensur´vel para o utilizador ou um sistema
a
externo
Alberto Sim˜es
o Engenharia de Requisitos 55/62
126. Diagramas de Caso de Uso
Linhas de Comunica¸˜o
ca
Relacionam os atores com os casos
de uso com que interagem;
Tipicamente os diagramas n˜o
a
representam a ordem pela qual esta
intera¸˜o ´ feita;
ca e
Uma linha de comunica¸˜o significa
ca
apenas que o ator est´ envolvido
a
em determinado uso do sistema;
Alberto Sim˜es
o Engenharia de Requisitos 56/62
127. Diagramas de Caso de Uso
Limites do Sistema
Embora exista uma separa¸˜o ca
impl´ıcita entre atores e casos de
uso, ´ habitual colocar estes
e
ultimos numa caixa;
´
Habitualmente nesta caixa ´e
inscrito o nome do sistema;
Alberto Sim˜es
o Engenharia de Requisitos 57/62
128. Diagramas de Caso de Uso
Descri¸˜o dos Casos de Uso
ca
Cada caso de uso dever´ ser acompanhado de uma descri¸˜o
a ca
detalhada do processo (como a defini¸˜o de um requisito).
ca
Alberto Sim˜es
o Engenharia de Requisitos 58/62
129. Diagramas de Caso de Uso
Descri¸˜o dos Casos de Uso
ca
Cada caso de uso dever´ ser acompanhado de uma descri¸˜o
a ca
detalhada do processo (como a defini¸˜o de um requisito).
ca
Caso de uso: criar novo utilizador no blog
Objetivo: um utilizador solicitou ao administrador um utilizador no blog
Condi¸˜o de Sucesso:
ca um novo utilizador ´ criado para o autor
e
Condi¸˜o de Falha:
ca ´ rejeitada a requisi¸˜o de novo utilizador
e ca
Principal Ator: administrador
Atores Secund´rios:
a BD de credenciais
Processo:
1. O administrador escolhe a op¸˜o de criar novo utilizador;
ca
2. O administrador escolhe o tipo de utilizador;
3. O administrador preenche formul´rio com dados do utilizador;
a
4. Os detalhes do utilizador s˜o verificados na BD de credenciais;
a
5. O utilizador do blog ´ criado;
e
6. S˜o enviados os detalhes do utilizador por e-mail para o utilizador;
a
Extens˜es:
o
4.1. A BD de credenciais n˜o verifica os detalhes do utilizador;
a
4.2. A requisi¸˜o de novo utilizador ´ rejeitada;
ca e
Alberto Sim˜es
o Engenharia de Requisitos 58/62
130. Diagramas de Caso de Uso
Rela¸˜es entre Casos de Uso
co
Considere-se o seguinte cen´rio:
a
N˜o h´ rela¸˜o entre os dois casos de uso?
a a ca
Alberto Sim˜es
o Engenharia de Requisitos 59/62
131. Diagramas de Caso de Uso
Rela¸˜es entre Casos de Uso
co
Considere-se o seguinte cen´rio:
a
N˜o h´ rela¸˜o entre os dois casos de uso?
a a ca
Os casos de uso podem partilhar opera¸˜es;
co
Por exemplo, para criar um utilizador no blog, ou um wiki
pessoal, ser´ necess´rio validar a identidade do utilizador;
a a
Podemos colocar essa opera¸˜o em evidˆncia.
ca e
Alberto Sim˜es
o Engenharia de Requisitos 59/62
132. Diagramas de Caso de Uso
Rela¸˜es entre Casos de Uso
co
Alberto Sim˜es
o Engenharia de Requisitos 60/62