خصائص البرمجيات