Prévia do material em texto
<p>Projeto Integrador em Ciência da Computação</p><p>Desenvolvimento de software com método ágil</p><p>Atividade 1</p><p>Produtct Backlog</p><p>Em linhas gerais, o Product Owner definiu que o produto a ser desenvolvido refere-se a um</p><p>Aplicativo para gerenciar áreas de alagamentos e inundações usando um smartphome.</p><p>Para esse caso, vamos admitir que seguiremos um dos fluxos definidos e utilizar o Modelo de</p><p>História de Usuário para descrever, em Linguagem Natural, alguns requisitos, já discutidos e</p><p>definidos em ordem de priorização.</p><p>A Tabela a seguir apresenta algumas funcionalidades e, como primeira atividade,</p><p>você deverá inserir mais duas (6, 7) nesta história do usuário, baseadas em</p><p>Dispositivos Móveis.</p><p>Histórias de Usuário</p><p>Estimativa</p><p>1- O usuário irá interagir para indicar os pontos de alagamentos e inundações, usando um</p><p>mapa para facilitar a localização</p><p>2- O aplicativo deverá informar se há alagamentos ou inundações no percurso de outros</p><p>usuários, para que possam evitar a rota</p><p>3 - Todos os usuários poderão confirmar ou desconsiderar as inundações ou alagamentos</p><p>informados, para reforçar ou não a informação</p><p>4- O aplicativo deverá, pelo histórico, informar as áreas de risco, para que o trajeto seja evitado</p><p>em dias de chuva</p><p>5- O app deve ser oferecido para as duas maiores plataformas – IOS e Android – para ter</p><p>alcance maior</p><p>6- Adicionar Funcionalidade de Marcação de Alagamentos</p><p>Objetivo: Permitir que os usuários indiquem pontos de alagamento em tempo real para facilitar</p><p>a comunicação e resposta em situações de emergência.</p><p>Contexto: Como um usuário preocupado com a segurança pública, eu quero poder marcar</p><p>pontos de alagamento em um mapa para informar as autoridades e comunidade sobre áreas</p><p>afetadas.</p><p>Critérios de Aceitação: O usuário deve ser capaz de acessar a funcionalidade de marcação de</p><p>alagamentos a partir do menu principal.</p><p>A interface deve exibir um mapa interativo com a capacidade de zoom e pan.</p><p>O usuário deve poder adicionar uma marcação indicando a localização do alagamento.</p><p>A marcação deve conter um campo para descrever a condição do alagamento.</p><p>A marcação deve ser registrada com a data e hora da criação.</p><p>O usuário deve ter a opção de remover uma marcação caso tenha cometido um erro.</p><p>7- Visualizar Marcas de Alagamento no Mapa</p><p>Objetivo: Permitir que os usuários visualizem as marcações de alagamento feitas por outros</p><p>usuários para estar ciente das áreas afetadas.</p><p>Contexto: Como um usuário interessado em segurança local, eu quero poder visualizar no mapa</p><p>as marcações de alagamento feitas por outros usuários para evitar áreas perigosas.</p><p>Critérios de Aceitação: as marcações de alagamento feitas por outros usuários devem ser</p><p>exibidas no mapa.</p><p>Cada marcação deve conter informações sobre a condição do alagamento e a data/hora da</p><p>criação.</p><p>O usuário deve ser capaz de filtrar as marcações por data/hora ou condição do alagamento.</p><p>A interface deve ter um botão para atualizar as marcações em tempo real.</p><p>Atividade 2</p><p>Planning Poker</p><p>Cada item da Tabela de história do usuário deve ser discutido sob o ponto de vista de</p><p>dificuldade de implementação, pois cada membro da Equipe terá uma visão diferente sobre o</p><p>esforço na implementação e uma discussão se fará necessária.</p><p>Considerando que foi utilizada a técnica de Planning Poker pela utilização da sequência de</p><p>Fibonacci para estimar a complexidade de implementação, chegou-se às estimativas inseridas</p><p>na Tabela a seguir:</p><p>Histórias de Usuário</p><p>Descrição Estimativa</p><p>1 O usuário irá interagir para indicar os pontos de alagamentos e 5</p><p>Inundações, usando um mapa para facilitar a localização</p><p>2 O aplicativo deverá informar se há alagamentos ou 8</p><p>Inundações no percurso de outros usuários,</p><p>para que possam evitar a rota.</p><p>3 Todos os usuários poderão confirmar ou desconsiderar 13</p><p>as inundações ou alagamentos informados</p><p>, para reforçar ou não a informação.</p><p>4 O aplicativo deverá, pelo histórico, informar as 5</p><p>áreas de riscos, para que o trajeto seja evitado</p><p>em dias de chuva.</p><p>5 O app deve ser oferecido para as duas maiores 13</p><p>plataformas – IOS e Android – para ter um alcance maior.</p><p>6 Notificações de Confirmação/Desconsideração de Estimativa 8</p><p>Inundações/Alagamentos</p><p>Objetivo: Permitir que os usuários recebam notificações e atualizações em tempo real sobre a</p><p>confirmação ou desconsideração de inundações e alagamentos relatados por outros usuários.</p><p>Contexto:</p><p>Quando um usuário relata um alagamento ou inundação, outros usuários próximos têm a opção</p><p>de confirmar ou desconsiderar a informação.</p><p>Quando uma confirmação ou desconsideração é feita, o aplicativo notifica o usuário que fez o</p><p>relatório original.</p><p>As notificações incluem o número de confirmações e desconsiderações para que o usuário</p><p>possa avaliar a confiabilidade do relatório.</p><p>Critérios de Aceitação:</p><p>Os usuários próximos confirmarão ou desconsiderarão relatórios de alagamentos/inundações.</p><p>Quando uma confirmação ou desconsideração é feita, o usuário que fez o relatório original é</p><p>notificado.</p><p>As notificações incluem o número de confirmações e desconsiderações para fornecer</p><p>informações adicionais sobre a confiabilidade do relatório.</p><p>Os usuários podem optar por receber notificações de confirmações e desconsiderações.</p><p>7 Integração de Dados Meteorológicos Estimativa: 13</p><p>Objetivo: Aprimorar a capacidade do aplicativo de fornecer informações precisas sobre áreas de</p><p>risco e condições climáticas adversárias ao integrar dados meteorológicos em tempo real.</p><p>Contexto:</p><p>O aplicativo integra dados meteorológicos em tempo real para monitorar chuvas e</p><p>tempestades.</p><p>Com base nas variações, o aplicativo identifica áreas de risco que são propensas a alagamentos</p><p>e inundações.</p><p>Os usuários recebem informações de áreas de risco com antecedência, permitindo-lhes planejar</p><p>rotas alternativas em dias de chuva.</p><p>Critérios de Aceitação:</p><p>O aplicativo integra dados meteorológicos em tempo real de fontes confiáveis.</p><p>Com base nas interferências, o aplicativo identifica áreas de risco para alagamentos/inundações.</p><p>Os usuários recebem notificações e informações sobre áreas de risco com antecedência,</p><p>permitindo-lhes planejar rotas alternativas.</p><p>A integração de dados meteorológicos é atualizada regularmente para garantir informações</p><p>precisas e atualizadas.</p><p>Atividade 3</p><p>Sprint Backlog</p><p>A Sprint Backlog é elaborada tomando como referência o Product Backlog.</p><p>Cada uma das histórias do usuário já está priorizada e estimada e vamos definir as</p><p>tarefas para cada uma delas, isto é, deve-se definir o que a Equipe precisa fazer para que</p><p>seja incorporada ao produto.</p><p>Todas as tarefas definidas deverão ser estimadas e se recomenda um tempo de no</p><p>máximo dezesseis horas, pois uma sprint é de período curto: muitas vezes, de duas a no</p><p>máximo quatro semanas.</p><p>Novamente para fins didáticos, não estão sendo apresentadas todas as tarefas para cada</p><p>história do usuário. Portanto, somente algumas tarefas foram inseridas e deverão ser</p><p>utilizadas como referência para que você possa completar sua atividade.</p><p>Descrição Tarefas Horas</p><p>1 O usuário irá interagir para indicar</p><p>os pontos de alagamentos e</p><p>inundações, usando um mapa para</p><p>facilitar a localização</p><p>Definir e desenvolver as Interfaces. 8</p><p>Avaliar frameworks de geolocalização 12</p><p>Incluir pontos de alagamentos por</p><p>geolocalização</p><p>12</p><p>Excluir os pontos de alagamentos</p><p>inseridos no mapa</p><p>6</p><p>……… Tarefas omitidas</p><p>Total</p><p>96</p><p>2 O usuário deverá receber</p><p>informações se há alagamentos ou</p><p>inundações em seu percurso</p><p>Ao inserir a rota, indicar se há</p><p>alagamentos ou inundações</p><p>12</p><p>Receber outras possíveis rotas 16</p><p>Avaliar interação do usuário para</p><p>aceitação da nova rota</p><p>4</p><p>……… Tarefas omitidas</p><p>Total 112</p><p>3 O usuário poderá confirmar ou</p><p>desconsiderar as inundações ou</p><p>alagamentos informados, para</p><p>reforçar ou não a informação</p><p>Selecionar ícone para confirmação de</p><p>alagamentos e inundações</p><p>4</p><p>Selecionar ícone para desconsiderar</p><p>alagamentos e inundações</p><p>4</p><p>Avaliar se houve uma quantidade pré-</p><p>definida de desconsideração para</p><p>atualizar a informação</p><p>8</p><p>……… Tarefas omitidas</p><p>Total 116</p><p>Avaliar a previsão do tempo 16</p><p>4 O usuário receberá, pelo histórico,</p><p>informação das áreas de riscos, para</p><p>que seja evitado o trajeto em dias de</p><p>chuva</p><p>Ao selecionar a rota, receber</p><p>informações conforme previsão</p><p>meteorológica sobre os riscos durante o</p><p>percurso</p><p>16</p><p>……… Tarefas omitidas</p><p>Total 106</p><p>5 O app deve ser oferecido para as</p><p>duas maiores plataformas</p><p>– IOS e Android, para ter alcance</p><p>maior de usuários</p><p>Converter e testar o aplicativo para a</p><p>plataformas IOS</p><p>8</p><p>Avaliar possíveis adequações 4</p><p>Implementar possíveis adequações 12</p><p>……… Tarefas omitidas</p><p>Total 70</p><p>6 Integração de Alertas Climáticos Total de Horas: 90</p><p>Tarefas:</p><p>Avaliar fontes confiáveis de alertas climáticos em tempo real. (16 horas)</p><p>Integrar alertas climáticos para condições ambientais adversas, como tempestades,</p><p>chuvas intensas e ventos fortes. (24 horas)</p><p>Configurar notificações push para usuários com base nos alertas climáticos. (20 horas)</p><p>Desenvolver interface de configuração de condições de alerta climático para os</p><p>usuários. (14 horas)</p><p>Teste a funcionalidade de alerta climático para garantir que as notificações sejam</p><p>precisas e oportunas. (16 horas)</p><p>7 Aprimoramento da Interface de Confirmação/Desconsideração Total de Horas: 70</p><p>Tarefas:</p><p>Redesenhar uma interface de notificação de alagamentos e inundações para torná-la</p><p>mais intuitiva e amigável. (18 horas)</p><p>Implementar um sistema de feedback visual para indicar o número de confirmações e</p><p>desconsiderações recebidas em um relatório. (16 horas)</p><p>Desenvolver um mecanismo de gamificação para incentivar os usuários a participarem</p><p>ativamente da confirmação/desconsideração. (20 horas)</p><p>Teste a nova interface com um grupo de usuários de teste e obtenha feedback.</p><p>(16 horas)</p><p>A Atividade 3 baseia-se na definição das tarefas para as histórias de usuário (6, 7)</p><p>que você propôs.</p><p>Atividade 4</p><p>Nesta atividade, você deverá definir quantas histórias deverão fazer parte da Sprint</p><p>backlog. Conforme já foi definido no Planinning Poker, sabemos que temos histórias</p><p>mais complexas de serem implementadas e outras mais fáceis de implementação.</p><p>Sabendo que a velocidade média da Equipe é 13 pontos por Sprint (considerando</p><p>as estimativas – Sequência de Fibonacci) e que consideraremos uma sprint de duas</p><p>semanas (10 dias), informe quantas sprints serão necessárias, com a inclusão das</p><p>histórias que você inseriu, para a implementação do Projeto.</p><p>Primeiramente, vamos calcular a estimativa total de pontos de história para todas as</p><p>histórias selecionadas:</p><p>História do Usuário 1: 5 pontos</p><p>História do Usuário 2: 8 pontos</p><p>História do Usuário 3: 13 pontos</p><p>História do Usuário 4: 5 pontos</p><p>História do Usuário 5: 13 pontos</p><p>História do Usuário 6: 8 pontos</p><p>História do Usuário 7: 13 pontos</p><p>A estimativa total é: 5 + 8 + 13 + 5 + 13 + 8 + 13 = 65 pontos de história.</p><p>Com uma velocidade média da equipe de 13 pontos e considerando um sprint de 2</p><p>semanas (10 dias), podemos determinar quantos sprints serão necessários para</p><p>implementar o projeto:</p><p>65 pontos de história / 13 pontos por sprint = 5 sprints.</p><p>Portanto, serão necessários 5 sprints para implementar todas as histórias de usuários</p><p>Projeto Integrador em Ciência da Computação</p><p>Desenvolvimento de software com método ágil</p><p>Atividade 1</p><p>Atividade 2</p><p>Atividade 3</p><p>Atividade 4</p>