Arquitetura do Sistema - Decisões de Arquitetura
O propósito desta seção é reunir e apresentar as decisões arquiteturais relacionadas ao projeto, detalhando as razões e justificativas que motivaram cada decisão.
Sendo um ponto único de acesso às informações relacionadas com decisões de arquitetura do projeto, este documento visa preservar a integridade do desenho da arquitetura e dos elementos que surgirão com base nessa arquitetura, assegurar a consistência entre todas as decisões tomadas e evitar reconsideração de decisões já tomadas.
DA01 – Linguagem para Programação do Backend
Descrição do Problema | Escolher a linguagem de programação mais adequada para programar o backend do sistema da Fundação Ary Frauzino. |
Premissas | Linguagem moderna, não proprietária, baseada em padrões abertos, ampla utilização no mercado e referência para desenvolvimento de projetos de sistemas web. |
Alternativas |
|
Motivação |
|
Decisão de Arquitetura | Backend programado em linguagem Java. |
Justificativa | O conhecimento técnico dos profissionais da Fundação em trabalhar com Java/JEE, ampla documentação disponível, maturidade tecnológica no uso desta linguagem de programação para sistemas corporativos complexos e melhor desempenho comprovado da runtime web fundamentam esta decisão. |
Implicações | A equipe do projeto deve ser constituída por profissionais com conhecimento de programação Java/JEE |
DA02 – Linguagem para Programação do Frontend
Descrição do Problema | Escolher a linguagem de programação mais adequada para programar o frontend do sistema da Fundação Ary Frauzino. |
Premissas | Linguagem moderna, não proprietária, baseada em padrões abertos, ampla utilização no mercado e referência para desenvolvimento de projetos de sistemas web. |
Alternativas |
|
Motivação |
|
Decisão de Arquitetura | Frontend programado em linguagem AngularJS 2. |
Justificativa | AngularJS apresenta maior abrangência e compatibilidade tecnológica (adequada para aplicações web, desktop, mobile), apresentam melhor tempo de resposta para renderizar o frontend e possui uma sintaxe muito mais clara e fácil de entender pois trabalha com padrões amplamente utilizados no mercado (HTML, CSS e Javascript) de aplicações web. |
Implicações | A equipe do projeto deve ser constituída por profissionais com conhecimento de programação AngularJS 2. |