Avaliação de Desempenho de Corredores de Rua Departamento de Ciência da Computação Fundamentos da Engenharia de Software Grupo: Alice Andressa André Leandro Lucas Thiago Raphael Projeto Foi utilizado o processo de desenvolvimento de software, chamado OpenUp, de onde foi baseado toda a documentação do sistema. O projeto envolve a elaboração de documentos e o desenvolvimento de um software de análise de desempenho de corredores de rua amador, baseado na documentação produzida. A idéia do sistema é possibilitar aos corredores de rua amador, cadastrar informações sobre seus desempenhos nas corridas e visualizar estas informações em forma de gráficos e quadros comparativos com seus desempenhos anteriores e o desempenho de outros corredores. Agosto/Setembro Gestão de Projetos Projeto adCorredores Outubro/Novembro Descrever Requisitos Levantar Requisitos Definir escopo Elaborar Cronogra ma Gerir Riscos Planejar Iteração Construçã o Desenvolv erRequisit os Teste Encerramen to Codificaçã o Pesquisas Descrever Casos de uso Desenvolv er casos de teste Desenvolv er protótipos Consolidar lições aprendidas Entrevistas Descrever Diagramas complementar es Desenvolv er testes unitário Desenvolv er codificação Fazer apresentaçã o Planejar Arquitetur a Gerente de Projeto Analista Lucas Daflon Andressa de Jesus Analiste de Teste Alice Tomaz Arquiteto Raphael Franckini Desenvolvedor Leandro de Souza Thiago Masello André Carvalho 28/08/2011-15/09/2011 16/09/2011-15/10/2011 Fase M0 Concepção Fase M1 Elaboração e Construção 16/10/2011-15/11/2011 Fase M2 Elaboração, Construção Transição OBS: A Fase M3, havia sido planejada, considerando mais uma fase de construção e transição, no entanto, o grupo decidiu por reduzir o escopo e agrupar algumas das atividades na Fase M3. Decisões – Ferramentas Cases Gerência de projeto: Clocking IT Modelagem: Magic Draw Teste e inspeção: Junit e Firebug Desenvolvimento: Eclipse + Jboss + MySQL Artefatos OpenUp: Word e Excel 28/08/2011-15/09/2011 Marcos importantes Milestone Date Início da Iteração 28/08/2011 Construção documento de visão 05/09/2011 Levantamento de requisitos 07/09/2011 Construção do documento de Plano de Projeto 10/09/2011 Construção do Glossário 15/09/2011 Fim da Iteração 15/09/2011 28/08/2011-15/09/2011 Burndown – M0 Gráfico de Iteração Burndown 35 Esforço estimado (horas) 30 25 20 Series 1 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 28/08/2011-15/09/2011 Problemas encontrados e soluções aplicados: Alinhamento de funções. Necessário, mais uma reunião além do planejado Incompreensão inicial de como utilizar o OpenUp. Foi necessário mais tempo para compreender a estrutura do OpenUp Problemas em planejar tempo de tarefas, metodologia utilizada, descrição de todas as tarefas a ser realizadas. Foi utilizado tempo em horas que é mais fácil de entender 28/08/2011-15/09/2011 Artefatos Plano de Projeto Lista de Riscos Cronograma e EAP Documento de requisitos Work itens Glossário Plano de Iteração Visão Burndown 28/08/2011-15/09/2011 Idéia central do projeto. Stakeholders, ferramentas case, responsabilidade dos integrandes, marcos principais, lições aprendidas. Plano de Projeto Listagem das principais atividades do projeto em ordem cronológica, medidas em horas. Cronograma e EAP 28/08/2011-15/09/2011 Acompanhamento das atividades dos membros da equipe. Descrição da atividade, horas de duração e responsabilidade Work itens Principais termos utilizados pelos stakeholders do projeto Glossário 28/08/2011-15/09/2011 Riscos identificados e medidas de mitigação para cada risco identificado Lista de Riscos Documento de requisitos Requisitos de como o sistema deveria funcionar, baseado em entrevistas com pessoas ligadas a atividade, pesquisas na internet e desejos dos componentes do grupo 28/08/2011-15/09/2011 Idéia central do produto, listagem dos requisitos, pessoas interessadas, posicionamento do produto frente ao mercado pretendido Visão Atividades previstas para a fase que irá iniciar, assim como plano de ação e critérios para validação da fase Plano de Iteração Forma de visualização do andamento do projeto por fase que permite uma análise quanto ao esforço, realizado previsto e o desejável Burndown 16/09/2011 – 15/10/2011 Marcos importantes Milestone Date Início da Iteração 16/09/2011 Construção diagrama de caso de uso 20/09/2011 Construção documentos de caso de uso 25/09/2011 Construir casos de testes 30/09/2011 Iniciar construção do documento de arquitetura 05/10/2011 Fim da Iteração 15/10/2011 16/09/2011 – 15/10/2011 Burndown – M1 Gráfico de Iteração Burndown 80.0 Esforço estimado (horas) 70.0 60.0 50.0 Series1 40.0 30.0 20.0 10.0 0.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16/09/2011 – 15/10/2011 Problemas encontrados: Não ter um cliente central para colher requisitos, tomou muito tempo de discussão sobre como deveria ser os casos de uso. Algum retrabalho na elaboração dos casos de uso, por este motivo alguns casos de uso foram cortados e simplificados para viabilizar a codificação do software Dificuldade na construção do documento de arquitetura. Documento foi construído na Fase M2 e por mais integrantes que o planejado. 16/09/2011 – 15/10/2011 Artefatos Documento de caso de uso Diagrama de casos de uso Plano de Iteração Burndown Diagrama de Sequência Diagrama de Classes 16/09/2011 – 15/10/2011 Descrição dos cenários esperados no funcionamento do sistema Documento de caso de uso Relacionamento entre os casos de uso e utilizado para descoberta de casos de uso Diagrama de casos de uso 16/09/2011 – 15/10/2011 Visão dos relacionamento entre os componentes do sistema Diagrama de Classes Diagrama de Sequência Iteração entre os componentes do sistema, utilizado para entender o comportamento esperado do sistema assim como descobrir quais componentes existe no sistema e seus campos e funções 16/09/2011 – 15/10/2011 Atividades previstas para a fase que irá iniciar, assim como plano de ação e critérios para validação da fase Plano de Iteração Forma de visualização do andamento do projeto por fase que permite uma análise quanto ao esforço, realizado previsto e o desejável Burndown 30/11/2011 – 24/11/2011 Marcos importantes Milestone Data Início da Iteração 30/10/11 Terminar o documento de Arquitetura 03/11/11 Refinar documentos de gerência 06/11/11 Preparar Infraestrutura para desenvolvimento 08/11/11 Desenvolver CRUD corrida 12/11/11 Desenvolver CRUD corredor 16/11/11 Desenvolver Login 20/11/11 Construção de teste unitários 22/11/11 Gerar relatório de análise estática 23/11/11 Preparar apresentação 23/11/11 Fim da Iteração 24/11/11 30/11/2011 – 24/11/2011 Burndown – M2 Gráfico de Iteração Burndown 60.0 Esforço estimado (horas) 50.0 40.0 Series1 30.0 20.0 10.0 0.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 30/11/2011 – 24/11/2011 Problemas encontrados: Dificuldade na construção do documento de arquitetura. Documento foi o que apresentou maior complexidade e tempo para construção Diferença de tempo entre as fases, por causa do envolvimento dos membros do grupo com outras atividades Dificuldade de acompanhamento das atividades e tempo de execução das atividade Dificuldade de tempo para reuniões de alinhamento de projeto com a equipe 30/11/2011 – 24/11/2011 Artefatos Casos de teste Documento de arquitetura Teste unitário Relatório de Inspeção Codificação Apresentação Plano de Iteração Burndown 30/11/2011 – 24/11/2011 Levantamento de cenários de teste Casos de teste Descrição geral do modelo de desenvolvimento dos componentes do sistema, tecnologias utilizadas e padrões adotados Documento de arquitetura 30/11/2011 – 24/11/2011 Codificação de testes unitários, utilizando Junit, de funções específicas do sistema Teste unitário Relatório gerado pelo FindBugs que sugere melhorias no código so sistema Relatório de Inspeção 30/11/2011 – 24/11/2011 Codificação os módulos especificados nos documentos de caso de uso Codificação Visão geral dos resultados produzido pelo trabalho Apresentação 30/11/2011 – 24/11/2011 Atividades previstas para a fase que irá iniciar, assim como plano de ação e critérios para validação da fase Plano de Iteração Forma de visualização do andamento do projeto por fase que permite uma análise quanto ao esforço, realizado previsto e o desejável Burndown Utilizar alguma ferramenta de gerenciamento que agilize a inclusão das atividades e distribuições das responsabilidades Estudar mais sobre padrões de projeto e tipos de arquitetura de sistema Nomear um cliente para recolher requisitos Aprender formas de medir duração das atividades Controlar riscos do projeto