Prévia do material em texto
Engenharia de Requisitos de Software Engenharia de Requisitos 2 Engenharia de Requisitos 3 A Engenharia de Requisitos é uma área da Engenharia de Software que propõe modelos, métodos, técnicas e ferramentas para a realização de atividades relativas aos requisitos de software, entre elas: - Levantamento; - Análise; - Especificação; - Gerenciamento; - Rastreamento; - Verificação e Validação; - Documentação. Objetivo da Engenharia de Requisitos 4 A Engenharia de Requisitos objetiva o desenvolvimento de ferramentas metodológicas para orientar a definição de requisitos de sistemas computacionais, que possam servir adequadamente às necessidades das pessoas que os utilizam. Os Processos da Engenharia de Requisitos 5 Os processos de engenharia de requisitos incluem quatro atividades: Estudo de viabilidade 6 Estudo de viabilidade: entendimento do negócio e como o sistema pretende apoiar os processos de negócio; Um estudo de viabilidade é importante para decidir se vale a pena ou não gastar tempo e esforço com sistema proposto; É um estudo breve e focalizado que verifica: - Se o sistema contribui para os objetivos da organização; - Se o sistema pode ser implementado usando tecnologia atual e dentro do orçamento e prazo; - Se o sistema pode ser integrado a outros (caso necessário). Elicitação e Análise de Requisitos 7 Elicitação e análise de requisitos: reunir informações sobre o sistema proposto e os existentes: Fonte: documentos, organização, especificações existentes, observações, entrevistas, ... Engenheiros de software, clientes e usuários finais do sistema e outros envolvidos (stakeholders) trabalham para aprender: - Sobre o domínio da aplicação; - Quais serviços/funcionalidades o sistema deve fornecer; - O desempenho esperado; - As restrições de hardware, do ambiente, do negócio; Elicitação e Análise de Requisitos 8 A Figura mostra que a elicitação e análise de requisitos é um processo iterativo, com feedback contínuo de cada atividade para as outras atividades. O ciclo do processo começa com a descoberta de requisitos e termina com sua documentação. O entendimento do analista de requisitos melhora a cada rodada do ciclo. Quando se completa o documento de requisitos, o ciclo termina. Elicitação e Análise de Requisitos 9 Dificuldades: - Definição dos stakeholders positivos e negativos; - Stakeholders não sabem o que querem do sistema e não expressam o que querem; - Stakeholders expressam requisitos naturalmente usando seus próprios termos (domínio); - Diferentes stakeholders têm diferentes requisitos; - Fatores políticos podem influenciar (mais poder para um gerente); - Ambiente dinâmico muda constantemente. Novos requisitos podem surgir de novos stakeholders. Elicitação e Análise de Requisitos 10 O processo de elicitação e análise de requisitos: Descoberta de Requisitos 11 É a atividade de interação com os stakeholders do sistema para descoberta dos requisitos; Fontes: documentação, stakeholders, especificações de sistemas similares; Resultados: cenários, protótipos, modelos estruturados. Descoberta de Requisitos 12 ● Pontos de vista: • Auxiliam na definição dos requisitos; • Várias perspectivas; • Descobrir conflitos. ● Três tipos: • Interação: pessoas ou sistemas que interagem com o sistema; • Indiretos: não têm acesso direto ao sistema; • Domínio: características e restrições. Descoberta de Requisitos 13 Pontos de vistaPontos de vista InteraçãoIndiretos Domínio Gerente Biblioteca Gestor da Instituição Usuários Funcionários Padrões IU Sistema de Classificação Pontos de vista de um sistema para biblioteca Descoberta de Requisitos 14 Técnicas: - Entrevistas (estruturadas, semiestruturadas e não estruturadas); - Observações; - Questionários; - Reuniões de grupo; - Análise de sistemas similares; - Cenários (exemplos reais de como um sistema pode ser usado); - Casos de Uso. Validação de Requisitos 15 Validação de requisitos: mostrar que os requisitos realmente representam o sistema que o usuário deseja; descobrir problemas; revisão dos requisitos (envolve clientes e desenvolvedores); - Dedica-se a mostrar que os requisitos definem o sistema que o cliente realmente deseja; - Custos de erros de requisitos são altos e, desse modo, a validação é muito importante; Técnicas de Validação de Requisitos 16 Revisões de requisitos: - Análise manual sistemática dos requisitos. - Revisões regulares devem ser feitas enquanto a definição de requisitos está sendo formulada; - Ambos, cliente e fornecedor, devem ser envolvidos nas revisões; - Revisões podem ser formais (com documentos completos) ou informais. Uma boa comunicação entre desenvolvedores, clientes e usuários pode resolver problemas nos estágios iniciais; Técnicas de Validação de Requisitos 17 Prototipação: - Uso de um modelo executável do sistema para verificar requisitos. Geração de casos de teste: - Desenvolvimento de testes para requisitos a fim de verificar a testabilidade. Gerenciamento de Requisitos 18 Gerenciamento de Requisitos: compreender e controlar as mudanças dos requisitos; avaliar os impactos das mudanças: - Usuários muitas vezes mudam os requisitos ou “não sabem o que querem”. Gerenciamento de requisitos é o processo de gerenciamento de mudanças de requisitos durante o processo de engenharia de requisitos e o desenvolvimento de sistema; Gerenciamento de Requisitos 19 Requisitos são, inevitavelmente, incompletos e inconsistentes: - Novos requisitos surgem durante o processo, à medida que as necessidades de negócio mudam e uma melhor compreensão do sistema é desenvolvida; - Os diferentes pontos de vista têm requisitos diferentes e estes são por muitas vezes contraditórios. Mudança de Requisitos 20 - Mudanças nas prioridades em relação aos requisitos podem ocorrer durante o processo de desenvolvimento; - Os clientes do sistema podem especificar os requisitos a partir de uma perspectiva de negócio que conflitam com os requisitos do usuário final; - Os ambientes técnico e de negócio do sistema podem mudar durante seu desenvolvimento. Planejamento de Gerenciamento de Requisitos 21 ● Durante o processo de engenharia de requisitos, você tem de planejar: ○ A identificação de requisitos: ■ Como os requisitos são identificados individualmente; ○ O processo de gerenciamento de mudanças: ■ É o processo de análise de uma mudança de requisitos; ○ Políticas de rastreabilidade: ■ É a quantidade de informações que é mantida sobre os relacionamentos de requisitos; ○ Apoio de ferramenta CASE: ■ O apoio de ferramenta requisitada para auxiliar no gerenciamento das mudanças requisitos. Rastreabilidade 22 ● A rastreabilidade refere-se aos relacionamentos entre os requisitos, suas fontes e o projeto de sistema; ● Rastreabilidade de requisitos: ○ É a ligação dos requisitos dependentes; ● Rastreabilidade da fonte: ○ Ligam os requisitos aos stakeholders que propuseram os requisitos; ● Rastreabilidade de projeto: ○ Ligam os requisitos aos módulos de projeto. Matriz de Rastreabilidade 23 D= requisito da linha depende do requisito da coluna R= existe algum relacionamento entre os requisitos Pontos importantes 24 ● Os processos usados para a engenharia de requisitos variam muito, dependendo do domínio da aplicação, das pessoas envolvidas e da organização que desenvolve os requisitos; ● Na prática, engenharia de requisitos é uma atividade iterativa em que estes processos são intercalados; ● O processo de engenharia de requisitos é um processo iterativo incluindo um estudo de viabilidade, elicitação e análise, especificação e validação de requisitos; Pontos importantes 25 ● Entrevistas são boas para a obtenção de um entendimento geral do que os stakeholders fazem e como eles podem interagir com o sistema; ● Entrevistas podem não ser suficientes para uma boa compreensãodos requisitos de domínio: ○ Engenheiros de requisitos podem não entender a terminologia específica de domínio; ○ O conhecimento do domínio é tão familiar para o especialista que por muitas vezes ele não é discutido. ● Você pode usar uma variedade de técnicas para a elicitação de requisitos, incluindo entrevistas, cenários, casos de uso, etc; Pontos importantes 26 ● A validação dos requisitos é o processo de verificação da validade, consistência, completude, realismo e verificabilidade dos requisitos; ● Mudanças organizacionais e técnicas, e de negócios, inevitavelmente levam a mudanças nos requisitos de um sistema de software; ● O gerenciamento dos requisitos é o processo de gerenciamento e controle dessas mudanças, que ocorre durante todo o processo de desenvolvimento de software. Referências Básicas 27 SOMMERVILLE, Ian. Engenharia de Software. 10. ed. São Paulo: Pearson Education do Brasil,2019. xii, 756 p. ISBN 9788543024974. PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de software: uma abordagem profissional. 9. ed. Porto Alegre: AMGH, 2021. E-book. ISBN 9786558040118. Slides adaptados da Profº Fábio e da Profª Luciana Slide 1: Engenharia de Requisitos de Software Slide 2 Slide 3: Engenharia de Requisitos Slide 4: Objetivo da Engenharia de Requisitos Slide 5: Os Processos da Engenharia de Requisitos Slide 6: Estudo de viabilidade Slide 7: Elicitação e Análise de Requisitos Slide 8: Elicitação e Análise de Requisitos Slide 9: Elicitação e Análise de Requisitos Slide 10: Elicitação e Análise de Requisitos Slide 11: Descoberta de Requisitos Slide 12: Descoberta de Requisitos Slide 13: Descoberta de Requisitos Slide 14: Descoberta de Requisitos Slide 15: Validação de Requisitos Slide 16: Técnicas de Validação de Requisitos Slide 17: Técnicas de Validação de Requisitos Slide 18: Gerenciamento de Requisitos Slide 19: Gerenciamento de Requisitos Slide 20: Mudança de Requisitos Slide 21: Planejamento de Gerenciamento de Requisitos Slide 22: Rastreabilidade Slide 23: Matriz de Rastreabilidade Slide 24: Pontos importantes Slide 25: Pontos importantes Slide 26: Pontos importantes Slide 27: Referências Básicas