计算机软件一般分为