Padrões arquiteturais em Ruby

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (4)  (0)

Este artigo demonstra o uso de ArchRuby para expressar padrões e boas práticas arquiteturais que, uma vez preservados, contribuem para a manutenibilidade do sistema de software.

Fique por dentro
A utilização de padrões e a adoção de boas práticas são recomendações estabelecidas por um projeto arquitetural bem definido. Contudo, no decorrer do projeto, esses padrões tendem a se degradar, fazendo com que seus benefícios sejam anulados. Esse problema é ainda mais severo em sistemas desenvolvidos em linguagens dinâmicas. Assim, este artigo tem como objetivo demonstrar o uso de ArchRuby – uma ferramenta que provê conformidade e visualização arquitetural – para expressar padrões e boas práticas arquiteturais que, uma vez preservados, contribuem para a manutenibilidade do sistema de software.
Autores: Sérgio Henrique Mirada e Ricardo Terra

A arquitetura de software é geralmente definida como um conjunto de decisões de projeto que tem impacto em cada aspecto da construção e evolução do sistema de software. Isso implica em definições de diversos padrões e boas práticas que devem ser seguidas. No entanto, no decorrer do projeto, esses padrões tendem a se degradar fazendo com que benefícios proporcionados por um projeto arquitetural (e.g., manutenibilidade, escalabilidade, portabilidade) sejam anulados. Esse problema é ainda mais severo em sistemas desenvolvidos em linguagens dinâmicas, onde recursos como invocação dinâmica, construções dinâmicas, eval, etc., tornam os desenvolvedores mais propícios a quebrar a arquitetura planejada.

Diante disso, este artigo demonstra que a preservação de padrões e boas práticas arquiteturais – o que contribui para o processo de manutenção do sistema – pode ser facilmente realizado em sistemas desenvolvidos em linguagens dinâmicas. Para isso, é utilizado um sistema motivador, desenvolvido com a linguagem Ruby, cuja arquitetura contempla diversos padrões e boas práticas arquiteturais comumente encontrados no desenvolvimento de sistemas. Assim, é demonstrado como preservar tais padrões utilizando ArchRuby, onde arquitetos de software definem regras arquiteturais para controlar as dependências que podem ou não ser estabelecidas em um dado sistema. Mais especificamente, ArchRuby é uma ferramenta que provê conformidade e visualização arquitetural baseada em técnicas de análise estática de código e uma heurística de inferência de tipos para sistemas Ruby.

O restante desse artigo está organizado conforme descrito a seguir. A seção Arquitetura de Software faz uma breve introdução a projetos arquiteturais de sistemas de software e a seção Conformidade e Visualização Arquitetural descreve as principais técnicas existentes. A seção Ferramenta ArchRuby apresenta a solução de conformidade e visualização arquitetural proposta. A seção Sistema Motivador descreve o sistema utilizado para ilustrar os padrões e boas práticas arquiteturais. A seção Regras Arquiteturas e Benefícios para Manutenibilidade demonstra como traduzir tais padrões em regras arquiteturais e os benefícios associados a tais regras. A seção Processo de Conformidade Arquitetural aplica o processo de conformidade arquitetural no sistema motivador e a seção Visualização da Arquitetura apresenta visualizações que facilitam o raciocínio arquitetural.

Arquitetura de software

A arquitetura de software tem como responsabilidade entender e projetar a melhor maneira que as diversas partes que compõem um software devem ser estruturadas entre si. Ou seja, é uma ligação crítica existente entre a descrição (e.g., requisitos do software) e o projeto de software. Dessa maneira, o projeto arquitetural é um artefato importante, pois as definições presentes nesse artefato afeta o desempenho, a robustez, a portabilidade, a manutenibilidade, etc. do sistema de software.

Contudo, no decorrer do projeto – devido à falta de conhecimento, prazos curtos, etc. – os padrões definidos pela arquitetura tendem a se degradar. Isso faz com que os benefícios proporcionados por um projeto arquitetural sejam anulados. Esse fenômeno é conhecido como erosão arquitetural e deve ser controlado para não afetar o projeto arquitetural.

Conformidade e visualização arquitetural

Conforme demonstrada anteriormente, a arquitetura é um artefato crucial que precisa ser monitorado e seguido pelos desenvolvedores de software. Conformidade arquitetural é o processo que verifica o grau de consistência entre a arquitetura concreta (i.e., implementação concreta do código fon"

[...]

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?