Desenvolvimento

Ξ Deixe um comentário

Estimativas para o desenvolvimento de software

publicado por Ruggero Ruggieri

Estimativas para o desenvolvimento de softwareAtualmente no mercado existem vários tipos de métricas para análise de dimensão de tamanho de software. Estas técnicas surgiram com o objetivo de estimar o esforço para dimensionar a quantidade de pessoas-hora e ao mesmo tempo estimar os prazos associados ao desenvolvimento do software.A maioria das técnicas possuem uma padronização para a sua apuração de contagem e na sua elaboração de estimativa de tempo e custo do projeto.Todas as técnicas de contagem exigem também uma nota de recomendação para que se tenha sempre em mãos um conhecimento sobre técnicas de estimativas , base histórica e conhecimento sobre o projeto a ser estimado, procedimento essencial para contagem tempo e custo.

Para podermos estimar o custo do software e estimar o prazo deste desenvolvimento, inclusive estimar a quantidade de horas-homens para o projeto precisamos dimensionar o esforço necessário para o desenvolvimento, e com isso determinar o esforço tamanho do projeto de software.

Desta forma , determinar o tamanho de um projeto de software é uma das primeiras e principais atividades relacionadas às estimativas a serem efetuadas durante o ciclo de vida do projeto.

De acordo com Tom Demarco (DEMARCO,1991) as duas principais maneiras de estimar o tamanho de um projeto de software são :

1-) Por Analogia – As estimativas de tamanho do projeto atual são baseadas em estimativas já desenvolvidas em projetos similares ou as chamadas bases históricas de outros projetos ou;
2- ) desenvolvendo as técnica de medições das características do produto e usando uma metodologia e algoritmo para converter a medição em uma estimativa de tamanho.

Existem várias técnicas de estimativas de tamanho de software:

COCOMO ( Constructive Cost Model) [COCOMOII] – Modelo desenvolvido para estimar o esforço de desenvolvimento, prazos e tamanho da equipe para projetos de software. Utiliza equações desenvolvidas por Boehm (BARRY,1981) para prever o número de programadores-mês e o tempo de desenvolvimento; podem ser calculados usando medidas de linhas de código ou Pontos de Função. Devem ser realizados ajustes nas equações a fim de representar as influências sobre os atributos , hardware e software durante o ciclo de vida do projeto. Uma desvantagem desta técnica é que os coeficientes da métrica (a,b,c,d) não são aplicáveis a tamanho ou seja a produtividade é diferente, o que torna difícil realizar comparações.

Linhas de Código – (LOC) – A técnica de mensuração por linhas de código é uma das mais antigas medidas de tamanho de projeto de desenvolvimento de software. Ela consiste na contagem da quantidade de número de linhas de código de um programa de software. Além de ser muito simples é também muito fácil automatizar sua implementação , mas, apresenta algumas desvantagens dentre as quais citamos: a dependência da linguagem de software e do desenvolvedor (PRESSMAN,1995); ausência de padrão de contagem e o fato de somente poder ser aplicada na fase de codificação.

Metricas de Hasltead – É um conjunto de métricas proposto por Maurice Halstead
(HASLTEAD,1977). O princípio desse método está na análise e quantificação de operando e operadores e no conceito de que a partir do conhecimento das medidas, consegue-se quantificar os vocábulos e a extensão do algoritmo do estudo.

Puttnam´s Slim Model (PUTMAN,1978) – É um modelo de estimativa que busca medir
esforço e prazo através da dinâmica de múltiplas variáveis que pressupõe distribuição de
esforços específicos ao longo da existência de um projeto de software. Relaciona o número de linhas de código ao tempo e esforço de desenvolvimento. Uma desvantagem da técnica é sua vinculação a linguagem usada e a exigência de certo tempo para obter-se valores reais para os parâmetros da fórmula.

Delphi – É uma técnica que se resume à consulta de especialistas de determinada área, em determinada linguagem e/ou determinado assunto para que, usando sua experiência e entendimento do projeto proposto, façam estimativas devidas. Devem ser feitas várias
estimativas do mesmo projeto, pois é comum que elas carreguem influências e tendências dos especialistas. É um método empírico, baseado em experiências profissionais que podem ser subjetivas.(Boehm,1981)

PSP – Personal Software Process – (HUMPHREY,1995) – É uma técnica derivada do SEI-CMM (Software Engineering Institute – Capability Matutiry Model) que foi
desenvolvida com a função de capacitar , melhorar e otimizar o processo individual de trabalho. A técnica divide-se em sete etapas, sendo que nas etapas PSP0, PSP0.1 e PSP1
estima-se o tamanho e o tempo necessário para o desenvolvimento do produto.

