Requisitos Funcionais e seus níveis de granularidade Guilherme Siqueira Simões 21/02/2017 1
ORIENTAÇÕES INICIAIS Dê preferência ao uso de uma conexão de banda larga Feche qualquer outro programa que possa interferir na transmissão de áudio ou na conexão de Internet. O evento não fará uso do vídeo (webcam), somente slides e áudio Se necessário, ajuste o idioma da sala na barra de ferramentas superior O evento terá ~45 min. de apresentação e ~15 min. finais para perguntas Você pode mandar suas perguntas pelo chat ao longo da apresentação Para quem possui a certificação PMP, o evento vale 1 PDU A apresentação será gravada e o vídeo publicado posteriormente no site e redes sociais: 2
MISSÃO Apoiar nossos clientes a ter mais visibilidade do desempenho de seus processos de software e a estabelecer modelos de negócios em que eles tenham o controle sobre os mesmos. DIRECIONAMENTO ESTRATÉGICO COM: Estimativas e Medição de Projetos de Software Implantação da Análise de Pontos de Função (IFPUG, NESMA, COSMIC) Auditoria de Medições de Projetos de Software Medidos com APF Benchmarking e Análises de produtividade Avaliação para Melhoria dos Processos de Software Engenharia de Requisitos Planejamento e avaliação do desempenho (Escopo, Esforço, custo, prazo, qualidade) Construção e Monitoramento de Contratos de Software baseados em Resultados Integração do Desenvolvimento Ágil com a Governança Corporativa de TI usando Métricas Funcionais 3
FORMAÇÃO PROFISSIONAL APF: Fundamentos, Benefícios e Implantação 8 horas (EAD e presencial) Preparação para o Exame CFPS 96 horas (EAD e presencial) Preparação para o Exame COSMIC 16 horas (EAD e presencial) Estimativa de Projetos de Software: Fundamentos e Técnicas 16 horas Capacitação em APF: Medição e Estimativa de Software 16 horas (EAD e presencial) Medição e Estimativa de Software com o Método COSMIC 16 horas (Presencial) Engenharia de Requisitos de Software 24 horas Introdução ao Gerenciamento de Projetos 16 horas Workshop APF: Metodologia e Práticas de Medição 16 horas (Presencial) Oficina de Contagem de Pontos de Função Sessões de 8 ~ 40 horas Oficina de Requisitos Sessões de 8 ~ 40 horas Gestão de Riscos em Projetos 16 horas Mais de 14.000 alunos capacitados O livro mais vendido de APF no país foi escrito por nós Formou >25% dos CFPS no Brasil 4
5
Objetivos desta apresentação Requisitos Funcionais e Requisitos Não Funcionais Nível de granularidade Requisito funcional com objetivo agregador Requisito funcional com objetivo de usuário Requisito funcional com objetivo de subfunção Qual a importância do nível de granularidade do RF? 6
Especificação de Requisitos o quê Funcionais Não Funcionais como Descrevem o quê o software faz: processos ou tarefas que suportam uma prática ou procedimento de algum usuário Expressam atributos ou restrições inerentes aos requisitos funcionais e como eles serão atendidos 7
Nível Granularidade RF É a maior ou menor extensão da descrição do comportamento do software em uma especificação funcional Distintos momentos de um projeto exigem distintos níveis de granularidade da especificação Momentos iniciais necessitam de uma visão ampla de todo escopo Momentos avançados exigem uma visão profunda de parte do escopo 8
As estratégias de desenvolvimento Sequencial (cascata) Iterativa-incremental Planejamento Marco iteração #1 iteração #2 iteração #3 Requisitos Marco modelagem de negócio modelagem de negócio modelagem de negócio Projeto (Design) Marco Codificação e Teste Marco requisitos análise e projeto implementação requisitos análise e projeto implementação requisitos análise e projeto implementação Integração Marco teste teste teste Teste de Sistema entrega entrega entrega 9
Requisitos Funcionais (RF) Descrevem o quê o software deve fazer em termos das tarefas ou serviços do usuário, sem abordar sua implementação Exemplos para um sistema de autoatendimento bancário O sistema deve realizar operações com a conta corrente O sistema deve transferir o valor de uma conta a outra conta O sistema deve validar o cartão e senha do cliente O sistema deve garantir que o total de transações do cliente no dia não exceda a $5.000 Percebam que estes requisitos funcionais tem diferentes níveis de objetivo (ou granularidade) 10
Níveis de Objetivo dos RFs (Granularidade) 11
São RFs de objetivos mais gerais e estão em um nível de abrangência com foco em processos de negócio de alto nível. Resumem um conjunto de tarefas do usuário Exemplos: Movimentar conta corrente Pagar contas Emitir extratos Requisitos Funcionais Objetivos Agregadores Em momentos preliminares talvez boa parte dos requisitos funcionais identificados esteja nesse nível de objetivo No entanto, alguns requisitos funcionais neste nível possuem um comportamento tão padronizado que dispensam o detalhamento em requisitos de menor nível. Um exemplo são CRUDs (Create, Read, Update, Delete), telas de cadastro 12
Requisitos Funcionais Objetivos de Usuário Estão no nível de uma única tarefa sob responsabilidade de um único indivíduo em um momento que tem tudo o que precisa no tempo para que a tarefa seja feita Ao final da tarefa, o usuário cumpre seu objetivo, fica satisfeito, não há nada mais a se fazer. Se um trabalho envolve mais de um indivíduo, é porque há mais de uma tarefa presente Exemplos: Efetuar saque na conta corrente Pagar boleto de cobrança Resgatar saldo de fundo de investimento 13
Requisitos Funcionais Objetivos de Usuário b. resultados possam ser usados em outras tarefas por usuários com outras responsabilidades a. descrevem uma história com o intercâmbio de informações entre o usuário e a solução em busca de um objetivo específico c. resultados possam ser usados em outros momentos 14
Requisitos Funcionais Objetivos de Subfunção Análogo aos objetivos agregadores, porém em sentido inverso, há requisitos descritos em um nível inferior ao dos objetivos do usuário: são passos e regras 15
Um passo descreve o comportamento esperado pelo sistema no intercâmbio de informações com seus usuários como parte de uma tarefa Nesse mesmo nível de abrangência também estão as regras de negócio Exemplos: Requisitos Funcionais Objetivos de Subfunção Validar cartão e senha do cliente Limitar cada saque a um máximo de $1.000 Especificar neste nível é interessante quando há comportamento compartilhado por vários RFs de nível maior. Isto torna os documentos de requisitos mais facilmente adaptáveis a mudança 16
Por quê Nível de Granularidade? A evolução natural dos requisitos é caminhar de objetivos mais gerais para mais específicos e com maior detalhamento Na especificação de requisitos é improvável que se tenha todos os RFs especificados no mesmo nível de granularidade Perceber o nível de granularidade ajuda ao analista encontrar o detalhamento adequado para a especificação de requisitos Detalhar além do necessário é desperdício de tempo Detalhar menos que o necessário impede decisões apropriadas sobre o escopo 17
Objetivos da especificação Obter uma visão ampla do escopo (e não necessariamente ainda detalhada). Ex.: documento de visão, product backlog O RF especificado no nível de objetivo agregador é o mais indicado RFs mais detalhados podem estar presentes, mas limitados somente aos mais críticos e relevantes para a necessária compreensão do escopo pelas partes interessadas Obter uma visão profunda do escopo (em parte ou todo). Ex.: especificação de casos de uso, splitting de historias de usuário O RF especificado no nível de objetivo de usuário é o mais indicado RF no nível agregador significa trabalho de levantamento pendente RF no nível de subfunção é interessante para ajudar na qualidade da especificação (facilidade de mudanças, consistência, clareza). 18
Para saber mais Curso: Engenharia de Requisitos: Software Orientado ao Negócio On-line: http://fattocs.com/pt/ereq-ead Curitiba: 14 a 16/03 Rio de Janeiro: 20 a 24/03 São Paulo: 27 a 31/03 Webinars: Dificuldades ao lidar com requisitos (youtu.be/mckx4m95z88) Qualidade em Requisito (youtu.be/d8xmsaer2f4) Grupo de discussão: Engenharia de Requisitos https://br.groups.yahoo.com/groups/engenharia-requisitos 19
Próximos webinars SNAP: O processo de avaliação não funcional de software 21/03 https://goo.gl/myhv6o Tutorial prático da análise dos pontos de função COSMIC de um app Google 18/04 https://goo.gl/3coqsc Gestão de Riscos Utilize as incertezas de seu projeto ao seu favor 23/05 https://goo.gl/noc5vq 20
AVALIAÇÃO DO EVENTO 21
PERGUNTAS? Obrigado pela sua atenção! Guilherme Siqueira Simões guilherme.simoes@fattocs.com www.linkedin.com/in/guilhermesimoes Skype: guilherme.s.simoes Brasília: (61) 4063-7484 São Paulo: (11) 4063-4658 Vitória: (27) 3026-6304 Rio de Janeiro: (21) 4063-5311 22