1 Engenharia de Requisitos Gerenciamento de Requisitos Prof Ms Vinícius Costa de Souza www.inf.unisinos.br/~vinicius
2 Agenda Introdução Requisitos voláteis x estáveis Identificação Armazenamento Gerenciamento de mudanças Rastreabilidade Exercício
Gerenciamento 3 Conceito Trata-se do processo de gerenciar as mudanças nos requisitos de um sistema. Em todas as etapas do processo de software ocorrem mudanças nos requisitos, além do surgimento de novos requisitos. Por isso, o gerenciamento de requisitos é necessário para minimizar as conseqüências das mudanças.
4 Mudanças Cada mudança deve ser: 1. avaliada 2. estimada 3. aprovada 4. controlada 5. documentada
5 Mudanças Razões para mudanças: 1. Erros, conflitos e inconsistências 2. Evolução no entendimento 3. Problemas ou restrições técnicas, de prazo e orçamento 4. Mudanças nas prioridades dos cliente 5. Mudanças no negócio 6. Mudanças no processo
Requisitos estáveis x voláteis 6 Tipos de requisitos voláteis: 1. Requisitos mutáveis: mudam de acordo com mudanças do ambiente onde operam (ex: impostos, taxas, etc) 2. Requisitos emergentes: requisitos que não podem ser completamente definidos antes do projeto de implementação do sistema
Requisitos estáveis x voláteis 7 Tipos de requisitos voláteis: 3. Requisitos supostos: são requisitos supostos pelos usuários sobre como o sistema deve funcionar 4. Requisitos dependentes: dependem de algum equipamento ou processo
8 Identificação Uma pré-condição para o gerenciamento de requisitos é que cada requisito deve possuir algum tipo de identificação única. A forma mais comum é a numeração seqüencial conforme o capítulo e sessão em que os requisitos se encontram na SRS.
9 Identificação Outras técnicas: numeração dinâmica: referencias cruzadas em processadores de textos Identificação de registro em banco de dados Identificação simbólica (RF01, RNF05, etc)
10 Armazenamento Quanto ao armazenamento dos requisitos, uma das possibilidades é armazenar todos os requisitos em um único documento.
11 Armazenamento Desvantagens: informações sobre dependências tem que ser mantidas externamente pesquisa limitada as funcionalidades do processador de textos dificuldade para o versionamento dos requisitos dificuldade de navegação entre requisitos relacionados
Gerenciamento de mudanças 12 Definições necessárias: 1. Definição de um processo para requisição de mudanças bem como informações necessárias para cada requisição 2. Processo para analisar o impacto e os custos da mudanças, além de informações sobre rastreabilidade
Gerenciamento de mudanças 13 Definições necessárias: 3. A equipe que irá avaliar as propostas de mudança 4. O software a ser utilizado para gerenciar as mudanças
Gerenciamento de mudanças 14 Problema identificado 1. Análise do problema e especificação da mudança 2. Análise da mudança e de seu custo 3. Implementação da mudança Requisitos revisados
Gerenciamento de mudanças 15 Processo de mudança: 1. A partir da identificação do problema (novas necessidades do cliente, problemas identificados na análise, etc) os requisitos envolvidos são atualizados com base nas informações sobre o problema e mudanças são propostas. 2. A proposta de mudança é analisada para verificar quantos requisitos são afetados e orçar quanto a mudança irá custar (tempo e dinheiro)
Gerenciamento de mudanças 16 Processo de mudança 3. A mudança é implementada e uma nova versão do SRS é gerada e validada.
Gerenciamento de mudanças 17 Requisição da mudança Início Validar solicitação de mudança não Solicitação aceita? sim Identificar os requisitos afetados diretamente não Proposta aceita? sim Propor mudança não Identificar os requisitos dependentes Orçar custos da mudança Orçamento aceito? sim Implementar mudança Fim
18 Ferramentas de Apoio O processo de mudança de requisitos envolve muitas informações e diferentes pessoas e, por isso, deve ser idealmente apoiado por uma ferramenta CASE.
19 Ferramentas de Apoio Características necessárias: Formulários eletrônicos para solicitação de mudanças; Banco de dados para armazenar e gerenciar os formulários; Workflow com controle de etapas e responsáveis; Transferência de documentos e notificação; Links para a documentação de requisitos.
20 Rastreabilidade Tem como objetivo identificar as conseqüências de uma mudança em três momentos do processo de software: 1. Mudanças durante a engenharia de requisitos quais outros requisitos são afetados 2. Mudanças durante o desenvolvimento como a mudança afeta os requisitos, projeto e implementação 3. Mudanças após o início do uso que usuários serão afetados
21 Rastreabilidade Para que seja possível rastrear requisitos é preciso identificar e documentar as dependências entre os requisitos, o que chamamos de rastreabilidade.
22 Rastreabilidade Tipos de rastreabilidade: 1. Requisitos Fonte (pessoas e documentos) 2. Requisitos Justificativa 3. Requisitos Requisitos 4. Requisitos Arquitetura 5. Requisitos Design 6. Requisitos Interface 7. Requisitos Plano de testes
23 Rastreabilidade Matriz de rastreabilidade influência RF01 RF02 RF03 RNF01 dependência RF01 x x RF02 RF03 x RNF01 x nas colunas identificamos as influencias nas linhas as dependências
24 Rastreabilidade Tabela de rastreabilidade Dependências Influências RF01 RF02 RF03 RNF01 RF03 e RNF01 - RNF01 RF02 RNF01 RF01 RF01 e RF03
25 Rastreabilidade A rastreabilidade gera altos custos para coletar, analisar e manter as informações e, por isso, algumas definições são necessárias para cada projeto
Definições necessárias: 26 Rastreabilidade tipo de rastreabilidade a ser utilizada; técnica de identificação, consulta e manutenção (tabela, matriz, banco de dados); responsável por coletar e manter; estratégia para mudanças emergenciais; estratégia para atualização das informações sobre rastreabilidade após uma mudança.
27 Rastreabilidade Fatores de influência: 1. Número de requisitos 2. Tempo de vida do sistema 3. Nível de maturidade do processo 4. Tamanho da equipe 5. Tipo de sistema
28 Exercício Crie uma matriz de rastreabilidade para os requisitos de sistema para submissão e avaliação de artigos para congressos Em grupos Entrega até o final da aula