• Nenhum resultado encontrado

5. DEFINIÇÃO DO INSPECTOR

5.2.2 Funcionalidade

propriedade é calculada através da métrica µnovasatividades, que corresponde à Equação 5.4 e é mostrada novamente a seguir:

=

Iniciadas Atividades x

Planejadas Atividades Iniciadas

Atividades x

Iniciadas Atividades x

atividades novas

x tempoGasto

x tempoGasto x

tempoGasto

) (

) ( )

(

)

µ (

Colocando os dados do exemplo nesta equação, temos o seguinte tempo gasto com todas as atividades iniciadas e com as atividades que não foram planejadas:

75 , 68 0 3 25 , 0 5 1 12 2 , 0 25 9 , 0 15 1 13 1 17 1 7 )

( = × + × + × + × + × + × + × + × =

Atividades

Iniciadas x

x tempoGasto

75 , 43 0 3 25 , 0 5 2 , 0 25 9 , 0 15 1 17 1 7 )

( = × + × + × + × + × + × =

AtividadesIniciadas AtividadesPlanejadas x

x tempoGasto

Assim, o valor de µnovasatividades é:

36 , 75 0

, 68

75 , 43 75 ,

68 − =

atividades =

novas

µ

Desse modo, a quantidade de atividades não planejadas que tiveram de ser realizadas dentro do escopo do exemplo se aproxima de 36%, indicando um esforço significativo das equipes de desenvolvimento em atividades que surgiram sem planejamento. O valor ideal para essa métrica se aproxima de 0%, indicando que o pessoal está totalmente alocado às atividades anteriormente planejadas.

do projeto, bem como de cada caso de uso do sistema, identificando, em detalhes, as principais dificuldades técnicas apresentadas pelos membros das equipes durante o desenvolvimento.

A partir da análise da Tabela Resumo, gerada através do cálculo de µsistema, poderá ser avaliada a situação atual de todos os casos de uso e do sistema. A Tabela Resumo permite identificar o progresso de cada etapa dos casos de uso, observando pontos onde não tem havido progresso. Um exemplo desta tabela é ilustrado na Tabela 4.2. Outro artefato gerado a partir do cálculo de µsistema são os gráficos de linha, indicando o progresso do sistema e de cada caso de uso, em relação ao tempo de desenvolvimento. A representação gráfica facilita a visualização do progresso e permite uma melhor análise de tendências.

Essa visão captura a construção do sistema a partir dos casos de uso, identificando todos os produtos que estão sendo gerados durante o desenvolvimento do sistema. Desse modo, ela é uma visão eficiente para se identificar problemas mais técnicos, voltados para definição e construção dos artefatos do projeto, bem como capturar pequenas deficiências no desenvolvimento, que dificilmente seriam recuperadas na visão de desempenho. Como o próprio nome diz, o foco dessa visão, são as funcionalidades do sistema, deixando a desejar na observação e captura dos aspectos não funcionais ou de qualidade, como fatores que também indicam progresso.

Exemplo de obtenção da visão de funcionalidade

A obtenção da visão de funcionalidade baseia-se no cálculo do progresso funcional do projeto em um determinado momento. O exemplo a seguir mostra como encontrar o valor de µsistema para um projeto X, cujo diagrama de caso de uso foi mostrado na Figura 4.1. Primeiramente, deverão ser identificados os casos de uso a serem avaliados. No exemplo, os casos de uso são:

• Cadastrar Tabelas;

• Atualizar Queixa;

• Consultar Informações; e

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

• Especificar Queixa.

Em seguida, os casos de uso identificados deverão ser analisados e, a partir dessa análise, deverão ser atribuídos pesos aos mesmos para que µsistema possa ser calculado.

Suponhamos que no exemplo, os casos de uso tiveram a complexidade e o tamanho avaliados e foram-lhe atribuídos os seguintes pesos:

• µCadastrar Tabelas =2;

• µAtualizar Queixa =1;

• µConsultar Informações =1; e

• µEspecificar Queixa =3.

O próximo passo é identificar, para cada caso de uso, as etapas necessárias e os artefatos que deverão ser produzidos no desenvolvimento. Para simplificar o exemplo, assumiu-se que todos os casos de uso do projeto X passarão pelas mesmas etapas de desenvolvimento: . Além disso, foi assumido que todas estas etapas representam mesmo peso no desenvolvimento do caso de uso, ou seja,

} ,

