• Nenhum resultado encontrado

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

4.2 O C ÁLCULO DA M ÉTRICA

4.2.1 Definindo o Progresso de Um Caso de Uso

A métrica relacionada ao progresso de um caso de uso considera as principais etapas necessárias para o seu desenvolvimento, partindo desde a identificação e documentação inicial do caso de uso até seu desenvolvimento e integração. Desse modo temos:

×

=

ETAPAS j

casodeuso ETAPAS

j

casodeuso casodeuso

casodeuso

j i p

j i j

i p

i ( , )

) , ( )

, ( )

(

µ

µ (4.6)

onde indica a iteração atual, representa a etapa de desenvolvimento do caso de uso avaliada, indica o peso relativo ao caso de uso na iteração i e etapa de desenvolvimento (apresentado com mais detalhes na Seção 4.4),

i j

) , (i j pcasodeuso

j µcasodeuso(i,j) indica

o progresso do caso de uso na iteração e etapa de desenvolvimento , e

corresponde ao conjunto que contém as etapas necessárias para o desenvolvimento do caso de uso. Um valor padrão definido no trabalho para o conjunto de etapas que devem ser realizadas durante o desenvolvimento de um caso de uso é: ETAPAS = {especificação inicial, análise e projeto, implementação, teste}, mas nada impede que esse conjunto possa ser configurado para cada caso de uso de forma a refletir as etapas que realmente necessitam serem realizadas para sua definição, ou seja, podem ser removidas etapas ou inseridas novas etapas de acordo com o processo de desenvolvimento da organização e com a necessidade de se realizar essa etapa de desenvolvimento para um caso de uso especifico.

i j ETAPAS

O progresso de um caso de uso em uma determinada etapa (µcasodeuso(i,j)), é calculado a partir da contribuição dos diversos artefatos necessários para que esta etapa seja realizada. Desse modo, temos a função µcasodeuso(i, j)≡µcasodeuso(i, j)(Aij), que representa a dependência da métrica em relação aos artefatos, com representando o conjunto de artefatos relevantes para realização do caso de uso, na iteração e etapa de desenvolvimento .

Aij

i j

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

Novamente, seguindo a Equação 4.1, que consiste na equação de composição proposta por Champeaux [13], definiu-se

×

=

ij ij

A

x x

A

x x x

casodeuso

casodeuso p

casodeuso casodeuso

p j

i ( )

) (

) (

) , (

µ

µ (4.7)

onde indica o peso do artefato x para construção de px(casodeuso) casodeuso, )

casodeuso

x(

µ representa a métrica que indica percentualmente se o artefato x já foi produzido ou alterado de modo a realizar a etapa no desenvolvimento do caso de uso, e representa o conjunto de Artefatos que devem ser produzidos ou atualizados na iteração e etapa . A configuração desse conjunto de artefatos necessários em cada etapa de um caso de uso deverá ser realizada durante o planejamento da avaliação de progresso. Cada artefato identificado deve conter critérios de avaliação, que permitam identificar se tais artefatos incorporam as informações necessárias ao desenvolvimento do caso de uso (seja completamente ou parcialmente).

j Aij

i j

A partir de um estudo realizado sobre o RUP (Rational Unified Process) [7, 48], que consiste em um processo de desenvolvimento OO, iterativo e incremental, definido pela Rational, se definiu um padrão inicial de artefatos, com seus respectivos critérios de avaliação, adequado para esse processo de desenvolvimento. Como foi dito, este conjunto é apenas um padrão apresentado para uma possível aplicação da métrica em organizações que utilizem o RUP como processo de desenvolvimento, caso a organização não utilize o RUP, esse conjunto pode ser reconfigurado de forma a se tornar mais adequado ao processo de desenvolvimento que ela utiliza.

A escolha inicial do RUP se deve ao fato do mesmo ser um processo que utiliza a linguagem de modelagem UML (com conceitos como realização dos casos de uso) e por ele ser um processo de desenvolvimento guiado através da definição dos casos de uso.

Como resultado dessa análise do RUP foi definida a Tabela 4.1, contendo os principais artefatos produzidos durante cada etapa do desenvolvimento de um caso de uso.

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

Etapa no

Desenvolvimento Artefato Breve Descrição

Diagrama de Caso de Uso Diagrama UML que contém os casos de uso do sistema e seus relacionamentos com outros casos de uso e atores.

Descrição Funcional Representa uma descrição do que se espera que o caso de uso faça, o que ele espera receber como entrada e produzir como saída.

Fluxo de Eventos Representa um conjunto de cenários que demonstram o comportamento do caso de uso, de acordo com eventos externos.

Especificação Inicial

Artefatos de Protótipo Artefatos relacionados à definição, projeto e implementação de um protótipo de interface do sistema.

Diagrama de

Sequência/Colaboração

Mostram interações entre objetos e atores dentro do sistema, incluindo as mensagens que são disparadas entre eles.

Diagrama de Classe Define um conjunto de classes e interfaces, indicando colaborações e relacionamentos.

Representa a visão estática do projeto do sistema.

Diagrama de Estado Máquina de estado, consistindo de estados, transições, eventos e atividades. Modela o comportamento de um objeto.

Análise e Projeto

Diagrama de Atividade Tipo especial de diagrama de estado que mostra um fluxo de atividades dentro do sistema. Importante para modelagem de funções do sistema.

Diagrama de Componente Mostra a organização e as dependências entre um conjunto de componentes. Endereça a visão estática da implementação do sistema.

Código Fonte Código do sistema contendo a implementação de classes e métodos.

Resultado dos Testes de

Unidade Resultado dos testes visando identificar problemas em uma determinada classe.

Implementação

Versão Executável do Sistema Versão contendo as últimas modificações realizadas no sistema.

Plano de Testes Documento contendo estratégias para teste do sistema como um todo.

Casos de Teste Testes derivados diretamente do caso de uso, visando identificar problemas na sua realização.

Procedimentos de Teste Procedimentos necessários para implementação dos testes.

Teste

Scripts de Teste Programas auxiliares desenvolvidos para a

realização do teste.

Tabela 4.1. Artefatos padrões envolvidos com o desenvolvimento de um caso de uso Cada artefato identificado na Tabela 4.1 deve conter um conjunto de critérios de avaliação agrupados, que servirão como fonte de consulta durante a inspeção do artefato visando identificar se o mesmo incorpora as funcionalidades do caso de uso. Uma dificuldade inerente a esse processo de inspeção está na avaliação semântica dos artefatos, ou seja, na avaliação da corretude dos mesmos, que não foi coberta pelo

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

trabalho devido à complexidade desse tipo de análise e por não ser o foco do trabalho definir tais critérios de inspeção. Desse modo, não foram focalizadas questões semânticas como defeitos nos artefatos, verificando-se apenas as características sintáticas que o artefato deve apresentar e o relacionamento deste com os demais artefatos. Existem trabalhos relacionados que se preocupam em observar os artefatos em busca de defeitos no desenvolvimento e que podem ser considerados durante a definição dos critérios de inspeção de artefatos para uma organização específica [54].

É interessante observar que na análise realizada, os artefatos do fluxo de implantação do RUP não foram considerados como sendo parte do desenvolvimento de um caso de uso. Isso aconteceu pelo fato da implantação não ser realizada sobre cada caso de uso individualmente, mas sim sobre todo o sistema. Desse modo, para que o progresso na implantação do sistema seja capturado, é importante definir outras métricas que observam a implantação do sistema como um todo.

A Seção 4.3, apresenta os critérios de avaliação, que deverão ser observados, durante a inspeção de cada artefato citado na Tabela 4.1.