Iniciante em Arquitetura de Software

Olá pessoal,

Estou fazendo uma cadeira de Arquitetura de Software.
O professor passou uma descrição de um sistema e perguntou qual seria uma boa arquitetura para se aplicar e vou ter que desenvolve-la no decorrer da cadeira para verificar se houve desgaste da arquitetura entre outras verificações.
Gostaria de pedir alguma fonte de pesquisa para ver quais são os tipos de arquiteturas existentes para eu ver qual seria a melhor para esse sistema.
E se possível algumas dicas de arquitetura de software, para que eu possa fazer um trabalho bacana.
Não vou colocar aqui a descrição do sistema porque não quero que ninguém faça por mim, mas é um sistema simples em java.

Estou no aguardo.
Grato.

Amigo, uma boa fonte, seria um bom livro de arquitetura de software e um bom livro de padrões de projeto hehe. Recomendo o Use a Cabeça Padrões de Projeto.

E lembre-se é sempre bom utilizar o nosso amigo, MVC e temos também o MVVM. Pesqusia ai da pra dar um up no seu projeto.

Uma dica simples: a arquitetura deve se adaptar aos requisitos do sistema e não o contrário. Ignorar isso causa aquela velha bobagem de “arquitetura de referência” sendo usada pra qualquer projeto que aparece.

Boa apostila de Design Patterns em java, é só baixar:
http://www.k19.com.br/downloads/apostilas
Até mais.

[quote=Otávio[UFC]]Olá pessoal,

Estou fazendo uma cadeira de Arquitetura de Software.
O professor passou uma descrição de um sistema e perguntou qual seria uma boa arquitetura para se aplicar e vou ter que desenvolve-la no decorrer da cadeira para verificar se houve desgaste da arquitetura entre outras verificações.
Gostaria de pedir alguma fonte de pesquisa para ver quais são os tipos de arquiteturas existentes para eu ver qual seria a melhor para esse sistema.
E se possível algumas dicas de arquitetura de software, para que eu possa fazer um trabalho bacana.
Não vou colocar aqui a descrição do sistema porque não quero que ninguém faça por mim, mas é um sistema simples em java.
Estou no aguardo.
Grato.[/quote]

Como ja foi dito, a arquitetura é formada a partir dos requisitos a ser resolvidos. Na pratica, não usamos arquiteturas pré fabricadas…é um dos piores erros!
Mas como é apenas um trabalhado…vc pode usar alguma sim. Esse livro aqui tem ± 6 opções das variações das arquiteturas mais utilizadas - Patterns of Enterprise Application Architecture ? Martim Fowler ? Bookman.
Se tiver interessado em gastar um pouco e aprender mais veja - http://fernandofranzini.wordpress.com/2013/06/28/consultoria-arquitetural/

[quote=FernandoFranzini][quote=Otávio[UFC]]Olá pessoal,

Estou fazendo uma cadeira de Arquitetura de Software.
O professor passou uma descrição de um sistema e perguntou qual seria uma boa arquitetura para se aplicar e vou ter que desenvolve-la no decorrer da cadeira para verificar se houve desgaste da arquitetura entre outras verificações.
Gostaria de pedir alguma fonte de pesquisa para ver quais são os tipos de arquiteturas existentes para eu ver qual seria a melhor para esse sistema.
E se possível algumas dicas de arquitetura de software, para que eu possa fazer um trabalho bacana.
Não vou colocar aqui a descrição do sistema porque não quero que ninguém faça por mim, mas é um sistema simples em java.
Estou no aguardo.
Grato.[/quote]

Como ja foi dito, a arquitetura é formada a partir dos requisitos a ser resolvidos. Na pratica, não usamos arquiteturas pré fabricadas…é um dos piores erros!
Mas como é apenas um trabalhado…vc pode usar alguma sim. Esse livro aqui tem ± 6 opções das variações das arquiteturas mais utilizadas - Patterns of Enterprise Application Architecture ? Martim Fowler ? Bookman.
Se tiver interessado em gastar um pouco e aprender mais veja - http://fernandofranzini.wordpress.com/2013/06/28/consultoria-arquitetural/[/quote]

