一个复杂的软件不但要有合理的软件架构、软件设计与实现、还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等。
1).玩具阶段
2.)业余爱好阶段
3.)探索阶段
4.)成熟的产业阶段
软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
1)复杂性
2)不可见性
3)异变性
4)服从性
5)非连续性