• Sonuç bulunamadı

grubun sunumuna geçiyoruz: “Aile Hekimli¤i Modelinin Etik Aç›dan De¤erlendirilmesi.”

F. AKSU- Soru için teflekkür ederim

7. grubun sunumuna geçiyoruz: “Aile Hekimli¤i Modelinin Etik Aç›dan De¤erlendirilmesi.”

As avaliações dos experimentos para cada objetivo mostraram que a abordagem proposta encontrou a solução ótima em ambos os casos. Dessa forma, tem-se a percepção de que o algoritmo genético proposto é guiado de forma consistente por suas funções de adequação e também evoluem suas soluções por meio da seleção e dos operadores genéticos. Contudo, essas avaliações demonstraram apenas uma excelente reformulação do problema em uma meta-heurística. Como as métricas de software mapeadas em funções de adequações direcionam ao algoritmo genético proposto, é interessante analisar se a solução ótima realmente é melhor que outras soluções com fitness inferior. Ou seja, observar se uma arquitetura com fitness maior que outra realmente é melhor intuitivamente no ponto de vista da Engenharia de Software.

CAPÍTULO 4 – AVALIAÇÃO EXPERIMENTAL 92

Na perspectiva do objetivo da avaliação estrutural da arquitetura, foram observadas 3 soluções: a ótima e as duas subsequentes com fitness ligeiramente inferior. Houve comparação entre as conexões dessas soluções, e foi percebido que quanto maior a fitness, menor a degradação dos problemas relacionados à integração entre os componentes candidatos. Assim, à medida que uma solução piora sua fitness, o número de mismatches detectados vão aumentando, portanto a consistência da métrica é observada de maneira intuitiva. Já para o objetivo em termos dos componentes candidatos a metodologia de comparação foi análoga à outra perspectiva. Ou seja, quanto menor a discrepância funcional entre as especificações e os candidatos, intuitivamente é observado o crescimento do valor da fitness (assumindo que todos possuam os mesmos valores para informações de reuso). Já para analisar as informações de reúso é trivial, pois ocorrer um mapeamento direto de valores (grau de satisfação e número de downloads) para outros valores (fitness). Quanto maior o valor das informações de reúso melhor será a fitness.

No âmbito da Engenharia de Software, quanto mais próximo a solução estiver da ótima, os ajustes necessários nos componentes selecionados serão mínimos e podem ser considerados pontuais – o que ajuda no tratamento do problema. E quanto mais distante a solução estiver da ótima, a complexidade nos ajustes na configuração arquitetural aumentará exponencialmente, pois deve-se observar a arquitetura como um todo (o problema deixa de ser pontual).

Capítulo 5

Trabalhos Relacionados

Este capítulo tem como objetivo apresentar alguns trabalhos que possuem relação direta com o presente trabalho, evidenciando os pontos positivos e negativos de cada um deles e, principalmente, mostrando onde os trabalhos relacionados diferem deste trabalho.

Foram escolhidos trabalhos de seleção automatizada de componentes que lidam com técnicas de otimização para sua computação. A busca por esses trabalhos foi realizada dentro de um repositório de publicações [SBSE13] de uma comunidade acadêmica que cataloga todos os trabalhos da Engenharia de Software Baseada em Busca, ou seja, trabalhos referentes a problemas da Engenharia de Software que são tratados por algoritmos de otimização, pois a busca é complexa e gigantesca. Dessa forma, foram filtrados apenas trabalhos que correspondem ao problema de seleção de componentes de software.

5.1. Algoritmos de Aproximação para o Problema da Seleção de

Componentes de Software

O trabalho Approximation Algorithms for Software Component Selection Problem, de [Haghpanah07], declara a necessidade de projetar algoritmos eficientes para automatizar a seleção de componentes de software para organizações que utilizem DBC como modo de produção. Este processo NP-Completo de seleção tem como objetivo escolher um conjunto de componentes com custo mínimo para satisfazer um conjunto de objetivos como, por exemplo, funcionalidades. Devido à alta ordem de complexidade computacional, este trabalho investiga soluções aproximadas para tornar o problema da seleção de componentes praticável.

Este trabalho declara o problema de seleção da seguinte forma: a cada componente é atribuído um conjunto de funcionalidades que ele satisfaz. Os componentes podem possuir mais de uma funcionalidade e vice-versa. A cada componente é atribuído um custo, que é o custo total para adquiri-lo. E caso tal componente seja dependente de outros, o custo do componente candidato à seleção é a soma do seu custo justamente com o de todos os outros que ele depende. O custo total de um conjunto de componentes selecionados é a soma dos

CAPÍTULO 5 – TRABALHOS RELACIONADOS 94

custos de todos os membros. Assumindo que cada requisito possa ser satisfeito por pelo menos um componente. A meta é escolher um conjunto com o menor custo possível entre os candidatos.

Os algoritmos utilizados para o problema de seleção descrito acima são Algoritmos Genéticos e Abordagem Gulosa visando obter soluções próximas da ótima. Abaixo segue a descrição da aplicação de ambos:

 Algoritmos Genéticos: são meta-heurísticas inspiradas em sistemas biológicos que melhoram a qualidade de soluções através de evolução [Holland75]. Vide a seção 2.4.  Abordagem Gulosa: esta abordagem foi escolhida porque é um dos melhores

algoritmos de aproximação em tempo polinomial para problemas de coberturas de conjuntos, que são problemas NP-Completo relacionados com a seleção de componentes. No decorrer da computação para obter uma solução, cada etapa é dirigida pela escolha que parece ser a melhor no momento. Neste caminho, um componente que custa 1 (uma) unidade e satisfaz 1 (um) requisito, é preferível a outro que satisfaz 2 (dois) requisitos, porém custam 100 (cem) unidades.

Vários experimentos foram realizados utilizando conjuntos de dados (representações de componentes) para comparar a performance de diferentes abordagens. Além das abordagens algorítmicas supracitadas, foi reunido um time de cinco especialistas para selecionar um conjunto de componentes que satisfaçam todos os requisitos propostos com o mínimo de custo possível. O número de requisitos era 16 e o número de componentes era de 40 a 60, cada requisito possuía um número de 1 a 6 candidatos. Os resultados apontaram que as abordagens algorítmicas obtiveram resultados melhores que o esforço humano, e a abordagem genética mostrou-se superior à gulosa.

Este trabalho apenas avalia a configuração arquitetural (construída por componentes selecionados) sob a perspectiva do custo de cada componente. Portanto, diferentemente da abordagem aqui proposta, não possui métricas que avaliam os atributos de qualidades dos componentes, nem métricas estruturais que avaliariam o custo necessário para adaptar componentes visando integrá-los entre si.

5.2. Uma Abordagem Evolucionária Baseada em Métricas para o

Benzer Belgeler