ao longo de um projeto podem ocorrer pequenas mudanças na arquitetura, ou essas mudanças são decorrentes de uma má análise inicial ?

Se for mudanças para correções de erros e problemas…sim!
Se for mudanças para comportar novas features e nova demanda…não!

Objetivo principal de um arquiteto de software é ter know-how para projetar uma solução compatível com os requisitos atuais da corporação empregadora, que tenha flexibilidade suficiente para comportar mudanças futuras ou novos requisitos resultantes de sua evolução ao longo do tempo.

Se for mudanças para correções de erros e problemas…sim!
Se for mudanças para comportar novas features e nova demanda…não!

Objetivo principal de um arquiteto de software é ter know-how para projetar uma solução compatível com os requisitos atuais da corporação empregadora, que tenha flexibilidade suficiente para comportar mudanças futuras ou novos requisitos resultantes de sua evolução ao longo do tempo.
[/quote]

tem como vc me mandar um exemplo real de uma proposta arquitetural profissional. tenho interesse em saber quais as arquiteturas que as empresas andam usando por ai.

Então Douglas…

Vc pode encontrar cases em vários livros, principalmente de certificações para arquiteto Java.

  • Enterprise Enterprise JavaBean 3.0 by Bill Burke (chapter 21)
  • Sun Certified Enterprise Architect for Java EE Study Guide by Mark Cade and Humphrey Sheil.
  • Sun Certified Enterprise Architect for Java EE Study Guide (Exam 310-051) by Paul Allen and Joseph Bambara
  • Oracle Certified Master, Java EE Enterprise Architect Practice Guide by Amritendu De
  • Revista Mundo Java Edição 35 Artigo SCEA5 Certificação de Arquiteto ? Artigo completo sobre um projeto e a solução fictício escrito por Marcio Varchavsky.

Vale lembrar que não existe uma forma padrão para isso. Existem hoje arquitetos chamados de “AGILE” que já estão afirmando que a UML não é mais compatível com as arquiteturas modernas da atualidade - http://www.infoq.com/articles/agile-software-architecture-sketches-NoUML

E por ai a vai…o assunto é longo…kkk

Tenho interesse nessa área também, acho que um bom arquiteto deve ter um conhecimento profundo técnico, de diversos frameworks do mercado e ferramentas que estão disponíveis para serem usadas, ter capacidade de otimizar códigos e propor a melhor solução para as necessidades do cliente.

[quote=FernandoFranzini]Então Douglas…

Vc pode encontrar cases em vários livros, principalmente de certificações para arquiteto Java.

  • Enterprise Enterprise JavaBean 3.0 by Bill Burke (chapter 21)
  • Sun Certified Enterprise Architect for Java EE Study Guide by Mark Cade and Humphrey Sheil.
  • Sun Certified Enterprise Architect for Java EE Study Guide (Exam 310-051) by Paul Allen and Joseph Bambara
  • Oracle Certified Master, Java EE Enterprise Architect Practice Guide by Amritendu De
  • Revista Mundo Java Edição 35 Artigo SCEA5 Certificação de Arquiteto ? Artigo completo sobre um projeto e a solução fictício escrito por Marcio Varchavsky.

Vale lembrar que não existe uma forma padrão para isso. Existem hoje arquitetos chamados de “AGILE” que já estão afirmando que a UML não é mais compatível com as arquiteturas modernas da atualidade - http://www.infoq.com/articles/agile-software-architecture-sketches-NoUML

E por ai a vai…o assunto é longo…kkk[/quote]

imagino que seja bem longo mesmo, ainda mais quando ouço falar sobre arquitetura SOA, distribuída.

gosto desses assuntos, preciso me inteirar mais.

Como falaram sem os requisitos ou tipo de aplicação ao menos fica difícil resposta prática.

Da uma olhada em MVC e MVP