软件的定义:软件由精心编排的解释程序、编译器以及自动编程的其他方面组成,它们至少像电容器、晶体管、电线和磁带等现代计算机硬件一样重要。

 软件的特点:1.具有抽象性  2.无明显的制造过  3.存在退化问题   4.对计算机系统有着不同程度的依赖性   5.尚未完全摆脱人工的开发方式  6.软件本身是复杂的

        7.成本相当昂贵  8.相当多的软件工作涉及社会因素