مبانی و مفاهیم بنیادی در مهندسی نرم‌افزار و سخت‌افزار