Processos de Engenharia de Requisitos Análise de Sistemas de Software Prof. Rodrigo Ribeiro
Engenharia de Requisitos Objetivo Criar e manter um documento de requisitos Possui 4 subprocessos Estudo de viabilidade Vale a pena? Elicitação e análise de requisitos Obtenção de requisitos Especificação Colocar requisitos em algum formato padrão Validação de requisitos É isso que o cliente quer?
Engenharia de Requisitos Visão tradicional
Engenharia de Requisitos Modelo em Espiral
Engenharia de Requisitos Estudo de viabilidade Atividade breve para responder Em que o sistema contribui? Pode ser implementado na tecnologia atual? Restrições de prazo e custos Pode ser integrado com outros sistemas? Atividade da fase de concepção Produz PESw
Engenharia de Requisitos Elicitação e análise de requisitos
Engenharia de Requisitos Elicitação e análise é formada por... Obtenção de requisitos Interação com stakeholders para coletar requisitos Entrevistas Oficinas de requisitos Classificação e organização de requisitos Agrupa requisitos relacionados Priorização e negociação de requisitos Vários stakeholders => requisitos conflitantes Documentação de requisitos Documentação de requisitos levantados.
Engenharia de Requisitos Abordagem de pontos de vista Organiza a AR em diferentes pontos de vista Pontos de vista Interação Pessoas ou outros softwares que interagem com o sistema Indiretos Interesses de stakeholders que não usam o sistema diretamente Domínio Características e restrições de domínio que influenciam os requisitos do sistema
Engenharia de Requisitos Identificar esses pontos pode ser difícil... Algumas dicas Quem recebe e fornece dados para o sistema? Existem regulamentos e padrões? Quais são os requisitos de negócio? Quais são os requisitos não funcionais? Quais são os requisitos de engenharia de software?
Engenharia de Requisitos Entrevistas Elemento chave da Engenharia de requisitos Podem ser de dois tipos Fechadas Stakeholder responde a um conjunto de perguntas pré-definidas. Abertas Sem roteiro definido Algumas dificuldades... Especialistas do domínio usam jargão específico Especialistas do domínio acham “tudo óbvio” Problemas políticos em empresas...
Engenharia de Requisitos Bons entrevistadores ... Possuem mente aberta Evitam idéias pré concebidas sobre requisitos Ouvem os stakeholders Induzem os stakeholders “a falar”. Algumas empresas... Usam psicólogos (devidamente treinados) Mas... Só entrevistas não são um bom ponto de referência sobre requisitos...
Engenharia de Requisitos Validação de Requisitos Requisitos realmente definem o sistema? O que deve ser feito? Verificações de validade Verificações de consistência Sem conflitos Verificações de completude Requisitos definem o sistema como um todo? Verificações de realismo É possível de fazer em termos de prazo e custo? Facilidade de verificação Linguagem padronizada de escrita de requisitos
Engenharia de Requisitos Ok... Mas como eu faço isso? Revisões Problema: Quem vigia o vigia? Prototipação Casos de teste Antes de implementar: Implementar o caso de teste Se o teste é difícil de se implementar... Então o código também é! Re-analisar os requisitos...
Engenharia de Requisitos Gerenciamento de Requisitos Fato: Requisitos mudam... Utilizar ferramentas que permitam a rastreabilidade de requisitos. Armazenamento de requisitos Gerenciamento de mudanças Ligação entre requisitos e artefatos gerados por ele. Diagramas de análise Casos de uso Código
Engenharia de Requisitos Bibliografia Engenharia de software – Sommerville Engenharia de software – Wilson de Pádua Cáp. 5, seção 10.2