总体设计就是把软件的功能转化为所需要的体系结构,也就是决定系统的模块结构,并给出模块的相互调用关系、模块间传达的数据及每个模块的功能说明。详细设计就是决定模块内部的算法与数据结构,也是明确“怎么样具体实现这个系统”。编码就是选取适合的程序设计语言对每个模板进行编码,并进行模块调试。测试就是通过各种类型的测试使软件达到预定的要求。维护就是软件交付给用户使用后,对软件不断查错、纠错和修改,使系统持久地满足用户的需求。