DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Engenharia de Software Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo Engenharia de Software 6 - Fundamentos de Arquitetura de Software

Artigo da Revista Engenharia de Software edição 06.

De que se trata o artigo:

Este artigo apresenta os fundamentos da arquitetura de software. São descritos a importância e o papel da arquitetura de software no processo de desenvolvimento. Também são identificadas as principais atividades realizadas durante o processo de especificação arquitetural.

Para que serve:

Quando tentamos solucionar um problema, é possível identificar diversas soluções que poderiam ser utilizadas visando resolvê-lo. Contudo, outros fatores como custo e eficiência influenciam na escolha da solução a ser adotada. No contexto do desenvolvimento de software, o mesmo pode ser observado ao se analisar os requisitos visando a construção de um software: várias soluções computacionais podem ser definidas para atender a esses requisitos, mas uma análise deve ser feita para definir a mais adequada ao contexto de desenvolvimento da aplicação. Para se representar essas soluções, a arquitetura de software é uma das abordagens que podem ser usadas.

Em que situação o tema é útil:

No entendimento dos fundamentos da arquitetura de software. Conhecimento este fundamental na elaboração da arquitetura de aplicações em projetos reais.

 Quando tentamos solucionar um problema, é possível identificar diversas soluções que poderiam ser utilizadas visando resolvê-lo. Contudo, outros fatores como custo e eficiência influenciam na escolha da solução a ser adotada. No contexto do desenvolvimento de software, o mesmo pode ser observado ao se analisar os requisitos visando a construção de um software: várias soluções computacionais podem ser definidas para atender a esses requisitos, mas uma análise deve ser feita para definir a mais adequada ao contexto de desenvolvimento da aplicação.

Para se representar essas soluções, a arquitetura de software é uma das abordagens que podem ser usadas. Com isso, para se obter a arquitetura (solução) mais adequada para atender aos requisitos do software (problema), uma avaliação dessa estrutura deve ser realizada.

A arquitetura consiste em um modelo de alto nível que possibilita um entendimento e uma análise mais fácil do software a ser desenvolvido.  O uso de arquitetura para representar soluções de software foi incentivada principalmente por duas tendências (GARLAN e PERRY, 1995; KAZMAN, 2001): (1) o reconhecimento por parte dos projetistas que o uso de abstrações facilita a visualização e o entendimento de certas propriedades do software, e (2) a exploração cada vez maior de frameworks visando diminuir o esforço de construção de produtos através da integração de partes previamente desenvolvidas.

Outra propriedade da arquitetura é a possibilidade de usá-la como ferramenta para comunicar a solução projetada aos diversos stakeholders que participam do processo de desenvolvimento do software (GARLAN, 2000). Contudo, para que essa comunicação seja possível, a arquitetura deve ser representada através de um documento, conhecido como documento arquitetural.

Para se construir a arquitetura de um software, e por conseqüência o documento arquitetural que a representa, os requisitos são as principais informações usadas. Durante o processo de especificação arquitetural (Figura 1), além dos requisitos, outras fontes de conhecimento podem ser utilizadas para definir os elementos arquiteturais e a forma como eles devem estar organizados. Entre essas fontes de conhecimento se destacam principalmente a experiência do arquiteto, o raciocínio sobre os requisitos, e os estilos e as táticas arquiteturais.

 


Figura 1. Elementos usados na construção de uma arquitetura.

 

Contudo, existe uma falta de consenso na comunidade em relação tanto aos conceitos e definições básicas quanto à forma de representar uma arquitetura de software (BUSCHMANN et al., 1996; CLEMENTS et al., 2004). Portanto, na próxima seção são descritos os termos aqui adotados e seus respectivos conceitos associados. Além disso, são descritos a importância e o papel da arquitetura de software no processo de desenvolvimento, e, por fim, são identificadas as principais atividades realizadas durante o processo de especificação arquitetural."



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Engenharia de Software Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    1 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Luiz Cesar De Almeida
Olá Rodrigo e Rafael,
 
Em primeiro lugar, parabéns pelo artigo. Li e gostei, mas achei que faltou dar alguns exemplos que tornasse mais claro os conceitos de "Estilos Arquiteturais" e "Táticas Arquiteturais".
No caso das "visões arquiteturais" vocês incluíram uma figura de exemplo que ajudou muito a assimilar o conceito.
Esta é a minha dica.
 
Grande abraço,
Luiz César.
[há +1 ano] - Responder

 



Publicidade
Autor
Rodrigo Oliveira Spínola

Doutor e Mestre em Engenharia de Sistemas e Computação (COPPE/UFRJ). Diretor de Operações da Kali Software (www.kalisoftware.com). Editor Chefe das revistas Engenharia de Software Magazine, SQL Magazine e Web Mobile.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
1   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03