,

{análise projeto implementação ETAPAS =

=1

ETAPAS pj

j . Suponha também que, após uma análise dos casos de uso, ficou constatada a necessidade de produzir ou atualizar os seguintes artefatos:

Aanálise ={documento de requisitos};

Aprojeto ={diagrama de classes, descrição dos dados}; e

Aimplementação ={código fonte, testes de unidade}.

Definidos os artefatos, deverão ser considerados os pesos dos mesmos para a produção de cada caso de uso. Para simplificar o exemplo, assumiu-se que todos os artefatos possuem peso 1, ou seja, ∀xAj,jETAPASpx =1. O passo seguinte é inspecionar os artefatos definidos para cada caso de uso, obedecendo aos critérios de inspeção já apresentados na Seção 4.3. De acordo com o resultado da inspeção, valores

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

são atribuídos a µcasodeuso(x), onde xAj,jETAPAS. Suponha que após a inspeção dos artefatos do exemplo, foram obtidos os seguintes valores para os casos de uso:

Tabelas Cadastrar

75 , 0 Tabelas Cadastrar

15 , 0 ) (Cadastrar =

63 , 15 0 , 0

1 =

1 1

1× + × ×

=

Queixa Atualizar

7 , Queixa Atualizar

1 , 0 ) (Atualizar =

6 , 1 0 , 0 = 3

, 0 1 1 1× + ×

= Cadastrar Tabelas

• µanálise( )=1

• µprojeto( )=

• µimplementação Tabelas

Assim, o progresso funcional do caso de uso Cadastrar Tabelas pode ser facilmente calculado a partir da Equação 4.6:

3 75 ,

0 +

Tabelas Cadastrar

µ

Repare que, por não ser um fator tão decisivo para o exemplo, não está sendo considerada a iteração na qual a avaliação está sendo realizada.

Atualizar Queixa

• µanálise( )=1

• µprojeto( )=0

• µimplementação Queixa

Assim, o progresso funcional do caso de uso Atualizar Queixa pode ser facilmente calculado a partir da Equação 4.6:

1 7+ ×

Queixa Atualizar

µ

Consultar Informações

• µanálise(Consultar Informações)=0,8

• µprojeto(Consultar Informações)=0,4

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

• µimplementação(Consultar Informações)=0

Assim, o progresso funcional do caso de uso Consultar Informações pode ser facilmente calculado a partir da Equação 4.6:

4 , 3 0

0 1 4 , 0 1 8 , 0

1× + × + × =

s =

Informaçòe Cosultar

µ

Especificar Queixa

• µanálise(EspecificarQueixa)=1

• µprojeto(Especificar Queixa)=1

• µimplementação(Especificar Queixa)=0

Assim, o progresso funcional do caso de uso Especificar Queixa pode ser facilmente calculado a partir da Equação 4.6:

66 , 3 0

0 1 1 1 1

1× + × + × =

Queixa =

r Especifica

µ

Calculado o progresso funcional de cada caso de uso, o progresso funcional do projeto deriva diretamente da substituição destes valores na Equação 4.4, levando-se em consideração os pesos de cada caso de uso já atribuídos anteriormente. Desse modo tem-se:

61 , 7 0

66 , 0 3 4 , 0 1 6 , 0 1 63 , 0

2× + × + × + × =

sistema = µ

Esse resultado indica que 61% das funcionalidades previstas para o projeto X já foram incorporadas. De posse deste resultado, o gerente de projeto pode compará-lo com valores obtidos em avaliações anteriores e observar tendências sobre o projeto.

Além disso, o progresso funcional de cada caso de uso também é útil, pois permite identificar funcionalidades específicas com problemas e atrasos no desenvolvimento.

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