Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Este artigo apresenta os seguintes assuntos: métricas de estimativas de software orientado a objetos; como medir pontos de casos de uso em modelos OO; análise das vantagens e desvantagens das métricas estudadas; aplicação de Pontos de Casos de Uso em estudos de casos reais, demonstrando seus passos e analisando os resultados obtidos como indicativos para sua indicação.
Para que serve
Avaliar a aplicação de métricas de estimativas para projetos de software orientado a objetos; utilizar a métrica de Pontos por Casos de Uso em projetos OO, e; auxiliar os gerentes de projeto em TI na adoção de métricas em estimativas de custo e tempo em projetos de desenvolvimento de software.
Em que situação o tema é útil
Na análise e projeto preliminares de desenvolvimento de software, no apoio à melhoria da qualidade dos processos de software e do planejamento de questões administrativas em projetos de TI e no uso de métricas mais atuais em projetos de software com paradigmas mais novos em termos de mercado.
Segundo Ministério de Ciência e Tecnologia, o setor de produção de software no Brasil tem crescido vertiginosamente nas últimas décadas. O Brasil tem o sétimo maior mercado mundial de software com vendas de US$ 15,3 bilhões em 2009. É o segmento que mais cresce dentro da indústria brasileira de Tecnologia da Informação (hardware, serviços e software) e esse quadro mercadológico se repete em termos internacionais, onde as empresas estão em busca constante da melhoria de qualidade no desenvolvimento de produtos de software e prestação de serviços.
Dentro deste contexto, saber o tamanho, a complexidade, custos efetivos, tempo e esforço despendidos na construção de seus produtos pode representar para as empresas de TI um diferencial competitivo muito grande, tanto para aumentar o nível de qualidade do seu processo de desenvolvimento (sempre se certificando de que o cliente irá receber o produto no prazo correto), quanto na melhora em questões administrativas como contratação de recursos humanos, medidas de produtividade, decisões de projetos, análise de risco, relacionamento cliente fornecedor, entre outros.
Dentre as métricas (ler Nota 1) necessárias para esse controle gerencial, a de tamanho de um produto de software é, talvez, uma das mais importantes, pois é por meio dela que se faz possível estimar o cronograma, custos, esforço e tempo de desenvolvimento do software, informações estas imprescindíveis para a construção do plano de desenvolvimento de software. Contudo, é necessário que a medida de tamanho de software seja feita logo nas fases iniciais do processo de desenvolvimento, e que seja atualizada no decorrer do projeto, com todas as informações sobre o software que estiverem disponíveis.
Existem dois tipos de métricas no contexto de desenvolvimento de produtos de software: as métricas diretas, que são realizadas em termos de atributos observáveis, como por exemplo, esforço, tamanho e custo, e as métricas indiretas ou derivadas, que podem ser obtidas através de outras métricas, como por exemplo, complexidade, confiabilidade, e facilidade de manutenção. Quanto ao contexto, podem ser aplicadas em produtos ou em processos. Quando as métricas incidem diretamente no produto de software, são chamadas de métricas de predição, quando em processos de software, são comumente chamadas de métricas de controle e sua aplicação normalmente é realizada em processos já maduros e controlados.
Para obter resultados significativos, as métricas devem ser aplicadas em um ciclo constante, que envolve as etapas de planejamento, medição, análise de resultados, tomada de decisão e implementação das decisões. Desta maneira, pode-se construir uma base histórica do artefato medido que permitirá ao engenheiro de software analisar que processos, ferramentas e métodos melhor se aplicam àquele tipo de produto. Alguns cuidados também devem ser tomados no processo de medição, como o momento e a escolha do conjunto de métricas mais relevantes a serem aplicadas, e a comparação entre produtos através da aplicação de métricas (pois nenhum produto é igual a outro). O escopo, os desenvolvedores e o ambiente são fatores que podem influenciar o processo de desenvolvimento. Assim, comparações devem ser cuidadosamente analisadas.
Sendo assim, várias métricas vêm sendo estudadas ao longo dos anos com o intuito de se desenvolver novas tecnologias que garantam medidas de tamanho de software mais precisas, para um melhor gerenciamento do processo de desenvolvimento do software, entre elas pode-se citar: Linhas de Código Fonte (LOC), Pontos por Função, Bang, Feature Points, Pontos de Caso de Uso, Internet Points, Domino Points, entre outros.
Os Pontos de Função (PF), originalmente concebidos por Albrecht, ganharam crescente popularidade a partir da criação do International Function Point Users Group em 1986. Em 2002 os PF passaram à condição de padrão internacional, através da norma ISO/IEC 20926.
Muitas organizações internacionais investiram no levantamento e armazenamento de grande quantidade de dados sobre projetos, envolvendo Pontos de Função. Nenhuma outra medida funcional alcançou tal nível de disseminação e/ou investimento.
...