Criar um aplicativo envolve muito mais que apenas ter uma ideia ou saber uma linguagem de programação. É necessário planejar, definir as ferramentas que você vai usar, como frameworks que melhor funcionem para o projeto.
Pode ser que esse planejamento inicial não seja o melhor e, com certeza, precisará de alguns ajustes, mas desta primeira iteração pode vir o sucesso ou fracasso de um aplicativo. É aqui que entra o conceito de arquitetura de software.
O que é arquitetura de software?
De forma simples, arquitetura de software são os padrões que ajudam na construção de um programa. Estes padrões servem de guia para os desenvolvedores, analistas e todos os cargos relacionados para poder cumprir com os requisitos do aplicativo.
Por que é importante a arquitetura de software?
Como mencionado, a arquitetura de software nos traça um caminho pelo qual seguir para alcançar os requisitos do aplicativo, portanto temos que analisar cada um destes requisitos para definir o que vai ser feito e como. Aqui é onde se começa a definir coisas como servidores, tecnologias, banco de dados e outros.
Um dos objetivos da arquitetura de software é criar uma estrutura do aplicativo que seja facilmente escalável e modular (que os componentes não dependem fortemente um dos outros e funcionem de maneira independente, ou seja, eles têm fraco acoplamento e alta coesão).
Definição da estrutura
Para definir da melhor forma a estrutura do nosso aplicativo com base na arquitetura de software, temos 4 etapas principais:
-
Requisitos: Nesta etapa, se coleta dados, informações e são documentados os requisitos que influem na arquitetura do aplicativo. Por exemplo, a cor de um menu não afeta a arquitetura, mas sim a forma como se armazenam os dados.
-
Design: Esta é a etapa mais crucial, aqui se define o uso das tecnologias mais adequadas para resolver o problema, não se deve escolher uma tecnologia apenas por preferência pessoal ou por “estar na moda”. Também se levam em conta padrões como, por exemplo, MVC (Modelo, Vista, Controlador) ou arquitetura de microsserviços.
-
Documentação: Após ter definido o design necessário para comunicar o que se deseja de maneira eficiente e eficaz a todos os envolvidos, é importante criar documentação que sirva como referência de trabalho para todos.
-
Avaliação: É importante, assim que tiver a documentação, avaliar. Isto pode ser feito mesmo sem ter escrito uma única linha de código e ver com todos os envolvidos se há algo no design que possa não funcionar e fazer os ajustes necessários. Esta avaliação deve ser feita também posteriormente tendo métricas, por exemplo, do rendimento do aplicativo e saber se uma mudança específica afeta de maneira positiva ou não o rendimento.
Aprenda mais sobre arquitetura de software fazendo o Curso de Arquitetura de Software aqui na Platzi.