Progettazione software e architettura software

Qualcuno potrebbe spiegare la differenza tra Software Design e Software Architecture?

Più specificamente; se dite a qualcuno di presentarvi il “design“, cosa vi aspettereste che presentassero? Lo stesso vale per “architettura”.

La mia attuale comprensione è:

  • Progettazione: diagramma UML / diagramma di stream / wireframe semplici (per l’interfaccia utente) per un modulo / parte specifica del sistema
  • Architettura: diagramma dei componenti (che mostra come i diversi moduli del sistema comunicano tra loro e altri sistemi), quale linguaggio deve essere utilizzato, schemi …?

Correggimi se sbaglio. Ho riferito che Wikipedia ha articoli su http://en.wikipedia.org/wiki/Software_design e http://en.wikipedia.org/wiki/Software_architecture , ma non sono sicuro di averli capiti correttamente.