domingo, 11 de maio de 2014

Arquitetura de Software?





     Arquitetura de Software é um conjunto de decisões significativas sobre a organização de um sistema de software, a seleção de elementos estruturais e suas interfaces juntamente com o comportamento especificado nas colaborações entre estes elementos, a composição destes elementos em subsistemas progressivamente maiores e o estilo arquitetural que guia esta organização (IBM).


     Arquitetura é a organização fundamental de um sistema materializado em seus componentes, na relação entre eles e com o ambiente e nos princípios que guiam seu projeto e evolução (IEEE)


     A arquitetura de software define quais serão os elementos que constituirão o software (módulos) seus relacionamentos e pelos princípios (padrão) que conduzem seu design e evolução.


     Ela está preocupada em compreender como deve ser organizado os elementos do sistema e suas estruturas. No processo de desenvolvimento de software, o projeto de arquitetura é um dos principais estágios que liga o projeto à engenharia de requisitos, pois é nesta fase que são identificados os principais componentes, estruturas e seus relacionamentos. O resultado do projeto de arquitetura é um modelo que descreve como deve ser organizado os elementos (componentes ou módulos) do sistema e de que forma estes elementos irão se comunicar (protocolos de comunicação).


     O projeto de arquitetura de sistema é muito importante, pois afeta diretamente o desempenho, a robustez do software, a capacidade de distribuição e na sua manutenção. Cada componente individua representa um requisito funcional do sistema, já os requisitos não funcionais dependem da arquitetura do sistema ou seja a forma como estes componentes estão organizados e da comunicação entre eles.

Bass et al. (2003) discute três vantagens de projetar e documentar a arquitetura de software.
  • Comunicação de stakeholders. A arquitetura é uma apresentação de alto nível do sistema e pode ser usada como um foco de discussão por uma série de diferentes stakeholders.
  • Análise de Sistemas. Tornar explícita a arquitetura de sistema, em um estágio inicial do desenvolvimento, requer alguma análise. As decisões de projeto de arquitetura tem um efeito profundo sobre a possibilidade de o sistema atender ou não aos requisitos críticos, como desempenho, confiabilidade e manutenibilidade.
  • Reuso em larga escala. Um modelo de arquitetura de sistemas é uma descrição compacta e gerenciável de como um sistema é organizado e como os componentes interoperam. A arquitetura do sistema geralmente é a mesma com requisitos semelhantes e, por isso, pode apoiar o reuso de software em grande escala.

     Não há dúvida de que o mundo está se tornando cada vez mais dependentes de software. Software é um elemento essencial no mundo corporativo e por que não dizer nas nossas vidas em particular. Mesmo as organizações tradicionais, como organizações financeiras, varejo e setor público, não sobreviveriam sem a presença forte de um software. Hoje em dia, a aplicação de softwares em seus negócios.

     Para que estas organizações sobrevivam, o software de que eles dependem devem fornecer a capacidade exigida, ter qualidade suficiente, estar disponível quando prometido, e ser entregue a um preço aceitável.

     Todas essas características são influenciadas pela arquitetura do software.



Nenhum comentário:

Postar um comentário