我们之前常说“程序=数据结构+算法”,但很多人都对这个结论有很多的分歧,认为正确的结论应该是“软件=程序+软件工程”,确实后边的结论是前边的改善,比如当写了一个二叉树的遍历算法的实现,在这里二叉树是数据结构,遍历的实现细节是算法。C程序结果。但这个程序基本上没有实际用处。
软件开发会经历几个不同的阶段:玩具阶段->业余爱好阶段->探索阶段->成熟的产业阶段。由此可以看出软件开发是一个由浅入深的过程,所以切不可着急。
软件工程是把系统地,有序的,可量化的方法应用到软件的开发,运营和维护上。
软件具有复杂性,不可见性,易变性,服从性,非连续性。