Um arcabouço para conexões de componentes de software. - Claudiney Calixto da Silva (2004)
Em Engenharia de Software (ES), o Desenvolvimento Baseado em Componentes (DBC) vem se destacando como uma abordagem favorável ao reuso. Entretanto, mesmo após o advento do DBC, a ES continua enfrentando dificuldades relacionadas com a substituição e o reuso de componentes, provocadas pelo alto acoplamento de suas conexões. Esta pesquisa endereça uma das causas dessas dificuldades, a carência de modelos apropriados para adaptações e conexões. Com a construção de um Arcabouço para conexões de componentes de software, conseguiu-se aumentar a qualidade no desenvolvimento, o reuso, a coesão e a facilidade de substituição e de manutenção de componentes, bem como reduzir o acoplamento, o tempo e o esforço para conectá-los. Para construir este arcabouço, realizou-se um levantamento dos principais conceitos, tecnologias e dificuldades de reuso no DBC. Isso foi elaborado, a fim de investigar algumas abordagens aplicáveis como o Estilo Arquitetural C2, os Contratos de Reuso, o Arcabouço de Componentes e a Orientação a Aspectos. Após esse levantamento, foram especificados requisitos para abordagens de reuso no DBC, e considerados somente aqueles relacionados às conexões de componentes. Com base nesses requisitos, identificou-se os cinco principais elementos do arcabouço: Fluxo de Trabalho (Workflow) de Atividades; Estilo Arquitetural; Modelo de Componentes; Modelo para Definição de Conexões; e Modelo para Conexões de Componentes. Esses elementos, juntamente com a necessidade de ciclos iterativos e incrementais para conexões de componentes, originaram uma proposta de Modelo Abstrato, instanciável para cada tipo de projeto. Neste trabalho, foi identificada também a carência de modelos de conexão capazes de aumentar a coesão e reduzir o acoplamento entre componentes, facilitando a sua manutenção e substituição. Para suprir esta carência, foram propostos: o cSew (Component Sew), como um modelo de conexões baseado na costura de componentes; e a cSewAO (cSew Aspect Oriented), como uma alternativa para a sua implementação Orientada a Aspectos. A principal contribuição deste trabalho de pesquisa foi o desenvolvimento da cSewAOI (cSewAO Instance), uma instância do Modelo Abstrato para arcabouços de conexão de componentes que, além de suportar um Workflow de Atividades e a cSewAO, propõe algumas adaptações nas abordagens de reuso investigadas. O processo de verificação e validação da cSewAOI incluiu, além dos requisitos considerados, o desenvolvimento de um Estudo de Caso. Tal estudo envolveu um cenário com alterações em cascata e preocupações ortogonais. Com os resultados obtidos, foi possível extrair as principais conclusões e reunir informações para futuros projetos e experimentos.