Engenharia de Requisitos Engenharia de Requisitos Introduo Requisitos

  • Slides: 35
Download presentation
Engenharia de Requisitos

Engenharia de Requisitos

Engenharia de Requisitos Ø Introdução Ø Requisitos de Software Ø Identificação e Elicitação de

Engenharia de Requisitos Ø Introdução Ø Requisitos de Software Ø Identificação e Elicitação de Requisitos Ø Análise de Requisitos Ø Especificação de Requisitos com Caso de Uso Ø Validação de Requisitos Ø Gerenciamento de Mudança de Requisitos

Introdução Engenharia de Requisitos Ø Um entendimento completo dos requisitos de software é essencial

Introdução Engenharia de Requisitos Ø Um entendimento completo dos requisitos de software é essencial para um o sucesso do desenvolvimento do software. Não importa quão bem projetado ou quão bem codificado seja, um programa mal analisado e especificado frustrará o usuário. Ø Engenharia de requisitos é um processo de descoberta, refinamento, modelagem e especificação. Ø A análise e especificação de requisitos pode parecer uma tarefa relativamente simples, mas as aparências enganam. O grau de comunicação é elevado. Daí, surgem as oportunidades de interpretações errôneas e informações falsas.

Ciclo de vida desenvolvimento de Software

Ciclo de vida desenvolvimento de Software

Introdução Engenharia de Requisitos Ø Da perspectiva da engenharia de software, a “elicitação” de

Introdução Engenharia de Requisitos Ø Da perspectiva da engenharia de software, a “elicitação” de requisitos é talvez a parte mais critica do processo de desenvolvimento de software. Ø Estudos indicam que os requisitos, só detectados depois do software implementado ou erros na análise de requisitos, são até 20 vezes mais caros de se corrigir que qualquer outro tipo de erro.

Requisitos de Software O que é Requisito ?

Requisitos de Software O que é Requisito ?

Requisitos de Software Definições de requisito (segundo IEEE) 1) Uma condição ou uma capacidade

Requisitos de Software Definições de requisito (segundo IEEE) 1) Uma condição ou uma capacidade de que o usuário necessita para solucionar um problema ou alcançar um objetivo. 2) Uma condição ou uma capacidade que deve ser alcançada ou possuída por um sistema ou componente do sistema, para satisfazer um contrato, um padrão, uma especificação ou outros documentos impostos formalmente. 3) Uma representação documentada de uma condição ou capacidade, conforme os itens (1) e (2).

Requisitos de Software – Contexto Requisitos

Requisitos de Software – Contexto Requisitos

Níveis de Requisitos do usuário Ø Se destinam às pessoas envolvidas no uso e

Níveis de Requisitos do usuário Ø Se destinam às pessoas envolvidas no uso e na aquisição do sistema Ø Público alvo : não possui conhecimento técnico aprofundado e nem indica soluções. Ø Devem ser escritos usando linguagem natural, tabelas e diagramas de modo que sejam compreensíveis. Requisitos do sistema Ø Se destinam a comunicar, de modo preciso e detalhado as funções que o sistema tem de fornecer. Ø Público alvo : desenvolvedores , engenheiro , pessoas que desejam conhecer em profundidade as funcionalidades do sistema. Ø Podem ser escritos: em linguagem estruturada, formulário estruturado de linguagem natural, linguagem com base em alguma linguagem de programação e linguagem especial para especificação de requisitos.

Elicitação de Requisitos Identificar junto aos clientes/usuários quais são os objetivos do sistema, o

Elicitação de Requisitos Identificar junto aos clientes/usuários quais são os objetivos do sistema, o que deve ser acompanhado, como o sistema se ‘”encaixa‟ no contexto das necessidades do negócio e, finalmente, como será a utilização do sistema no dia-a-dia. Algumas dificuldade: Problemas de escopo: Os limites do sistema são geralmente definidos de forma incompleta, ou os clientes/usuários especificam detalhes técnicos desnecessários; Problemas de compreensão: Os clientes/usuários geralmente não estão completamente certos das necessidades, têm uma pouca compreensão do domínio do seu negócio, omitem informações que julgam óbvias e etc. Problemas de volatilidade: Os requisitos mudam o tempo todo.

Elicitação de Requisitos Atividades Ø Avaliar a viabilidade técnica e de negócio para o

Elicitação de Requisitos Atividades Ø Avaliar a viabilidade técnica e de negócio para o sistema proposto; Ø Identificar as pessoas que vão auxiliar a especificar os requisitos e compreender seus preconceitos organizacionais; Ø Definir o ambiente técnico no qual o sistema será instalado; Ø Identificar regras de domínio que limitam a funcionalidade ou desempenho do software que será construído; Ø Definir um ou mais métodos de elicitação de requisitos; Ø Solicitar participação de várias pessoas para que os requisitos sejam definidos a partir de diversos pontos de vista; Ø Identificar claramente a justificativa de existência para cada requisito registrado; Ø Identificar requisitos ambíguos que serão candidatos a prototipação.

Elicitação de Requisitos Documentos Ø As necessidades e viabilidade estruturadas; Ø O limite de

