Por que eu devo ler este artigo:Neste artigo será apresentado uma visão geral sobre arquitetura de referência, um tipo especial de arquitetura de software que engloba o conhecimento sobre como projetar arquiteturas de concretas dos sistemas de um determinado domínio de aplicação, abrangendo terminologias relacionadas à arquitetura de referência, bem como definições, conceitos, objetivos, benefícios e limitações. Além disso, serão apresentados dois exemplos de processo que podem ser utilizados para apoiar o desenvolvimento de arquiteturas de referência. O entendimento deste tema é útil uma vez que estas arquiteturas permitem a reutilização de conhecimento e experiência de projetos o que fornece mais qualidade e agilidade no processo de desenvolvimento.
Autores: Edson A. Oliveira Junior e Ana Paula Allian

As exigências em aumentar a funcionalidade, qualidade e manter um padrão de software, além de reduzir custos, levou a comunidade de engenharia de software a investigar e propor uma infraestrutura central conhecida como arquitetura de referência.

Arquitetura de Referência (AR) é um tipo especial de arquitetura de software e refere-se a uma arquitetura que engloba o conhecimento sobre como projetar arquiteturas de software concretas dos sistemas de um determinado domínio de aplicação. Tal arquitetura deve considerar as regras de negócio, estilos ou padrões arquiteturais que abordam os atributos de qualidade da AR. Além disso, deve abranger as melhores práticas de desenvolvimento de software, por exemplo, decisões de arquitetura, restrições de domínio, legislação e normas, além dos elementos de software que suportam o desenvolvimento de sistemas para esse domínio.

Neste artigo apresentaremos uma visão geral sobre arquiteturas de referência, abrangendo terminologias relacionadas à área de pesquisa de arquitetura de software com objetivo de elucidar as definições de termos relacionados a ela. Também serão abordados seus principais conceitos, objetivos, definições, benefícios e limitações. Além disso, discutiremos as diferenças existentes entre arquiteturas de referência e arquitetura de linha de produto de software. Também serão apresentados alguns exemplos de arquiteturas de referência consolidas no mercado. Por conseguinte, abordaremos dois processos para se projetar arquiteturas de referência.

Terminologias

Antes de aprofundarmos o conhecimento sobre arquitetura de referência, é importante compreender claramente outros conceitos que envolvem a área de arquitetura de software. Os termos mais utilizados nessa área são: arquitetura de software, padrão arquitetural, estilo arquitetural e modelo de referência.

A arquitetura de software, também chamada de arquitetura concreta, tem sido uma área de pesquisa fundamental em engenharia de software, devido ao seu profundo impacto sobre a produtividade e qualidade de software. Uma arquitetura de software é a estrutura (ou estruturas) do sistema que compreendem os elementos de software, as propriedades externamente visíveis desses elementos e os relacionamentos entre eles. Apesar de promover um conjunto de boas práticas de desenvolvimento de software análogo à arquitetura de referência, há diferenças entre esses dois conceitos que devem ser mencionadas:

· Arquiteturas de referência são definidas em um alto nível de abstração se comparado com arquiteturas de software devido à sua natureza mais geral;

· Arquitetura de software possui um grupo definido das partes interessadas no projeto, enquanto que na arquitetura de referência essa definição não é clara devido à composição de grupos heterogêneos de partes interessadas que pode evoluir em diferentes empresas;

· Arquitetura de referência tem de resolver mais atributos de qualidade arquiteturais comparados a uma arquitetura de software. Há também requisitos não funcionais que são importantes apenas para arquiteturas de referência tais como a aplicabilidade ou viabilidade da arquitetura;

· Arquitetura de software consiste em um grupo de especificações que direcionam o desenvolvimento individual dos módulos de software pertencentes a um sistema.

Padrão arquitetur ...

Este artigo é exclusivo para assinantes. Descubra as vantagens
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo