1. A method for automatic extraction of software design from a requirements document, the method comprising: (A) extracting, from the requirements document using a processor, a plurality of passive requirements within the requirements document, and a requirement calling condition for each of the passive requirements to generate a requirements hierarchical decomposition table defining a plurality of decomposition levels and a work-breakdown structure based upon the plurality of passive requirements and corresponding requirement calling conditions; (B) automatically generating, using the processor, an initial hierarchical decomposition design having the plurality of decomposition levels defined by the work-breakdown structure, the initial hierarchical decomposition design including a respective kernel for each of the passive requirements, and control flow between at least some of the respective kernels for some of the passive requirements based on the requirement calling condition; (C) automatically extracting, from the requirements document using the processor, active requirements identifying input and/or output parameters for each decomposition level in the initial hierarchical decomposition design; and (D) generating a current hierarchical decomposition design by inserting, automatically via the processor, the input and/or output parameters into the initial hierarchical decomposition graph for each of the plurality of decomposition levels.