"Fatores de tamanho" na engenharia de software podem se referir a algumas coisas diferentes, então vamos dividir as interpretações mais comuns:
1. Tamanho do sistema de software: Isso se refere à complexidade e escopo geral do projeto de software. Veja como o tamanho pode ser medido:
*
linhas de código (loc): Uma medida simples, mas muitas vezes imprecisa. Diferentes linguagens de programação têm verbosidade variável e LOC não representa a complexidade dentro das linhas.
*
Pontos de função: Uma métrica mais sofisticada que considera fatores como elementos de dados, interfaces externas e complexidade da transação.
*
Pontos de história: Uma unidade de medida usada no desenvolvimento ágil que estima o esforço necessário para uma história do usuário, levando em consideração a complexidade, a incerteza e as dependências.
*
EFORTIVO DE EQUIPE: A quantidade de tempo e recursos (desenvolvedores, designers, testadores) necessários para concluir o projeto.
2. Tamanho dos componentes e módulos: Os sistemas de software são divididos em unidades menores e gerenciáveis chamadas componentes ou módulos. O tamanho dessas unidades pode influenciar o desenvolvimento e a manutenção:
*
Coesão: Quão bem relacionados estão os elementos dentro de um módulo. Os módulos altamente coesos tendem a ser menores e mais fáceis de entender.
*
acoplamento: Como são os diferentes módulos interdependentes. Os módulos vagamente acoplados são preferidos, pois são mais fáceis de modificar sem impactar outras partes do sistema.
*
Complexidade: Uma métrica que quantifica o quão difícil é um componente para entender, manter e modificar. Isso geralmente se refere ao número de dependências e interações dentro do módulo.
3. Escala de implantação: O tamanho da base de usuários pretendidos e o volume de dados processados podem afetar significativamente as opções de design:
*
escalabilidade: A capacidade de um sistema de lidar com cargas de trabalho crescentes e tráfego de usuário.
*
desempenho: Com que rapidez e eficiência o sistema responde às solicitações do usuário, especialmente sob cargas pesadas.
*
Disponibilidade: Garantir que o sistema seja acessível de maneira confiável aos usuários.
Impacto de fatores de tamanho: Compreender os fatores de tamanho de um projeto de software é crucial para:
*
Alocação de recursos: Estimando com precisão o tempo, o pessoal e o orçamento necessário.
*
Planejamento do projeto: Dividindo o projeto em fases e tarefas gerenciáveis.
*
Decisões de design: Escolhendo arquiteturas, estruturas e tecnologias apropriadas.
*
Gerenciamento de risco: Identificar possíveis problemas e desafios relacionados à escala do projeto.
Notas importantes: *
O contexto é importante: A melhor maneira de medir o tamanho depende do projeto específico e de seus objetivos. Não existe uma abordagem única.
*
Estimativa antecipada: A estimativa do tamanho com precisão no início é difícil e geralmente é refinada à medida que o projeto progride.
*
Concentre -se no valor: Embora o tamanho seja importante, lembre -se de que, em última análise, é o valor entregue aos usuários que realmente importa.