Introdução a Requisitos Ceça Moraes [email protected].
Transcript of Introdução a Requisitos Ceça Moraes [email protected].
04/11/23 Ceça Moraes 2
Conteúdo
• Introdução• Engenharia de requisitos
– Visão geral– Etapas
• Documento de caso de uso
04/11/23 Ceça Moraes 3
Introdução
• Geralmente os projetos de software são entregues com atraso, custo acima do estimado e não atendem as necessidades do usuário.
• A maioria por falha nos requisitos de sistema
• Como abstrair e documentar a necessidade de um usuário para que todos tenham o mesmo entendimento do problema?
04/11/23 Ceça Moraes 4
Introdução• A detecção precoce de erros
faz valer a pena
04/11/23 Ceça Moraes 5
Introdução
• Triângulo crítico da engenharia de software:
04/11/23 Ceça Moraes 6
Engenharia de Requisitos Visão Geral
04/11/23 Ceça Moraes 7
Engenharia de Requisitos Visão Geral
04/11/23 Ceça Moraes 8
Engenharia de Requisitos Atividades
04/11/23 Ceça Moraes 9
Engenharia de Requisitos
•A Engenharia de Requisitos busca resolver esses impasses através de um conjunto de técnicas de levantamento, análise e documentação de requisitos.
04/11/23 Ceça Moraes 10
Engenharia de Requisitos
• Um engenheiro de software deve convencer clientes e usuários de que:– Boas especificações de requisitos são
indispensáveis;– Elas não representam custo supérfluos,
mas investimentos necessários;– É fundamental a participação dos usuários;– Um boa especificação custa tempo e
dinheiro;– A ausência de uma boa especificação
custa muito mais tempo e dinheiro
04/11/23 Ceça Moraes 11
Conceitos
•Engenharia de Requisitos: Disciplina da engenharia de software responsável por levantar, detalhar, documentar e validar os requisitos de um produto.
04/11/23 Ceça Moraes 12
Conceitos
•Stakeholders– Qualquer pessoa afetada de
alguma forma pelo sistema
04/11/23 Ceça Moraes 13
Conceitos
• Requisito:– Uma condição ou capacidade que
um sistema ou componente de sistema deve ter para satisfazer um contrato, padrão, especificação, ou outro documento de formalidade
– Descrição das necessidades ou desejos para um produto
04/11/23 Ceça Moraes 14
Conceitos
•Requisito:– Define as funções que o sistema
deve realizar e as restrições sobre as quais vai operar
– Objetivos ou restrições estabelecidas por clientes e usuários que definem as diversas propriedades do sistema
Tipos de Requisitos de Software
Requisitos funcionais• Definem as funcionalidades do software• Operações que clientes e usuários
querem, ou precisam, que sejam realizadas pelo sistema
• Exemplo:– Possibilitar consulta de Saldo e
Extrato em Caixas Eletrônicos e pela Internet
– Permitir impressão de cheques em Caixas Eletrônicos
– Permitir solicitação de entrega de talão cheques pela Internet
15
Tipos de Requisitos de Software
Requisitos não funcionais• Atuam na limitação da solução• Conhecidos como limitações (no sistema
e/ou processo de desenvolvimento) ou requisitos de qualidade
• Dizem respeito a:aspectos de desempenho,interfaces com o usuário, confiabilidade,segurança, manutenibilidade, portabilidade, padrões,....
16
04/11/23 Ceça Moraes 17
RequisitosExemplos
• Sistema de Gestão de uma Biblioteca– O sistema deve manter registros de todos os
materiais da biblioteca, incluindo livros, jornais, revistas, vídeo, audio, relatórios, CDs e DVDs. (RF)
– O sistema deve permitir os usuário pesquisarem qualquer item por título, autor ou ISBN. (RF)
– O sistema deve providenciar uma interface Web (RNF)
– O sistema deve suportar pelo menos 20 transações por segundo (RNF)
– As principais funcionalidades do sistema, disponíveis para o público, devem poder ser apresentadas em menos de 15 minutos (RNF)
Requisitos Não Funcionais – Exemplos
11/04/23 18
04/11/23 Ceça Moraes 19
Processo da Engenharia de Requisitos
• O processo de engenharia de requisitos pode ser descrito em 5 passos distintos:– Elicitação de Requisitos;– Análise de Requisitos;– Especificação de Requisitos;– Validação de Requisitos;– Gerenciamento de Requisitos.
• Esses passos variam muito e dependem do domínio da aplicação, das pessoas envolvidas e da organização.
Elicitação de Requisitos Consiste em:
Descobrir
Explicitar Obter o máximo de informações para o
entendimento do objeto em questão Refere-se ao processo de extração de
informação sobre a(s) funcionalidade(s) requisitada(s) e outras propriedades do sistema
É o primeiro estágio na construção da
solução e entendimento do problema (correto e completo!!) que o software deve resolver 20
Técnicas de Elicitação de Requisitos
Utilizadas para extrair informações Área delicada: nem sempre o usuário
consegue exprimir suas necessidades, tarefas, etc.
As técnicas são complementares entre si Entrevistas, reuniões, brainstorm, leitura de
documentos, questionários, protótipos
O objetivo maior é extrair informação, seja uma ou outra técnica sendo utilizada 21
04/11/23 Ceça Moraes 22
Levantamento de Requisitos
23
Especificação dos Requisitos
• Descrever em detalhes os requisitos do sistema
• Exemplo: – O cliente que não está em débito
pode alugar até 5 filmes na locadora• Uma especificação pode ser um
documento escrito, um modelo gráfico, um modelo matemático formal, uma coleção de cenários, um protótipo, ou qualquer combinação entre eles.
Fatores de Falhas nos Projetos
11/04/23 24
Objetivos não estavam clarosObjetivos não estavam claros IIgnorar um grupo de clientes
OOmitir um grupo de requisitos
PPermitir inconsistências entre grupos de requisitos
AAceitar um requisito ambíguo e inconsistente
Requisitos e especificações incompletosRequisitos e especificações incompletos
Requisitos e especificações instáveis (mudanças)Requisitos e especificações instáveis (mudanças)
AAceitar requisito inadequado, incorreto, indefinido, ou impreciso
Importância da boa especificação...
25
• Não importa quão bem projetado ou codificado está um programa, se ele for mal analisado e especificado desapontará o usuário e trará aborrecimentos ao desenvolvedor
04/11/23 Ceça Moraes 26
Validação de Requisitos
• Garantir que todos os requisitos do sistema foram estruturados de maneira não ambígua, sem inconsistências e erros.
• Garantir que os produtos de trabalho (ou artefatos) estão em conformidade com os padrões estabelecidos para o processo, para o projeto e para o produto
• Podemos usar um check list para examinar as especificações dos requisitos
Documento Requisitos
04/11/23 Ceça Moraes 28
Documento Requisitos• Documento formal usado para
registrar/comunicar os requisitos dos/aos stakeholders
• Descreve:– Serviços e funções que o sistema deve
ter– As restrições nas quais o sistema deve
funcionar– Requisitos funcionais e/ou Casos de Uso– Requisitos não funcionais– Definições de outros sistemas, com o
qual o sistema deverá comunicar e/ou integrar-se
04/11/23 Ceça Moraes 29
Documento Requisitos• Descreve (continuação):
– Informação sobre o domínio de aplicação do sistema
– Restrições sobre o(s) processo(s) usado para desenvolver o sistema
– Descrição das plataformas computacionais (hardware, redes, ...)
• Deve incluir uma introdução com uma visão geral do sistema, as necessidades de negócio que serão atendidas.
04/11/23 Ceça Moraes 30
Use Cases
Um caso de uso é uma seqüência de ações realizada por um sistema que
produz um resultado de valor observável para determinado ator/usuário
Realização do requisito
04/11/23 Ceça Moraes 31
Exemplo: Banking• Ator: Cliente
– Efetuar login– Alterar senha– Consultar saldo– Consultar extrato– Consultar fatura de cartão de crédito– Pagar fatura de cartão de credito– Realizar transferência– Realizar doc– Verificar talões de cheques– Desbloquear talões de cheques– Solicitar talões de cheques