Introdução a Engenharia de
SoftwareCJR – Empresa Júnior de Computação
Engenharia de Requisitos8
Engenharia de Requisitos!
“O processo de estabelecer os serviços que um cliente quer em um sistema”
“Os requisitos são uma descrição do sistema e suas limitações”
1 Requisitos
• De usuário • De sistemaLinguagem natural e diagramas Definem exatamente o sistema e suas limitações
Cliente Equipe de DesenvolvimentoContrato
1 Requisitos
FuncionaisX
Não FuncionaisX
De Domínio
2 Funcionais
“Descrevem a função do sistema detalhadamente, suas entradas e saídas, exceções, etc...”
“Descrevem como o sistema deve funcionar a partir de certas entradas e como deve funcionar em certas situações”
São as funcionalidades coletadas a partir do cliente
Problemas entre cliente e desenvolvedores quando os requisitos são ambíguos ou mal especificados
3 Não Funcionais
Não relacionados com as funcionalidades do sistema
Dizem respeito as propriedades emergentes dos sistemas
ConfiabilidadeTempo de RespostaEspaço de ArmazenamentoDesempenhoProteçãoDisponibilidadeEtc....
Não Funcionais > Funcionais
3 Não Funcionais
R. Não Funcionais
R. De Produto
De facilidade de Uso
De Eficiência
De Desempenho
De Espaço
De Confiabilidade De Portabilidade
R. Organizacionais
De Entrega
De Implementação
De Padrões
R. Externos
De Interoperabilidade
Éticos Legais
De Privacidade
De Segurança
3 Não Funcionais
R. Não Funcionais
R. De Produto R. Organizacionais R. Externos
“Especificam o comportamento do produto”
“são derivados de politicas e procedimentos da organização do cliente e do desenvolvedor”
“todos os outros fatores externos ao sistema”
4 De domínio
Vem do domínio da aplicação e refletem características dos mesmos
5 Requisitos de Usuário
Descrevem tanto requisitos funcionais como os não funcionaisDevem ser compreensíveis para aqueles sem conhecimento técnicoEscritos em linguagem naturalPode-se usar tabelas e diagramas que facilitem a compreensão
5 Requisitos de Usuário
Descrevem tanto requisitos funcionais como os não funcionaisDevem ser compreensíveis para aqueles sem conhecimento técnicoEscritos em linguagem naturalPode-se usar tabelas e diagramas que facilitem a compreensão
Não é precisaGera confusão entre funcionais e não funcionaisVários requisitos expressos ao mesmo tempoAmbíguaMuito flexível (a mesma coisa pode ser dita de diversas maneiras)
6 Requisitos de Sistema
Detalhados!Podem ser utilizados em contratosServem como base para a equipe de desenvolvimento
7 Alternativa para linguagem natural
8 O documento de requisitos
Documentação oficial do que o sistema deve terDeve possuir os requisitos de usuário e de sistemaDeve definir o quê o sistema faz e não como ele o faz
Bibliografia
http://www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Presentations/PDF/ch6.pdf
http://www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Presentations/PDF/ch7.pdf
Renato Leal
CJREmpresa Júnior de Computação da UnB