软件发展过程大致出现了三种软件开发模式。
无结构的开发模式。软件是众多过程的集合。
模块结构:又称模块接口化开发。把软件分解为若干模块,模块间通过定义好的接口进行通信。每个模块的划分按照高内聚性和低耦合度两个原则。相对于无结构开发,模块开发的软件结构清晰,易于维护和理解,大大加快了开发的效率。不足是,往往模块接口设计不能完全满足最后的各模块通信的要求。为了实现一个目标,我们往往要做很多决定,往往一个决定基于上一个决定,每个决定的正确与否关系到后面一系列决定,一个错误的决定往往会导出后面一系列错误的决定。模块接口化开发,各模块齐头并进,很难找到一个可靠的决定顺序。
分层结构:1、易保证系统的正确性,自下而上的设计方式,使得每个决定都是有序的。
2、易于维护和扩展。每层模块的增删改,不会影响其他层,只要各层间接口不改变。
3、不足是降低了系统的效率。每执行一个功能,通常要自上而下经过多个层次,这无疑会增加系统的通信开销。
无结构的开发模式。软件是众多过程的集合。
模块结构:又称模块接口化开发。把软件分解为若干模块,模块间通过定义好的接口进行通信。每个模块的划分按照高内聚性和低耦合度两个原则。相对于无结构开发,模块开发的软件结构清晰,易于维护和理解,大大加快了开发的效率。不足是,往往模块接口设计不能完全满足最后的各模块通信的要求。为了实现一个目标,我们往往要做很多决定,往往一个决定基于上一个决定,每个决定的正确与否关系到后面一系列决定,一个错误的决定往往会导出后面一系列错误的决定。模块接口化开发,各模块齐头并进,很难找到一个可靠的决定顺序。
分层结构:1、易保证系统的正确性,自下而上的设计方式,使得每个决定都是有序的。
2、易于维护和扩展。每层模块的增删改,不会影响其他层,只要各层间接口不改变。
3、不足是降低了系统的效率。每执行一个功能,通常要自上而下经过多个层次,这无疑会增加系统的通信开销。