Prévia do material em texto
<p>Estimativas e Métricas de Software Avaliação Final</p><p>(Discursiva)</p><p>1</p><p>Segundo Pressman (2006), medir o progresso das equipes de desenvolvimento de</p><p>software pode ser uma etapa crucial para melhorar a eficiência e a</p><p>produtividade. Métricas de software podem ser usadas para rastrear uma variedade de</p><p>características de desenvolvimento de software. Entender as métricas de software e</p><p>como rastreá-las ajudará você a gerenciar melhor o processo de programação. Segundo</p><p>Pandian (2004), uma métrica de software é uma medida mensurável ou contável das</p><p>características do software. As métricas de engenharia de software podem ser usadas</p><p>para várias coisas, como avaliar o desempenho do software, planejar itens de trabalho,</p><p>estimar a produtividade e assim por diante.</p><p>Fonte: adaptado de: PRESSMAN, R. S. Engenharia de Software. São Paulo: McGraw-</p><p>Hill, 2006.</p><p>Baseado na questão da medição do progresso das equipes de desenvolvimento de</p><p>software e nos conceitos de métrica de software, simule a construção de um sistema e</p><p>destaque esses tópicos de métrica que você terá que cumprir para fazer a sua validação.</p><p>Resposta esperada</p><p>Espera-se que o estudante elabore a criação de um software fictício e, baseado nesse</p><p>software, traga todos os conceitos de métrica de software para poder fazer a</p><p>implementação dessas métricas, tanto com a equipe de desenvolvimento quanto com o</p><p>próprio software.</p><p>Para simular a construção de um sistema de software e destacar os tópicos relacionados à</p><p>métrica de software, é importante considerar várias métricas ao longo do ciclo de vida do</p><p>desenvolvimento do software. Aqui estão alguns tópicos de métricas que seriam</p><p>relevantes para essa validação:</p><p>Produtividade da equipe: Medir a eficiência da equipe ao longo do tempo, quantificando</p><p>a quantidade de trabalho realizado em relação ao tempo e aos recursos empregados.</p><p>Qualidade do código: Utilizar métricas como complexidade ciclomática, índice de</p><p>coesão, índice de acoplamento e número de defeitos por linha de código para avaliar a</p><p>qualidade do código produzido pela equipe.</p><p>Cobertura de testes: Avaliar a eficácia dos testes implementados pela equipe, medindo a</p><p>porcentagem do código que é exercida pelos testes automatizados.</p><p>Tempo de resposta do sistema: Medir o tempo que o sistema leva para responder a</p><p>solicitações do usuário, garantindo que as melhorias no desempenho sejam alcançadas ao</p><p>longo do tempo.</p><p>Taxa de entrega: Monitorar a frequência com que novas versões do software são entregues</p><p>aos usuários, buscando aumentar a frequência de entrega sem comprometer a qualidade.</p><p>Satisfação do cliente: Coletar feedback dos usuários para avaliar sua satisfação com o</p><p>software entregue, utilizando pesquisas de satisfação e análise de avaliações e</p><p>comentários.</p><p>Uso de recursos: Monitorar o consumo de recursos, como memória e capacidade de</p><p>processamento, para garantir que o software seja eficiente em termos de recursos.</p><p>Ciclo de vida do defeito: Acompanhar o ciclo de vida dos defeitos, desde sua descoberta</p><p>até sua correção, para identificar áreas de melhoria no processo de desenvolvimento e</p><p>garantir a entrega de software de alta qualidade.</p><p>Padrões de codificação: Verificar se os desenvolvedores estão aderindo aos padrões de</p><p>codificação estabelecidos, utilizando ferramentas de análise estática de código para</p><p>identificar violações de padrões.</p><p>Estabilidade do sistema: Medir a frequência e a gravidade das falhas no sistema em</p><p>produção, buscando reduzir a ocorrência de incidentes e aumentar a estabilidade do</p><p>software.</p><p>PIMENTA, D.; GUERREIRO, L. R.; QUINCOZES, V. E. Estimativas e Métricas de</p><p>Software. Florianópolis: Arqué, 2023.</p><p>Conceito da Estimativa e do Planejamento de Software.</p><p>2</p><p>A revisão de código é uma etapa fundamental no processo de desenvolvimento de</p><p>software, que consiste em examinar o código-fonte para identificar bugs e erros em</p><p>estágios iniciais do projeto. O principal objetivo é melhorar a qualidade do código,</p><p>prevenindo a entrada de problemas no projeto.</p><p>Fonte: adaptado de: DAITYARI, S. 12 Melhores Ferramentas de Revisão de Código</p><p>para Desenvolvedores (Edição 2023). Kinsta, jun. 2023. Disponível em:</p><p>https://kinsta.com/pt/blog/ferramentas-de-revisao-de-codigo/. Acesso em: 25 jan. 2024.</p><p>Exemplifique os principais benefícios do uso de ferramentas de análise estática de</p><p>código e métricas de software no processo de desenvolvimento de software.</p><p>Resposta esperada</p><p>Os principais benefícios do uso de ferramentas de análise estática de código e métricas</p><p>de software são:</p><p>- Identificação Precoce de Vulnerabilidades e Defeitos: permite detectar possíveis</p><p>vulnerabilidades de segurança e defeitos de programação antes da implantação do</p><p>software.</p><p>- Melhoria da Qualidade do Código: destaca erros e inconsistências no código-fonte,</p><p>auxiliando os desenvolvedores a aprimorar a qualidade do código de acordo com as</p><p>melhores práticas e padrões de codificação.</p><p>- Aumento da Segurança do Software: identifica padrões de vulnerabilidades</p><p>conhecidas, possibilitando uma atuação proativa na correção de problemas de</p><p>segurança.</p><p>- Otimização do Desempenho: permite identificar áreas de melhoria que podem otimizar</p><p>o desempenho do software.</p><p>- Padronização do Desenvolvimento: garante a conformidade com diretrizes e padrões</p><p>internos de desenvolvimento, promovendo a consistência e coesão do código.</p><p>PIMENTA, D.; GUERREIRO, L. R.; QUINCOZES, V. E. Estimativas e Métricas de</p><p>Software. Florianópolis: Arqué, 2023.</p><p>Ferramentas de Métricas 2.</p>