O que viria a ser arquitetura de software?

Muito se fala sobre arquitetura de software, sobre os padrões arquiteturais, como MVC, por exemplo, mas o que seria necessariamente uma arquitetura de software? Seria a organização de um software?

1 curtida

Esse é mais um termo que é muito usado na área sem uma definiçao exata. Diferentes pessoas entendem arquitetura de maneira diferente. O ideal é sempre esclarecer com quem estiver falando, o que eles querem dizer com aquilo.

Tem uma definiçao interessante do Martin Fowler que diz que arquietura de software sao decisoes que sao ao mesmo tempo importantes e dificeis de mudar.

Você pode usar essa se quiser algo mais “formal”

Arquitetura é aquilo que as pessoas tendem a discutir quando não sabem do que estão falando, mas precisam passar a impressão de que sabem.

3 curtidas

O que um arquiteto faz? Modela e estrutura um projeto. Ele planeja, constrói um projeto para ser executado.
A arquitetura de software do meu ponto de vista, vem a ser, os métodos utilizados para a construção de um projeto.
Por exemplo, comunicação para saber o que o usuário precisa, os requisitos, como deve ser construído, o que será usado, entre outras coisas.
Arquitetura de Software: métodos, para construção de um sistema. Acho que pode se resumir assim.

Se você criar uma aplicação usando erlang, ela vai herdar a arquitetura distribuída e tolerante a falhas em ambiente tempo real da plataforma erlang. Neste caso a arquitetura é definida pela plataforma que você escolheu rodar, e não o método que você usou pra criar, a aplicação.

Você esta dizendo que um arquiteto poderia projetar WhatsApp em C++ se um cliente solicitar e usar SCRUM?!?!?!

Se depender dos usuários eles querem sempre a mesma coisa, só que mais rápido…

1 curtida

Um artigo a respeito com um bom exemplo…

Com certeza a definição do pfk66 é a melhor!

Mas, deixe-me divagar um pouco, já que isso é um ótimo assunto para uma mesa de bar!

Existem muitas definições formais de arquitetura como o da IEEE e a própria definição de arquiteto do exame da Oracle. Gosto dessa do Vitruvius, retirada de muitos textos sobre arquitetura:

“O arquiteto ideal deve ser um homem com conhecimento de letras, matemática, familiar com estudos da história, estudioso incansável de filosofia, familiarizado com a música, não ignorante em medicina, conhecedor de respostas em jurisprudência, familiarizado com astronomia e cálculos astronômicos”

Como a ciência da computação é relativamente recente, muitos dos estudiosos vinham de outras áreas e faziam analogias com sua formação de origem. Por exemplo, o termo Design Patterns veio da construção civil. Diz a teoria da conspiração que a engenharia civil e a arquitetura tiveram sua origem na maçonaria dado que têm em comum os ícones do compasso e régua que os representam.

Os conhecimentos de arquitetura eram dados para uma elite, a burguesia. Analogamente, o arquiteto do sistema é aquele desenvolvedor mais experiente da sua empresa que sabe das nuances do software. Você o consulta quando precisa implementar um novo requisito ou quando dá pau. Para você entrar na turminha dele, você tem que participar de um ritual, como descrito no livro Código da Vinci.

2 curtidas

Arquitetura é arte de organizar sua solução diligentemente de forma com que vc tire vantagens disso.
Veja aula grátis sobre - https://fernandofranzini.wordpress.com/2016/07/04/for-j-ead-aula-de-introducao-a-arquitetura-de-software/
Veja curso completo sobre - https://for-j.myedools.com/aqt-m1-introducao-a-arquitetura-de-software-com-java