• Nenhum resultado encontrado

Obter Métricas do Processo de Software Executado

6.2 Identificando o Processo de Software Executado

6.2.2 Obter Métricas do Processo de Software Executado

Na seção anterior vimos como identificar o modelo do processo a partir da aplicação de técnicas de Mineração de processos. Nesta pesquisa é conjecturado que a utilização de operações de instanciação pode aumentar da facilidade de mapeamento de modelos de processo e planos de projeto. A facilidade pode ser medida pela demonstração de seus benefícios. Uma forma de avaliar o benefício do mapeamento na identificação do processo de software executado pode ser por meio de métricas de complexidade processo. Neste sentido esta seção apresenta um conjunto de métricas selecionadas para avaliar quantitativamente os benefícios do mapeamento na melhoria do entendimento do processo efetivamente seguido ao longo dos projetos. No Capítulo 2, na Seção 2.3, diversas métricas com foco em modelos de processo foram apresentadas.

Métricas de processo referem-se a tipos de medida relacionada a um processo, e permitem quantificar os atributos dos processos (CARDOSO, 2008). Como se pretende ao mapear as perspectivas facilitar a realização de análises da execução dos processos, métricas de complexidade de processo podem ser utilizadas para demonstrar quantitativamente o potencial do mapeamento para dar apoio a análise do processo de software executado. De acordo com Cardoso (2008) a complexidade do processo pode ser definida como o grau em que um processo é difícil de analisar, entender ou explicar. Neste sentido o aumento do potencial de entendimento dos processos de software, extraídos a partir de registros de execução, pode ser observado pela diminuição da complexidade de tais processos.

Um modelo simples e extremamente compreensível geralmente é resultante de uma baixa complexidade; enquanto, se a complexidade de um modelo é alta, a compreensibilidade deste modelo é baixa. Neste sentido, se o modelo de processo extraído a partir de registros de execução mapeados for menos complexo que o modelo processo extraído a partir de registros não rmapeados, isso quer dizer que as análises podem ser beneficiadas.

As ferramentas utilizadas para mineração de processo também dão suporte a extração de métricas. Para extração das métricas serão usadas a ferramenta Disco (FLUXICON, 2019) e a ferramenta ProM (VAN DER AALST, 2011).

As seguintes métricas foram selecionadas: número de atividades, frequência máxima de ocorrência da atividade, extended cardoso metric, números de arcos e número de locais.

Na ferramenta Disco os registros de execução mapeados, no formato xls, ou .xes, são importados e as seguintes métricas podem ser extraídas: número de atividades e frequência máxima atividade. E na ferramenta ProM, os registros de execução mapeados no formato .xes, são importados e submetidos a mineração. O modelo minerado, por meio do plugin Heuristics Miner, deve ser convertido para o formato Rede de Petri. Esta conversão se dá por meio do plugin Convert Heuristics net into Petri net da ProM. O formato Rede de Petri deve ser utilizado como entrada no plugin Show Petri-net Metrics da ferramenta ProM para a extração de métricas de complexidade de modelos de processo. A partir do modelo de processo descoberto, no formato de Rede de Petri, as seguintes métricas podem ser extraídas: extended cardoso metric, número de arcos e número de locais. As métricas selecionadas estão sumarizadas na Tabela 12.

Tabela 12 - Métricas de Complexidade

Métrica Explicação Ferramenta

Número de atividades (CARDOSO, 2006)

Número de atividades Disco

Frequência máxima Frequência máxima de atividades nos registros de execução

Disco

extended cardoso metric (LASSEN e VAN DER AALSt 2009)

Métrica para analisar a complexidade do fluxo de controle dos processos de negócios.

ProM

Número de arcos Número de arcos (arcs) no modelo de processo representado em Rede de Petri

ProM

Número de locais Número de locais (places) no modelo de processo representado em Rede de Petri

ProM

Cada métrica selecionada, bem como o relato da importância da métrica para a análise de complexidade, é descrita a seguir:

 Número de Atividades (CARDOSO, 2006): é equivalente a métrica mais simples de complexidade para software Lines of code. Por esta razão, o número de atividades é uma medida fácil de compreender para o tamanho de um modelo de processo de negócio. Um baixo valor para esta métrica indica menor complexidade do modelo.

 Frequência máxima: o modelo de processo descoberto é composto por um conjunto de atividade, e para cada uma delas é armazenada a quantidade de

mínima e máxima de ocorrência nos registros de execução usados para mineração. Esta métrica extrai o maior valor da lista de frequência máxima das atividades. Um alto valor para esta métrica indica menor complexidade do modelo.

 Extended Cardoso Metric (LASSEN e VAN DER AALST, 2009): Métrica para analisar a complexidade do fluxo de controle dos processos de negócios. O modelo minerado deve convertido para o formato Rede de Petri para que essa métrica possa ser extraída. Um baixo valor para essa métrica indica menor complexidade do modelo.

 Número de arcos: Ao realizar a conversão do modelo de processo descoberto para o formato rede de Petri, o número de arcos (arcs) pode ser obtido. Um baixo valor para esta métrica indica menor complexidade do modelo.

 Número de locais: Ao realizar a conversão do modelo de processo descoberto para o formato Rede de Petri, o número de locais (places) pode ser obtido. Um baixo valor para esta métrica indica menor complexidade do modelo.

Portanto, no contexto dessa solução, para obter os valores das métricas de complexidade número de atividades e frequência máxima atividade, deve ser utilizada a ferramenta Disco, sendo possível obtê-las assim que o modelo é descoberto. E para obter os valores das métricas de complexidade: extended cardoso metric, número de arcos e número de locais, deve ser utilizada a ferramenta ProM, por meio do plugin Show Petri-net Metrics.

A seção seguinte apresenta as orientações para a identificação de não conformidades.