• Nenhum resultado encontrado

4. DEFINIÇÃO DA MÉTRICA DE PROGRESSO FUNCIONAL

4.4 I NDICADORES PARA D EFINIÇÃO DOS P ESOS

O cálculo da métrica global, que indica o progresso do sistema, envolve a definição de um conjunto de pesos, relacionados ao desenvolvimento do caso de uso, às etapas Inspector – Um Processo de Avaliação de Progresso para Projetos de Software 80

necessárias para o seu desenvolvimento, e aos artefatos que devem ser desenvolvidos em cada etapa. A identificação desses pesos não consiste em um trabalho simples. É necessário definir critérios para sua definição, ou basear-se em experiências com projetos anteriores, que apresentem características similares. Essa segunda opção, muitas vezes, não é possível ser utilizada, pois a organização talvez não possua experiências anteriores com projetos de porte semelhante, que tenham usado tecnologia similar, pessoal de mesmo nível técnico, entre outros fatores. Desse modo, achou-se interessante definir, resumidamente, alguns indicadores simples, que servirão como fonte de consulta para definição dos pesos associados ao projeto. Esses indicadores não necessitam ser obrigatoriamente utilizados, podendo novos indicadores serem definidos, como forma de se encontrar os diversos pesos associados à µsistema.

4.4.1 Pesos dos Casos de Uso

Na métrica µsistema, temos que, para cada caso de uso, existe um peso associado ( ), que é influenciado pela complexidade da realização do caso de uso, ou seja, o quanto de esforço vai ser exigido na construção do caso de uso. Alguns fatores que influenciam na definição da prioridade do caso de uso no sistema, são:

casodeuso

p

• Qual a prioridade do caso de uso para o cliente? Casos de uso com maior prioridade para o cliente, possivelmente também terão maior prioridade durante o desenvolvimento.

• Quais os riscos envolvidos com a implementação do caso de uso? Casos de uso que apresentam grande quantidade de riscos envolvidos (especialmente, riscos técnicos, ou seja, riscos relacionados com a tecnologia utilizada), possivelmente irão possuir maior prioridade durante o desenvolvimento.

• Pode-se fazer uma estimativa de esforço e tempo sobre o caso de uso, como por exemplo, análise por pontos de função [10]. De acordo com o resultado, o peso associado à métrica é atribuído.

Inspector – Um Processo de Avaliação de Progresso para Projetos de Software 81

4.4.2 Pesos das Etapas dos Casos de Uso

Nesse caso, os pesos associados, se referem às dificuldades inerentes e ao esforço necessário para o desenvolvimento de cada etapa do caso de uso. As etapas padrões, apresentadas para realização de um caso de uso, são: especificação inicial, análise e projeto, implementação e teste. Alguns indicadores para a definição dos pesos associados a cada etapa são:

• Identificar o esforço médio (tempo de desenvolvimento em relação ao número de pessoas envolvidas) associado à realização de cada etapa de desenvolvimento (análise, projeto, implementação, entre outras) de um caso de uso. Esse esforço médio pode ser identificado a partir de valores obtidos em projetos anteriores realizados na organização. Etapas que exigem maior esforço devem possuir um maior peso associado.

• Utilizar valores padrões, disponíveis em artigos e trabalhos na área, onde foram realizadas diversas experiências, visando buscar a distribuição do esforço e do tempo para o desenvolvimento de um sistema. Por exemplo, Capers Jones em [31], apresenta uma distribuição do esforço na etapa de implementação, de acordo com a linguagem de programação utilizada. Outro exemplo, é a distribuição típica do esforço associado a cada fluxo de desenvolvimento, durante a realização das diversas iterações, no RUP [7]. Esse indicador deve ser utilizado com cuidado, pois os valores padrões dos trabalhos podem estar relacionados com um tipo de aplicação ou a uma organização específica. É necessário, desse modo, observar se o projeto no qual a métrica vai ser aplicada é adequado para aplicar tais valores.

• O nível de conhecimento e experiência de uma determinada equipe, com a tecnologia necessária para se realizar uma determinada etapa, também é um fator importante. Por exemplo, o projeto de um caso de uso exigirá um alto nível de esforço para uma equipe com pouco conhecimento em UML (Unified Modeling Language). Nesse caso, o progresso em se fazer o projeto do caso de uso irá ser maior do que realizar uma especificação inicial do mesmo.

Inspector – Um Processo de Avaliação de Progresso para Projetos de Software 82

• Identificar, no momento da coleta, quais etapas do caso de uso têm apresentado (ou apresentaram) as maiores dificuldades para seu desenvolvimento, e prever as maiores dificuldades que ele ainda vai enfrentar, através de uma análise de sua especificação inicial.

4.4.3 Pesos dos Artefatos Relacionados

Para realizar cada etapa do caso de uso, temos que vários artefatos devem ser atualizados e/ou produzidos. Cada artefato desse possui um esforço associado ao seu desenvolvimento e, às vezes, a documentação de um artefato mais complexo representa um progresso maior do que a documentação de um artefato simples e rápido. Desse modo, é interessante definir o peso do artefato, a partir da complexidade de se desenvolver o mesmo. Alguns indicadores para se observar a complexidade do artefato são:

• Identificar o tempo médio gasto para produção e/ou atualização desse artefato em projetos anteriores. De acordo com esse tempo, é possível identificar o esforço gasto para sua produção. A documentação de um artefato que precisa de mais tempo para ser produzido do que um outro artefato, possivelmente representa um progresso maior para realização do caso de uso do que a documentação do artefato que necessita de menos tempo.

• Verificar o tamanho do artefato associado. A produção de artefatos extensos pode indicar um progresso maior do que a produção de um documento menor pois, após a produção destes artefatos maiores, o tempo para se finalizar o projeto poderia cair substancialmente. Vale salientar que esse indicador deve ser usado com critério já que, muitas vezes, um diagrama UML (ocupando um espaço pequeno) possui uma complexidade muito maior do que a elaboração da descrição inicial do caso de uso (que possui tamanho maior).

• O número de pessoas associadas com a produção de um artefato também pode ser um indicador da complexidade do mesmo. Artefatos com grande número de

Inspector – Um Processo de Avaliação de Progresso para Projetos de Software 83

pessoas, possivelmente são mais complicados, trabalhosos e leva mais tempo para serem desenvolvidos, devendo possuir um peso maior atribuído ao mesmo.