02.26.09

Arquitetura de Sistemas

Enviado em Arquitetura de Sistemas, Técnologia tagged às 9:41 pm por Pablo Luiz Leon

O que ser arquitetura de sistemas?

Acredito que seja uma pergunta interessante, você consegue definir muito bem uma arquitetura de sistemas?

Algumas inumeras perguntas me veio a cabeça quando me deparei com esse tema, pensei comigo, primeiramente o que é arquitetura de sistemas?

Para que ela serve?

O que ela abrange?

Por que um arquiteto é bem remunerado (na maioria das vezes)?

Bom, depois de alguns anos e tempo trabalhando com TI, leitura de alguns livros interessantes, artigos, acho que hoje tenho segurança em expor o que apreendi e responder essas perguntas que acredito que muita gente se pergunta.

Arquitetura de Sistemas - Um sistema tem os componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares já existentes, toda essa informação de componentes, relacionamentos, propriedades externas, caracteristicas internas, tudo isso é ligado a Arquitetura de Sistemas, explicar esse tema pode ser um dialogo complexo, ou simplicado. Basicamente arquitetar, é basear-se em padrões, informações, premissas, restrições e montar uma comunicação entre os elementos existentes ou que serão criados para que a sinergia de todos esses itens, consigamos ter o tão sonhado software, sistema e etc.

A Arquitetura é fundamental, para qualquer sistema de média ou alta complexidade, acredito que excluir os sistemas de baixa complexidade de uma analise arquitetural ou criação de arquitetura seja válido, pois isso não justificaria o custo de um arquiteto, e também quase sempre projetos de baixisima complexidade demanda, utlização de várias tecnologias, e elementos externos maduros e coesos para seu funcionamento.

A arquitetura depois de formada, validada, e executada, através de seus diagramas dá uma visão do todo, das dependências, relacionamentos, propriedades, meios fisicos de execução, capacidade de execução, entre outras informações. Todo projeto de médio e grande porte deve ter seu suporte arquitetonico, pois o que mais doi no final, a parte mais dolorosa é mexer no legado. Ter um prazo, uma atividade, e ter que colocar a mão em algo que não foi bem construido, não foi bem pensado, e que as vezes por falta de alguns diagramas ou análises iniciais, e também a falta de Horizonte maior, faz com que seja doloroso e arduo a manutenção de sistemas legados.

Se temos como principio que sempre haverá manutenção em qualquer sistema, não ter arquitetura sistêmica do que se mexe é um problema classico e visivel em muitas empresas.

Alguns dos lugares que passei por essa minha vida, é sempre notavel que só se tem noção que uma arquitetura deve ser feita sempre, quando se enfrenta um grande projeto, ou também de médio porte, quando se olha o tempo, o custo e se descobre que.

Ha, se eu soubesse que aquilo ficaria assim! Há se eu soubesse que hoje teria que fazer isso!

São afirmações classicas de qualquer profissional de TI, que não planejou, não pensou no que está concebendo qual o poder de crescimento da sua criatura.

Por isso a resposta é basicamente, arquitetura de sistemas nasceu, e existe para fazer nós humanos, a pensar, a planejar, a documentar e a estruturar uma aplicação pensando ou não em seu crescimento arquitetar é pensar estruturalmente em meios lógicos e fisicos de como prover uma solução para uma demanda qualquer de projeto de TI.

Aquele famoso conto, que arquiteto planeja a casa, testa e aprova os elementos da casa, posições dos itens da casa, sua edificação, estrutura para suportar tudo que será acrescido e formará a casa. Quem nunca ouviu uma explicação parecida com essa, quando se apreende arquitetura de sistemas?

Para que ela serve?

