Prévia do material em texto
Curso: Análise e Desenvolvimento de Sistemas Disciplina: Engenharia de Software Aula 04: Engenharia de Requisitos Prof. Hemir da C. Santiago hemircsantiago@fac.pe.senac.br Agenda Requisitos de Software Tipos de Requisitos Engenharia de Requisitos Processo de Engenharia de Requisitos Requisito 1. Coisa necessária e indispensável. 2. Condição obrigatória; exigência. 3. Requisitos x pré-requisitos Requisitos de Software São as descrições do que o sistema: Deve fazer Os serviços que oferece As restrições a seu funcionamento Refletem a necessidade do cliente para um sistema que serve a uma finalidade determinada, como: Controlar um dispositivo Realizar um pedido Encontrar informações Requisitos de Software Exemplos: O software deve possibilitar o cálculo dos gastos diários, semanais, mensais e anuais com funcionários. O gerente de vendas poderá solicitar a emissão de relatório de compras de qualquer período. O software deve permitir diferentes níveis de acesso. O software deve rodar no sistema operacional Linux. Tipos de Requisitos Para melhorar a compreensão os requisitos são classificados em: Funcionais Não-Funcionais Requisitos Funcionais Descrevem: Os serviços que o sistema deve fornecer Como o sistema deve reagir a entradas específicas Como o sistema deve se comportar em determinadas situações Requisitos Funcionais Exemplos: O software deve calcular o total a ser pago por um pedido. O software deve obter por GPS a distância percorrida e calcular a velocidade média. Os usuários devem poder obter o número de aprovações, reprovações e trancamentos em todas as disciplinas por um determinado período de tempo. Requisitos Não-Funcionais Especificações técnicas de como melhor adequar o sistema para atender às expectativas do cliente. Descrevem: Limitações no produto: Exemplos: performance, interface de usuário, confiabilidade e segurança Limitações no processo de desenvolvimento: Exemplos: custo, tempo, metodologia de desenvolvimento, componentes a serem utilizados e padrões a serem aderidos. Requisitos Não-Funcionais Normalmente aplica-se ao sistema como um todo, podendo estar relacionados ao comportamento do sistema em seu ambiente operacional. Exemplos: Confiabilidade Segurança Desempenho Disponibilidade Requisitos Não-Funcionais Exemplos: O sistema será utilizado em filiais nacionais e internacionais, devendo atender às especificidades de cada país (idioma, formato de data, unidade de medida, unidade monetária). O sistema deverá permitir até 100 transações por minuto e ser utilizado por até 40 usuários simultaneamente. O software deve ser executado no sistema operacional Windows e/ou Linux. O prazo para a entrega é de até 90 dias antes do início da copa do mundo de 2022. Sistema Mal Especificado Engenharia de Requisitos Definição Processo de descobrir, analisar, documentar e verificar os serviços e restrições de um sistema. (Sommerville, 2011) Objetivo Desenvolver uma especificação completa, consistente e não ambígua que sirva como base para um acordo entre todas as partes envolvidas, descrevendo o que o produto de software irá fazer e não como ele será feito. (Boehm, 1989) Processo da Engenharia de Requisitos Processo da ER: Estudo de Viabilidade Avaliação para verificar se o sistema é útil para a empresa. Uma estimativa é realizada para saber se as necessidades dos usuários podem ser satisfeitas quanto às tecnologias atuais de software e hardware. Deve ser considerado se o sistema será rentável, prazo adequado e restrições orçamentárias disponíveis. Um relatório de viabilidade é produzido e deverá determinar a continuação ou não do projeto. Processo de ER: Elicitação e Análise Descoberta dos requisitos do sistema. Elaboração de modelo(s) do sistema e protótipo(s) para ajudar a entender o sistema a ser especificado. Trabalha-se com os clientes e os usuários finais para obter informações sobre o domínio da aplicação, os serviços e as restrições do sistema. Processo de ER: Elicitação e Análise Fonte: Adaptado de (PRESSMAN, 1995). Pessoas envolvidas Stakeholder: Qualquer pessoa que tenha alguma influência direta ou indireta sobre os requisitos do sistema. Exemplos: usuários finais gerentes de negócio especialistas de domínio engenheiros de outros sistemas que interagem com o sistema em análise clientes fornecedores Processo da ER: Elicitação e Análise Reunião de informações sobre o sistema requerido. Fonte de informações: Documentação Stakeholders Sistemas existentes Técnicas de extração: Entrevistas, questionários, reuniões Cenários, Casos de uso Brainstorming Etnografia Processo da ER: Especificação Tradução das informações obtidas em um documento de requisitos que defina um conjunto de requisitos. O documento de requisitos não deve incluir detalhes da arquitetura ou da implementação do sistema. Processo da ER: Validação Procura garantir que a especificação define, de fato, o sistema que o cliente necessita e que os objetivos e as expectativas dos clientes e usuários serão satisfeitas. Tipos de Validação de Requisitos Validade: Verificar se todos os requisitos, inclusive funções adicionais e diferentes da exigidas, surgidas por ocasião da análise, satisfazem a comunidade de usuários. Consistência: Verificar se há descrições diferentes para uma mesma função ou restrições contraditórias. Totalidade: Verificar se todas as funções e restrições pretendidas pelos usuários foram especificadas. Tipos de Validação de Requisitos Realismo: Verificar se, com base nas tecnologias existentes, os requisitos podem ser implementados. Considerando-se inclusive o orçamento e o cronograma. Facilidade de verificação: A especificação dos requisitos permite que haja uma verificação que mostre que o sistema entregue corresponde ao requisitos solicitados. Gerenciamento de Requisitos Processo para compreender e controlar as mudanças de requisitos. Objetivos: Acompanhar as necessidades individuais dos requisitos e manter as relações entre requisitos dependentes, permitindo avaliar os impactos das mudanças. Gerenciamento de Requisitos Para gerenciar as mudanças em requisitos, deve-se descobrir as interações entre eles e mapeá-las em uma matriz de interação (matriz de rastreabilidade). X X R3 X R2 R1 R3 R2 R1 Requisito Exercício Concurso: TRE/CE 2012 - FCC - Analista Judiciário - Análise de Sistemas Marque os requisitos não funcionais: ( ) Para cada cliente deve ser aplicado um identificador único. ( ) O tempo de resposta entre a requisição e a informação não pode exceder a 2 ms. ( ) Clientes têm filiais que devem "carregar", na base de dados, o identificador do cliente principal. ( ) O sistema não deve ferir as leis de proteção ambiental. X X Exercício Concurso: TJ/PE 2012 - FCC - Analista Judiciário - Analista de Sistemas A técnica utilizada na compreensão de requisitos sociais e organizacionais por observação das rotinas dos envolvidos é a: ( ) Prototipação ( ) Pontos de Vista ( ) Cenário ( ) Entrevista ( ) Etnografia X Exercício Concurso: TRT 1ª 2011 - FCC - Analista Judiciário - Tecnologia da Informação Na engenharia de requisitos trata-se de uma técnica de elicitação que ocorre em ambiente mais informal em que toda a ideia deve ser levada em consideração para a solução de um problema, sendo proibida a crítica a qualquer sugestão dada, e encorajada, inclusive, a criação de ideias que pareçam estranhas ou exóticas: ( ) Prototipação. ( ) Entrevista. ( ) Questionário. ( ) Brainstorming. ( ) Análise de protocolos. X Dúvidas? Plano de Aulas DATA AULA 1 15/08/2022 Apresentação da disciplina, professor e alunos 2 22/08/2022 Processo de Software 3 29/08/2022 Exibição de vídeos sobre a Engenharia de Software e o mercado deTI 4 12/09/2022 Engenharia de Requisitos 5 19/09/2022 Modelagem de Software 6 24/09/2022 Sábado Letivo: Atividade via Google Classroom 7 26/09/2022 Implementação 8 03/10/2022 Qualidade de Software 9 10/10/2022 Revisão: 1ª Unidade 10 17/10/2022 Atividade Avaliativa Plano de Aulas DATA AULA 11 24/10/2022 1ª Devolutiva 12 31/10/2022 Teste de Software 13 07/11/2022 Metodologia de Desenvolvimento RUP 14 14/11/2022 Metodologias Ágeis: eXtreme Programming e Scrum 15 19/11/2022 Sábado Letivo: Atividade via Google Classroom 16 21/11/2022 Apresentação de Seminários 17 28/11/2022 Apresentação de Seminários 18 05/12/2022 2ª Devolutiva 19 12/12/2022 Recuperação 20 19/12/2022 Devolutiva da Recuperação e fechamento do semestre � Estudo de Viabilidade� Elicitação e Análise e Requisitos� Modelos de Sistema Relatório de Viabilidade Especificação de Requisitos� Requisitos de Usuário e de Sistema Validação de Requisitos� Documento de Requisitos Estudo de Viabilidade Relatório de Viabilidade Elicitação e Análise e Requisitos Modelos de Sistema Especificação de Requisitos Requisitos de Usuário e de Sistema Validação de Requisitos Documento de Requisitos