Académique Documents
Professionnel Documents
Culture Documents
para Problemas
Práticos da Engenharia
de Requisitos
Palestrante: Marcelo Nascimento Costa, MSc
Diretor de Tecnologia
mnc@kalisoftware.com
Agenda
Introdução
A Engenharia de Requisitos
A Motivação para Engenharia de Requisitos
Problemas Práticos em Engenharia de
Requisitos
Conclusões
www.kalisoftware.com
Evolução da Engenharia
de Requisitos no Brasil
www.kalisoftware.com
Meta do Processo de Engenharia
de Requisitos
www.kalisoftware.com
Importância dos Requisitos
5
www.kalisoftware.com
Engenharia de Requisitos
Algumas Estatísticas
Standish Group
descreveu 3 categorias
de projetos:
Sucesso (16.2%)
Sucesso
Cobre todas as Problemático
funcionalidades em tempo Fracasso
Engenharia de Requisitos 6
www.kalisoftware.com
Causas para os projetos falhos –
Standish Group
8
www.kalisoftware.com
Engenharia de Requisitos
Cenário Atual de
Desenvolvimento
Gasta-se cada vez
mais na manutenção
e teste dos sistemas
85% dos erros são
causados por
defeitos inseridos
durante a análise de
requisitos e projeto
do sistema.
9
www.kalisoftware.com
Engenharia de Requisitos
Cenário Atual de
Desenvolvimento
10
www.kalisoftware.com
Engenharia de Requisitos
Tipos de Requisitos
• Requisitos funcionais - São requisitos diretamente ligados a
funcionalidade do software, descrevem as funções que o
software deve executar.
www.kalisoftware.com
Visão macro da
Engenharia de Requisitos
www.kalisoftware.com
Dificuldades na
Engenharia de Requisitos
Foram identificados diversos problemas na fase de produção
de requisitos e nas demais atividades da gerência de
requisitos
www.kalisoftware.com
Dificuldades na Engenharia de
Requisitos – Elicitação de Requisitos
Problema Possível Solução
Envolver interessados -Identificar os interessados, identificando seus
inapropriados. papéis e interesses com o patrocinador.
-Envolver em entrevistas ou de atividades como
workshops de requisitos ou sessões JAD
www.kalisoftware.com
Identificando Stakeholders
16
www.kalisoftware.com
Engenharia de Requisitos
Utilização de ciclos
interativos e incrementais
Waterfall Iterativo e Incremental
Tempo
Escopo
• No Iterativo e Incremental o escopo de validação é bem menor evitando a questão do
escopo ser definido em uma única etapa.
www.kalisoftware.com
Dificuldades na Engenharia de Requisitos –
Análise e Negociação de Requisitos
www.kalisoftware.com
Entrevistas com perguntas
abertas
Quais são os problemas?
Por que eles precisam ser resolvidos?
Existem outras razões para eles serem resolvidos?
Quais os benefícios esperados de uma solução bem
sucedida?
Como os problemas são resolvidos hoje? Qual é a situação
atual?
Qual seria a situação desejada, ou seja, como você gostaria
de resolver os problemas?
Como essa atividade é realizada?
O que ela gera como resultado? Para quem?
Quais são as dificuldades para a sua realização?
O que tornaria sua realização mais fácil ou eficiente?
19
www.kalisoftware.com
Engenharia de Requisitos
Exemplo de Templates –
Especificação de Requisitos
1. Fronteiras do Software
Permitir a gestão dos usuários do *SISTEMA XYZ* e dos direitos de acesso desses
usuários às diversas funcionalidades disponibilizadas pelo sistema, de forma que
cada usuário tenha acesso somente às funcionalidades necessárias para
cumprimento das suas atividades. Permitir que os diversos usuários do *SISTEMA
XYZ* possam realizar a manutenção de seus dados pessoais e a gestão de seus
substitutos sem a necessidade de intervenção dos administradores do *SISTEMA
XYZ*.
2. Premissas
< Conjunto de condições que devem ser assumidas como verdadeiras para a
entrega do produto>
• O fornecedor ABC deve responder às solicitações de alterações das bibliotecas em
3 dias úteis
• O fornecedor ABC deve disponibilizar uma versão da interface até 3 dias antes do
início dos testes integrados.
• O ambiente de testes integrado deve estar disponível 3 dias antes do início dos
testes integrados
3. Características não-contempladas
• O módulo de autenticação por biometria não será entregue nessa versão do software
www.kalisoftware.com
Dificuldades na Engenharia de Requisitos –
Documentação dos Requisitos
www.kalisoftware.com
Dificuldades na Engenharia de Requisitos –
Documentação dos Requisitos
www.kalisoftware.com
Definição de Workshops de
Requisitos
Idealizado para encorajar o consenso acerca dos
requisitos da aplicação e acerca das ações a serem
tomadas em um curto intervalo de tempo
Formato: reunião intensiva (1 ou 2 dias) com pessoas
chaves visando criar ou revisar as principais
funcionalidades do sistema em desenvolvimento, com a
participação de um mediador
23
www.kalisoftware.com
Engenharia de Requisitos
Dificuldades na Engenharia de Requisitos –
Verificação dos Requisitos
www.kalisoftware.com
Medidas de Requisitos (Não-
Funcionais)
Propriedade Medida
Velocidade Transações processadas/seg
Tempo de resposta do usuário/evento
Tamanho K bytes
No de chips de RAM
Facilidade de uso Tempo de treinamento
No de quadros de ajuda
Confiabilidade Tempo médio de falhas
Probabilidade de indisponibilidade
Taxa de ocorrência de falhas
Robustez Tempo de reinício após falha
Percentual de eventos causando falhas
Probabilidade de corrupção de dados após falha
Portabilidade Percentual de declarações dependentes do destino
No de sistemas destino
25
www.kalisoftware.com
Engenharia de Requisitos
Dificuldades na Engenharia de Requisitos-
Validação dos Requisitos
www.kalisoftware.com
Exemplo de Protótipo
www.kalisoftware.com
Onde criar o Protótipo?
www.kalisoftware.com 28
Dificuldades na Engenharia de
Requisitos
Problema Discussão da Solução
Dificuldades de estabelecer - Criar uma biblioteca de casos de uso
uma estratégia para a estruturada de acordo a divisão funcional
atualização e reutilização (módulos) dos sistemas da organização
de casos de uso. - Tratar cada caso de uso como um item de
configuração
www.kalisoftware.com
Exemplo de Histórico
de Versões
Data Versão Descrição Autor(es)
23/11/2005 1.0 Versão inicial com os requisitos identificados nas João
entrevistas com os usuários
www.kalisoftware.com
Exemplo de Biblioteca de
Casos de Uso
www.kalisoftware.com
Casos de Uso como Item
de Configuração
Cada caso de uso do sistema é um documento separado e deve ser tratado como
um item de configuração durante o processo de gerência de configuração. Isto
Significa que deve ser versionado, possuir histórico, permissão de acessos.
www.kalisoftware.com
Dificuldades na Engenharia de
Requisitos – Gerência de Requisitos
www.kalisoftware.com
Dificuldades na Engenharia de
Requisitos – Gerência de Requisitos
www.kalisoftware.com
Matriz de Rastreabilidade
www.kalisoftware.com 35
Matriz de Rastreabilidade
Rastreabilidade apoiada por Ferramentas: Enterprise Architect
www.kalisoftware.com 36
Dificuldades na Engenharia de
Requisitos - Ferramentas
www.kalisoftware.com
Dificuldades na Engenharia de
Requisitos – Recursos Humanos
www.kalisoftware.com
Conclusão
Alguns problemas são bastantes críticos e devem ser atacados
constantemente:
Validação de Casos Usos com semântica mais complexa
Criação de documentos funcionais muito grandes
Mapeamento da abstração da linguagem natural para requisitos funcionais e
não-funcionais
www.kalisoftware.com
Conclusão
Algumas considerações a respeito da utilização de
ferramentas na Engenharia de Requisitos:
A área de gerência de requisitos não possui ferramentas open
source no mesmo nível das ferramentas pagas
O pagamento da licença da ferramenta não resolve todos os
problemas da implantação
Os analistas e desenvolvedores devem ser treinados efetivamente
na ferramenta
A curva de aprendizagem da ferramenta e input dos requisitos
preexistentes precisam de um esforço maior durante os primeiros
projetos
Deve existir uma equipe de suporte para apoiar a utilização das
ferramentas
www.kalisoftware.com 40
Conclusão
Utilizar a análise causal de defeitos para melhorar o processo de
Engenharia de Requisitos
www.kalisoftware.com