Básicamente, a arquitetura de sistemas, serve para prover documentos, especificações, informações, ditar premissas, restrições do projeto em ambito de requisitos não funcionais ou funcionais do sistema que nascerá sobre esses alicersses. É um meio muito útil e um forte exercicio de arquitetura pode ajudar a todos os envolvidos a enxergar o poder de crescimento e até aonde a aplicação conseguiria chegar seguindo essas restrições e carateristicas lógicas e físicas. O que mais fixa em qualquer profissional que trabalha com desenvolvimento é que a arquitetura deve ditar padrões e restrições de desenvolvimento, pelo simples fato, de que se foi pensando e estruturado um item para ter tal comportamento não se deve quebrar essas regras. No modo mais simples de explicar é, se a planta da casa mostra que na sala haverá duas portas, sendo que uma porta é sanfonada e a outra porta balcão. Então o desenvolvedor não deve colocar duas portas convencionais, na sala, pois poderá trazer algum maleficio no futuro.

O que ela abrange?

Arquitetura de Sistemas, abrange todas as partes do aplicativo, quando falamos de itens de macro visão dentro do projeto, até a uma tecnologia especifica a uma determinada parte de um sistema. Basicamente tudo que envolve o aplicativo, sua infra estrutura, para funcionamento, capacidade de processamento, relacionamento com outros ambientes do computador, interface com dispositivos, velocidade de transferencia de dados, funcionamento lógico ou camadas lógica da aplicação. Em uma arquitetura bem montada e estruturada através dos diagramas de UML é capaz de se detectar até requisitos não funcionais que são premissas do projeto, por exemplo: Alta disponiblilidade, estalabilidade, carga, tempo de resposta, segurança e etc. Ai também entraremos em um assunto que deriva outro post, que prometo fazer em um momento próximo, que seriam os mecanismos arquiteturais.

Por que um arquiteto é bem remunerado (na maioria das vezes)?

Essa pergunta, depois de apreender um pouco sobre arquitetura, foi muito simples de responder para mim mesmo. O projeto, a base de tudo está sobre a responsabilidade do arquiteto de sistemas, ele deve ter sempre interface com os stakeholders do projeto. Deve sempre estar municiado de todas as informações técnicas do projeto em sua concepção. Buscando sempre enxergar o que o cliente necessita, para fornecer através de diagramas e proposta uma solução propósta para cobrir todas as necessidades do cliente. Também ter a visibilidade do que aquele sistema pode torna-se para a empresa. Por isso um bom arquiteto também deve conhecer um pouco do negócio, mergulhar em dinamica de trabalho do cliente, fluxos, premissas, perfomace, isso não é uma regra mais ajuda produzir uma arquitetura mais coeza, mais propicia ao projeto do cliente. O Arquiteto tem que além de se preoculpar com os requisitos funcionais, os não funcionais do sistema e o principal, estimular-se ao máximo afim de fechar todos os gaps possiveis que possam jogar seu projeto no lixo.

Acredito mesmo no velho conto, que o arquiteto faz a planta do aplicativo, o arquiteto também diz qual o cimento a se usar e qual o tipo de tijo mais propicio para a parece do quarto ou sala, se trocar essas informações por items de software e hardware vamos efetivamente enxergar por que esse profissional é tão respeitado e bem remunerado.

Como ser arquiteto de sistemas?

Bom, acredito que uma bela base teorica, uma forte visão global de várias soluções e tipos de tecnologia ajuda a um profissional sair de uma carreira de analista de sistemas senior para se tornar um arquiteto de sistemas, estudar bastante desenvolvimento, frameworks (levando em consideração que hoje basicamente falamos em arquitetura baseada em compoentes) também é fundamental. Pensar micro e macro em cada detalhe do sistema e da necessidade, olhando Hardware e software torna você capaz, de pensar, estruturar, provar, testar (protótipo) e validar uma arquitetura. Lembrando que pode ser muito bem falada pelos profissionais que colocaram a mão ou muito mal falada. Acredito que essa questão, com humildade, esforço, estudo (prático e teorico) vai ajudar você a ter mais segurança no que propor e o que propor como solução para um sistema em um projeto de TI.

 

Acho que é isso hoje.

 

Abraço até a próxima. :P

1 Comentário »

  1. Ficou bem legal este texto. Parabéns, um dia ainda vou ser um arquiteto de sistemas :)


Deixe um comentário