Software Architecture: A Comprehensive Framework and Guide for Practitioners