Resumo:
A modelagem colaborativa de software é uma tendência para aumentar a produtividade das empresas e reduzir custos. Porém, os dois principais tipos de colaboração ainda apresentam problemas, por exemplo: a síncrona, apesar de evitar conflitos, em cenários com vários desenvolvedores atuando no modelo ao mesmo tempo, atrapalha o processo cognitivo dos desenvolvedores e a assíncrona leva a complicadas e custosas etapas de resolução de conflitos. Portanto, este trabalho propõe a UMLCollab, uma abordagem híbrida de modelagem colaborativa de modelos UML. A UMLCollab permite que cada usuário receba atualizações síncronas de outros usuários e envie as suas alterações de forma assíncrona, combinadas com a técnica de merge automático e manual. A abordagem proposta foi avaliada através de um experimento controlado, o qual permitiu compará-la com abordagens tradicionais (síncronas e assíncronas). Os resultados coletados mostram que a UMLCollab: (1) apresentou uma produtividade (esforço) intermediária em relação a formas de colaboração tradicionais; (2) apresentou um maior nível de corretude considerando o máximo das amostras de corretude coletadas em relação a colaboração síncrona; (3) recebeu uma melhor percepção dos participantes nos resultados de produtividade; e (4) foi confirmada pela maioria dos participantes como facilitadora na resolução de conflitos e redução da interferência na modelagem. Por fim, os resultados são encorajadores e mostram o potencial de usar a UMLCollab para suportar modelagem colaborativa em ambientes reais.