Elicitação de Requisitos Documentos Ø As necessidades e viabilidade estruturadas; Ø O limite de escopo do software/sistema; Ø Lista de clientes, usuários e outros stakeholders* que participaram da atividade de elicitação de requisitos; Ø Descrição do ambiente técnico do sistema; Ø Lista de requisitos e as regras de domínio aplicáveis a cada um. Ø Conjunto de cenários de uso capazes de prover uma ideia do uso do sistema ou produto sob diferentes condições de operação; Ø Qualquer protótipo que eventualmente tenha sido desenvolvido para melhor definir os requisitos. Cada um destes documentos deve ser revisado por todas as pessoas que tenham participado da elicitação de requisitos.

Elicitação de Requisitos Objetivos da Elicitação de Requisitos: Ø Obter conhecimento relevante para o

Elicitação de Requisitos Objetivos da Elicitação de Requisitos: Ø Obter conhecimento relevante para o problema e prover o mais correto entendimento de o que é esperado do software/sistema; Técnicas para Elicitação de Requisitos: Ø Ø Cenários: representar tarefas que executam e as que desejam executar Técnicas tradicionais: questionários, entrevistas, análise de documentação existente Técnicas de elicitação de grupo: Dinâmica de grupo; Prototipação: quando existe alto grau de incerteza e necessita de um rápido feedback

Roteiro Engenharia de Requisitos

Roteiro Engenharia de Requisitos

Elicitação de Requisitos Características de uma “boa elicitação de requisitos” Ø Definir as técnicas

Elicitação de Requisitos Características de uma “boa elicitação de requisitos” Ø Definir as técnicas de coleta de requisitos baseadas em fatores operacionais, táticos e financeiros; Ø Criar um planejamento com objetivo de alcançar as metas estabelecidas, tais como: Prazos, Custos e Qualidade; Ø Promover a integração e o comprometimento de todos os envolvidos no processo, por exemplo: Clientes, Fornecedores, Usuários e o Patrocinador. Ø Identificar os documentos e procedimentos que definem as políticas de negócios da empresa.

Elicitação de Requisitos Fases

Elicitação de Requisitos Fases

Elicitação de Requisitos As informações podem ser identificadas ou encontradas em diversas fontes: Ø

Elicitação de Requisitos As informações podem ser identificadas ou encontradas em diversas fontes: Ø Usuários; Ø Documentos; Ø Especificações técnicas; Ø Clientes; Ø Sistemas legados-Patrocinadores; Ø Analista de Negócio Ø “Domain. Experts” - Especialista em uma ou mais área de negócio

Elicitação de Requisitos Quais são as técnicas ? Ø Ø Ø Reuniões formais; Reuniões

Elicitação de Requisitos Quais são as técnicas ? Ø Ø Ø Reuniões formais; Reuniões informais; Entrevistas; Questionários; Workshop; Brainstorming; JAD (Join Application Development); Prototipagem; Modelagem; Análise de Documentos; Manual de Sistemas Legados.

Elicitação de Requisitos Quais são as técnicas ?

Elicitação de Requisitos Quais são as técnicas ?

Elicitação de Requisitos Quais são as técnicas ?

Elicitação de Requisitos Quais são as técnicas ?

Elicitação de Requisitos Quais são as técnicas ?

Elicitação de Requisitos Quais são as técnicas ?

Entendimento do problema, identificação da lista dos principais usuários, lista dos principais Requisitos, identificação

Entendimento do problema, identificação da lista dos principais usuários, lista dos principais Requisitos, identificação dos Riscos e as Restrições do software. Organizar as informações da seguinte maneira: Ø Contexto (Declaração do problema); Ø Identificação dos usuários e entidades externas; Ø Identificação dos Requisitos; Ø Identificação dos Riscos ; Ø Identificação das Restrições.

Contexto: Após o entendimento do problema podemos escrever a Declaração do Problema. Declaração do

Contexto: Após o entendimento do problema podemos escrever a Declaração do Problema. Declaração do problema: É uma “descrição narrativa”, que apresenta de forma concisa e clara às necessidades dos usuários. Esta narrativa também deve descrever o cenário atual e as necessidades futuras. A linguagem usada neste documento pode ser técnica ou de negócios, entretanto, evite o usar jargões que não se enquadram no escopo do problema.

Identificação dos “Stakeholders” O Que é “stakeholders” ? podem ser pessoas ou entidades que

Identificação dos “Stakeholders” O Que é “stakeholders” ? podem ser pessoas ou entidades que influenciam a construção do software. Exemplo: - Usuários, porque definem os requisitos - Gerentes, Diretores, Patrocinadores porque influenciam através de tomada de decisão.

Identificação dos Requisitos: Identificar as funcionalidades do software que deve ter para atender as

Identificação dos Requisitos: Identificar as funcionalidades do software que deve ter para atender as necessidades do usuário. Para identificar você pode fazer as seguintes perguntas: Ø O que o software deve fazer ? Ø Quais funcionalidades ele deve ter ? Ø Devemos identificar também as principais características do software como: Ø Performance: Qual é tempo de resposta adequado ? Ø Segurança: Quais são os requisitos de segurança que o software precisa? Ø Usabilidade: O software deve seguir a identidade visual da empresa, as interfaces devem ser intuitivas e amigáveis Os requisitos encontrados não devem ser descritos neste momento, precisamos apenas identificá-los, ou seja, é uma informação de alto nível.