Cada sistema de software tem uma arquitetura, sendo boa ou não. A arquitetura é o conjunto das principais decisões de design sobre um sistema. Uma vez que as decisões de design foram feitas, elas devem ser documentadas. As decisões de projeto são capturadas em modelos. O processo de criação de modelos é chamado de modelagem.
1.1- Definições
Os modelos podem capturar as decisões de projeto de arquitetura com diferentes níveis de rigor e formalidade. Eles permitem que os usuários se comuniquem, visualizem, avaliem e evoluam uma arquitetura. Sem modelos, é quase impossível ter uma arquitetura.
Notações arquiteturais de modelagem variam entre os ricos e ambíguos aos semanticamente estreitos e altamente formais. Enquanto alguns modelos estão em conformidade com uma única anotação, um modelo também pode usar uma mistura de notações diferentes. Por exemplo, um único modelo pode usar a UML, que vimos anteriormente, diagrama de classes unificada para descrever as classes de um sistema.