Класифікація та загальна характеристика програмного забезпечення