Como definir a arquitetura de um sistema?

Como faço para definir a arquitetura para um sistema?
O que levar em consideração?

Requisitos funcionais e não funcionais.
http://pt.wikipedia.org/wiki/Engenharia_de_requisitos :smiley:

[quote=FernandoFranzini]Requisitos funcionais e não funcionais.
http://pt.wikipedia.org/wiki/Engenharia_de_requisitos :smiley: [/quote]
Realmente isso é a base de tudo.
Seria o pensar antes de agir.