计算机软件可分为什么