PCU – Pontos por Caso de Uso – Foram criados por Gustav Karner em 1993 como uma adaptação específica dos Pontos de Função para medir o tamanho de projetos de software orientados a objeto. Explora o modelo e descrição do caso de uso, substituindo algumas características técnicas proposta pelos Pontos de Função. É um método simples e de fácil utilização mas ainda esta em fase de pesquisas e não existem regras de contagem padronizadas. Têm se estudado a aplicação em conjunto da PCU e APF tentando explorar a relação entre elas existente.(EDMÉIA,2004)

Análise por Pontos de Função (ALBRECHT,1983) – Busca medir a complexidade do produto pela quantificação de funcionalidade expressa pela visão que o usuário tem do
mesmo. O modelo mede o que é o sistema , o seu tamanho funcional e não como este será, além de medir a relação do sistema com usuários e outro sistemas. È independente da tecnologia usada e mede uma aplicação pelas funções desempenhadas para/e por solicitação do usuário final.; podendo também ser usada em estimativas.

Contagem de Pontos de Função segundo o NESMA – Netherlands Function Point Users Group – (NESMA,2005). Além do IFPUG , o NESMA também promove o uso de pontos de função e publica o seu próprio manual de contagem complacente com o manual do IFPUG. O manual da NESMA apresenta três tipos de contagens por pontos de função: a contagem indicativa de ponto de função, a contagem estimada de ponto de função e a contagem detalhada de pontos de função. A contagem indicativa é muito usada , nela são identificados os grupamentos de dados relativos à natureza do negócio, conforme a visão do usuário. Estes grupamentos são classificados como Internos (mantidos pela aplicação e Externos (referenciados ou consultados pela aplicação). Para calcular o tamanho de uma aplicação em Pontos de Função não Ajustados (PFNA) a NESMA recomenda a seguinte fórmula:
PFNA = ( 35 * I) + ( 15 * E ).

Conclusão

Segundo o autor MACORATTI, 2011, a estimativa de tamanho de um projeto de software é uma atividade crítica pois tem um impacto tanto na solução técnica apresentada como no gerenciamento do projeto de software devendo ser efetuada não somente no início do projeto mas durante o ciclo de vida do projeto. As técnicas apresentadas acima são apenas algumas dentre as muitas existentes, sendo que cada uma abrange uma determinada área; não existe uma métrica que completa o estudo por si só, desta forma, recomenda-se que seja utilizada a técnica mais adequada para medir projeto de software ou a utilização de mais de uma técnica em conjunto. Dentre as técnicas descritas, a mais popular atualmente é a técnica de Análise por Pontos de Função. Esta técnica é respaldada pelo IFPUG (International Function Point Users Group), que é responsável, entre outros, pela elaboração e divulgação de um manual de práticas de contagem (CPM – Counting Practices Manual), além de manter um programa de certificação de profissionais especializados em aplicar a técnica APF. A Análise de Pontos de Função (APF) é uma das métricas de estimativa de tamanho mais sedimentadas no mercado e que proporciona resultados cada vez mais precisos à medida que artefatos da fase de análise e projeto são gerados (CALDIEIRA et al., 1998).

Referências Bibliográficas

COCOMO – Constructive Cost Model. Disponível em: http://sunset.usc.edu/research/COCOMOII/ – Acessado em: Ago. 2013.

DEMARCO, TOM. Controle de Projetos de Software. 9.ed. Rio de Janeiro: Editora Campus, 1991.

VAZQUEZ, Carlos Eduardo, SIMÕES, Guilherme Siqueira, ALBERT, Renato Machado – ANÁLISE DE PONTOS DE FUNÇÃO, Medição, Estimativas e Gerenciamento de Projetos de Software, 13.ed. São Paulo: Editora Érica, 2013.

MACORATTI, José Carlos – Estimativas de tamanho de software e APF. Disponível em: : http:// www.macoratti.net/net_est1.htm – Acessado em: Maio, 2011

[Crédito da Imagem: Desenvolvimento de Software – ShutterStock]

Autor

Gerente de Projetos SR., atua há mais de 20 anos na área de TI no seguimento do Governo do Estado de São Paulo. Desenvolveu atividades de desenvolvimento de Software para empresas brasileiras e multinacionais, tendo participando no Brasil e no exterior em projetos de TI de diversos segmentos como Educacional, Financeiro, Saúde, Tributário e Terceiro Setor. Professor de Pós-Graduação na UNINOVE nos cursos de Qualidade, Gerencia de Configuração, Requisitos, Gerenciamento de Projetos e Processo de Desenvolvimento Ágil Formado na PUC de Campinas, Pós-Graduação em Administração Hospitalar (Univ.São Camilo), Gerenciamento de Projetos (UNICAMP), Projetos Estruturados (USP), Ciência, Tecnologia e Inovação (USP). MBA em Gestão de TI na FIAP e Programa de Desenvolvimento Gerencial com foco em liderança estratégica - FIA, atualmente aluno de MESTRADO da UNINOVE na área de Gestão do Conhecimento. Formado em COACH para SBC - Sociedade Brasileira de Coaching e Master COACH pelo escola RICCOACHING.

Ruggero Ruggieri

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes