Yazılım mimarisi, bir bilgisayar sistemini meydana getiren yazılım bileşenleri, görünür dış özellikleri ve bunlar arasındaki ilişkilerdir. Bilgisayar mühendisliği ve yazılım mühendisliğinde karmaşıklık önemli bir konudur. Mühendisler, önceleri bu sorunu düzgün veri yapılarını kullanarak aşmaya çalıştı. Ancak 1980'lerden beri yazılım mimarisi, karmaşıklaşan sistemlerde yazılım mühendisi öncüleri tarafından kullanılmaktadır. 1990'lardan itibaren tasarım şablonları, formal diller v.s. geliştirildi.