Engenharia de Requisitos Aula 5 Sumário 2 O quê é? Identificação de requisitos Técnicas para facilitar a identificação Especificação de requisitos Identificação de requisitos Antes do requisitos serem analisados, modelados ou especificados, devem ser recolhidos dalguma forma Existem vários métodos: entrevistas, análise documental, questionários, observação, workshops, etnografia A técnica mais utilizada é a entrevista No início recomenda-se fazer pergunta de formato livre focadas: – – – 3 no cliente, objectivos gerais e benefícios esperados na compreensão do problema na eficácia da reunião Recomendações para as especificações 4 Separar a funcionalidade da implementação Estabelecer o âmbito de operação do software Criar modelos intuitivos Tolerar inclusão de novos requisitos e mudanças Documento de especificações 5 Introdução: metas, objectivos e descrição do sistema no seu contexto Descrição da informação: documentação do conteúdo da informação e as suas ligações, fluxos e estrutura. Descrição de interfaces Descrição funcional: documentação das funções requeridas; o seu processo, restrições e critérios de performance. Descrição do comportamento: operação do sistema em função de eventos externos e características de controlo geradas internamente Critérios de validação: meios de reconhecimento de sucesso da implementação, classes de teste. Ver sugestão de documento no Edu-blog! Revisão das especificações 6 Realizada conjuntamente pelo cliente e a equipa de desenvolvimento, faz parte das actividades de garantia da qualidade do software Engenharia de requisitos – Para quê? Um produto do processo da engenharia de sistemas em geral e do software em particular é a especificação do sistema Como garantir que a especificação recolhe as necessidades do cliente? – 7 A melhor solução é um sólido processo de engenharia de requisitos Engenharia de requisitos actividades 8 Identificação de requisitos Análise e negociação de requisitos Especificação de requisitos Modelação do sistema Validação de requisitos Gestão de requisitos Identificação de requisitos (I) Problemas – Alcance – Compreensão – Não se sabe bem o que é preciso Pouca compreensão das capacidades e limitações do âmbito tecnológico Dificuldades de comunicação Omissão de informação por considera-la obvia Especificação de requisitos ambíguos ou contraditórios Volatilidade 9 Limites mal definidos Detalhes desnecessários Os requisitos mudam!!! Identificação de requisitos (II) Sugestões – – – – – Medir o impacto do sistema e a sua viabilidade Identificar as pessoas que irão especificar os requisitos Verificar que todos os pontos de vista sejam cobertos Definir o âmbito técnico Definir requisitos com as suas restrições de domínio – – 10 i.e. Limitações na funcionalidade e performance do sistema Identificar requisitos ambíguos como candidatos para protótipos Criar cenários de uso Análise e negociação de requisitos Questões: – – – – – – – 11 Cada requisito é consistente com os objectivos do sistema? Tem todos os requisitos um nível apropriado de abstracção? O requisito é necessário? Cada requisito está delimitado sem ambiguidade? Existem requisitos incompatíveis com outros requisitos? É possível alcançar cada requisito no seu âmbito técnico? Os requisitos podem ser testado depois de implementados? Especificação de requisitos Uma especificação pode ser um documento escrito, um modelo gráfico, um modelo matemático formal, uma colecção de cenários de uso, um protótipo ou uma combinação destes Em sistemas pequenos – Para sistemas grandes ou complexos – 12 basta um documento escrito uma combinação de modelos gráficos com documentos com descrições em linguagem natural pode ser a melhor alternativa Validação de requisitos 13 Actividade de garantia da qualidade Revisão técnica formal Visa detectar as inconsistências, ambiguidades, omissões e outros erros. Gestão de requisitos Conjunto de actividades que ajudam a equipa de trabalho na identificação, controlo e monitorização dos requisitos e nas mudanças destes. Tipos de requisitos – – – – – 14 Funcional Dados Comportamento Interface Saída próxima documentação importante… Especificação dos Objectos Identificação de Classes e Objectos – – – 16 Análise Sintáctica Gramatical Formas de Manifestação Considerações que um Analista deve ter em mente Documento do Plano de Projecto de SW