sábado, 11 de outubro de 2014

Leia um pouco sobre a Arquitetura de Software!


Arquitetura de Software




Introdução

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