O Anexo B descreve em detalhe as dezanove abordagens mencionadas no capítulo anterior. A Tabela 6 compara as abordagens segundo os seguintes critérios:
CMGSC: Conformidade com o Método Genérico de Selecção de COTS; AVAL: Estratégia de avaliação utilizada;
UNIC: Adequabilidade para selecção única de COTS;
MULT: Adequabilidade para selecção múltipla de COTS (selecção de um grupo de COTS);
INAD: Habilidade para endereçar as inadequações do COTS de um modo sistemático durante e depois do processo de selecção;
ADAPT: Capacidade de adaptar o processo com base nos conhecimentos dos especialistas. Satisfazer este critério não implica, necessariamente, a existência de técnicas de desenho sistemáticas;
FS: Disponibilidade de ferramenta de suporte para facilitar a aplicação da abordagem.
Tabela 6 – Comparação das abordagens de selecção de COTS
Abordagem Factores de comparação
ID* Nome Ano CMGSC AVAL UNIC MULT INAD ADAPT FS
B.1 OTSO 1995/1996 FP B.2 IusWare 1997 Qualquer uma B.3 PRISM 1997 FP B.4 CISD 1997 FP/MP ~ B.5 PORE 1998 FP ~ B.6 CEP 1999 FP B.7 STACE 1999 FP/RC ~ B.8 CRE 1999 FP ~ B.9 CAP 2000 FP B.10 CARE 2001 FP ~ B.11 PECA 2002 Qualquer uma ~ B.12 BAREMO 2002 Passo 5 - B.13 Storyboard 2002 FP/RC ~ ~ B.14 CS 2002 ** - ~ ~
Abordagem Factores de comparação
ID* Nome Ano CMGSC AVAL UNIC MULT INAD ADAPT FS
B.15 WinWin 2003 FP ~ ~
B.16 Erol’s 2003 -
B.17 DesCOTS 2004 FP
B.18 MiHOS 2005 FP/RC
B.19 UnHOS 2011 FP/RC ~
FP: Filtragem Progressiva Satisfaz o critério totalmente RC: Requisito Chave Não satisfaz o critério
MP: Montagem do Puzzle ~ Satisfaz o critério de forma parcial, informal ou implícita
*Identificação das abordagens tal como estão organizadas no Anexo B
**CS prevê orientações para a selecção de um conjunto de produtos COTS colaborativos. Sugere assim a utilização de outra abordagem (e.g. OTSO) para a selecção individual de COTS
Problemáticas das abordagens existentes 2.3.5.
Neste tópico, são listadas algumas das problemáticas em aberto, levantadas por Mohamed et al. [2007a], que não foram suficientemente tidas em conta pelos critérios de selecção de COTS existentes.
Firesmith [2005] expôs uma mensagem dos profissionais de software dirigida aos investigadores, na qual estes afirmam necessitar de melhores conselhos sobre como e quando utilizar as metodologias. Assim sendo a primeira problemática é:
P1: Ajudar na selecção de métodos adequados e eficazes para cada contexto específico.
Embora a maioria das abordagens propostas fossem desenvolvidas para uso geral, não existe uma abordagem comummente aceite para a selecção de COTS [Ruhe 2003a]. Além disso, estas abordagens foram propostas sem uma explicação clara de como é que podem ser adaptadas a projectos e domínios diferentes. Isto leva a uma segunda problemática:
P2: Mostrar como as abordagens de selecção de COTS podem ser adaptadas para se
adequarem em diferentes contextos.
Esta problemática é relevante para a tomada de decisão durante o processo de selecção. As abordagens actuais sugerem a utilização de técnicas de tomada de decisão tais como o WSM ou o AHP [Saaty 1990a]. No entanto, estas técnicas têm várias limitações, já descritas nos capítulos 2.3.3.1 e 2.3.3.2, respectivamente. Surge assim a terceira problemática:
Usualmente as técnicas de tomada de decisão sugerem uma solução óptima aos decisores que a podem aceitar ou rejeitar. Isto limita o controlo e a participação dos decisores sobre processo de tomada de decisão. Uma alternativa é a utilização de técnicas de apoio à decisão. Apoio à decisão é um modo de ajudar os decisores em diferentes níveis de incerteza, complexidade e mudança de parâmetros dos problemas [Vigder et al. 1996]. O apoio à decisão sugere que, em vez de dar apenas uma solução óptima, devem ser fornecidas aos decisores várias soluções óptimas ou quase óptimas, das quais eles poderão aceitar uma ou executar de novo o processo depois de ajustar os seus parâmetros até obterem uma decisão razoável o que permite aos decisores um maior controlo e participação sobre o processo de tomada de decisão. Isto leva a uma quarta problemática:
P4: Utilizar técnicas de suporte à decisão para ajudar a tomar decisões mais eficientes.
Esta problemática está relacionada com o facto de haver stakeholders diferentes com visões diferentes. Actualmente, esta problemática é resolvida informalmente ou implicitamente. No entanto, é necessária uma componente de negociação mais robusta que permita que os COTS possam ser progressivamente seleccionados com base nos requisitos funcionais, requisitos não-funcionais, arquitectura, e que possam, ao mesmo tempo, ser resolvidos conflitos entre stakeholders. Daqui advém a quinta problemática:
P5: Disponibilizar uma componente de negociação para resolver conflitos entre stakeholders.
As problemáticas restantes estão relacionadas com o mercado de COTS e os respectivos fabricantes. As abordagens mais recentes assumem que a informação necessária para avaliar produtos COTS está disponível e é fiável. Existem, no entanto, abordagens (e.g. [Maiden & Ncube 1998]) que sugerem que a avaliação se deve basear, inicialmente, em documentação dos fabricantes. Depois, para os requisitos específicos, a avaliação deve passar pelas demonstrações dos fabricantes e por testes levados a cabo pelos utilizadores. No entanto, procurar e recolher informação pode consumir muito tempo. Isto leva a outra problemática:
P6: Desenhar repositórios de conhecimento e mostrar como é que podem ser utilizados para
avaliar COTS.
Alguns fabricantes são mais fiáveis que outros e os seus documentos podem ser utilizados de forma mais ampla durante a avaliação, a fim de reduzir o esforço de avaliação relacionado com os testes dos utilizadores. Isto leva a uma última problemática:
P7: Desenvolver técnicas para avaliar a credibilidade dos fabricantes e ajustar os resultados
da avaliação dos COTS (obtida pela documentação dos fabricantes) com base na estimativa da credibilidade.
2.3.5.1. Uma perspectiva
As sete problemáticas descritas no ponto anterior podem ser analisadas de modo a melhorar as práticas de selecção de COTS. Neste capítulo são demonstradas, segundo Mohamed et al. [2007a], possíveis direcções que podem ser seguidas para resolver estas problemáticas.
P1: Para apoiar a selecção de métodos apropriados para diferentes contextos Firesmith [2005]
propôs um guia de alto nível. A ideia é definir uma taxonomia para métodos existentes, categorizar domínios do problema em termos do que necessitam e finalmente encontrar uma forma de mapear essas duas categorias entre si. Além disso, devem ser executados estudos experimentais para analisar a eficácia da grande variedade de abordagens.
P2: Mohamed et al. [2004a & 2005] desenvolveram uma framework para customizar o
processo de selecção de COTS. A ideia principal é definir um conjunto de opções possíveis para cada actividade durante o processo e depois dar suporte para seleccionar a melhor opção com base em características do projecto tais como o esforço, criticidade, etc. Outra referência útil pode ser encontrada no trabalho de Jiang et al. [2004]. No entanto esta referência não é orientada a COTS, mas ilustra um método de flexibilização do processo.
P3: Os critérios de avaliação podem ser definidos hierarquicamente utilizando uma definição
orientada a requisitos [Lamsweerde 2001]. Existem abordagens de selecção de COTS que já usam requisitos [Grau et al. 2004]. No entanto, ainda não é claro como estimar a satisfação de cada requisito. Para este efeito, as relações entre métricas devem ser quantificadas, em termos de como é que cada requisito contribui ou prejudica a satisfação dos outros. O trabalho feito por Kaiya et al. [2002] pode ser usado como referência para este propósito.
P4: Existem várias fontes que explicam o conceito de apoio à decisão [Ruhe et al. 2002, Ruhe
2003b, Ruhe & Ngo-The 2004] e Mohamed et al. [2007b] incorporam técnicas de apoio à decisão no processo de selecção de COTS.
P5: Os componentes de negociação são partes essenciais dos sistemas de apoio à decisão
[Ruhe 2003a]. Técnicas de tomada de decisão em grupo [Hwang & Lin 1987, Herrera et al. 1996] e sistemas baseados em agentes [Wanyama & Far 2005] podem ser bastante úteis para melhorar este problema.
P6: O conceito de LSO (Learning Software Organization) [Ruhe 2003b] pode ser útil para
ajudar a desenhar os repositórios de conhecimento necessários. Mohamed et al. [2004b] descreveu uma framework para avaliar COTS com o apoio de bases de conhecimento. Existem também repositórios online bastante úteis para certos domínios, como por exemplo [CMS-MATRIX]. No entanto, são necessários mais repositórios para cobrir o vasto leque de domínios de COTS existentes.
P7: O trabalho proposto pela abordagem CEP [Phillips & Polen 2002] demonstra como
ajustar os resultados de avaliações com base na credibilidade das fontes de dados. No entanto, diferentes fabricantes deveriam ter factores de credibilidade diferentes, os quais podem ser estimados utilizando técnicas com a capacidade de lidar com informação qualitativa incerta, como por exemplo Redes Bayesianas [Jensen 1996].