اصول معماری نرم‌افزار، ویرایش دوم