Способы классификации программного обеспечения