1. A method for automatically generation program code, the method comprising the computer-implemented steps of: examining an input directory containing a plurality of sub-directories and files that form a software design specification that specifies how a software system is to be implemented, wherein examining the input directory includes identifying a section of the software design specification that defines a software class; identifying a tree directory structure of the input directory that contains the plurality of sub-directories and files that form the software design specification; creating an output directory having a tree directory structure that is subset of the tree directory structure of the input directory; traversing the input directory over the tree directory structure to identify and examine one or more files that form the software design specification; detecting one or more designated characteristics of the software system from examining the one or more files that form the software design specification; and if the one or more designated characteristics indicate that the one or more files are associated with program code, then automatically generating program code for implementing at least a portion of the software system based upon the designated characteristics; and storing a plurality of files containing the program code in the output directory that has a tree directory structure that is subset of the tree directory structure of the input directory, wherein storing the plurality of files includes storing at least one file containing code for each identified software class to a node of the output directory, wherein the node of the output directory is based on a node where a file containing the software class is designated in the input directory containing the plurality of sub-directories and files that form the software design specification.