1. A computer-implemented method for facilitating the development and maintenance of a software program, comprising: associating classes of the software program with module declarations for a set of modules; and using the module declarations to manage dependencies in the software program throughout the life cycle of the software program.