Além do termo 'arquitetura de software', muitas das referências populares falam do software como um projeto de arquitetura, como 'site em construção', 'home', por exemplo. Não é à toa. Software sem estrutura é como um castelo de areia: divertido de fazer, incômodo para morar.

A arquitetura de um sistema é a abstração dos requisitos que foram documentados. O design nesta etapa não envolve a parte visual, como aparência ou layout; ele define os elementos e como eles se relacionam entre si e com o usuário.

Esta arquitetura serve para

  • ser uma base de análise do comportamento do software antes do desenvolvimento começar
  • verificar se há elementos e decisões que podem ser componentizadas
  • documentar decisões que podem ter grande impacto tanto no orçamento quanto no cronograma
  • oferecer transparência para os envolvidos no processo, como a gerência, usuários internos, desenvolvedores, e incluindo, se houver, os investidores
  • gerenciar riscos
  • reduzir custos

Na medida do possível, fazemos a arquitetura e o design de um software junto com o levantamento dos requisitos.

O objetivo desta etapa é a elaboração de um documento que seja usado como referência durante a vida do novo produto, especialmente ao longo da codificação.