The lifecycle models described are often referred to as “common practice”, the exception being the Spiral Model, which was invented by Boehm [2].
There are however a number of overviews: Sommerville surveys the field of Software Engineering, including a classification of lifecycle models [7], slightly different than ours.
McConnell provides a good overview over software lifecycle models and related
areas, including many “good practices” [5].
The Dynamic Systems Development Method (DSDM) [8] is a process description for software development, defining a detailed lifecycle model. Rational Unified Process (RUP) [4] builds on the same type of process description as DSDM, but is more widely known and spread.
The notion of Software Architecture has been explored by Bass et al [1] and by Garlan and Shaw [6].
The ATAM was described by Kazman et al [3].
Szyperski [9] defines and describes Component-Based Software Engineering.