1. A computer-implemented method comprising: providing a specification describing a business process, said specification comprising at least one input, at least one output, and at least one requirement referencing said at least one input and said at least one output; generating a specification model based on said specification, wherein said specification model incorporates said at least one input, said at least one output, and said at least one requirement; constructing a control flow of a software component based on said specification model, wherein constructing said control flow comprises: (i) inserting a call to a programming routine into said control flow for each of said at least one requirement of said specification model; and (ii) generating a template representing said control flow, wherein said template comprises at least one software sub-component representing said at least one input and at least one software sub-component representing said at least one output; and generating at least one partial implementation of said software component based on said control flow and said specification model, wherein generating said at least one partial implementation comprises generating a programming routine for each of said at least one requirement of said specification model, wherein a generation module is configured to interpret programming logic specifying an actual programming expression to be used to compute said at least one output and is further configured to interpret a business rule having a textual description, wherein said at least one requirement comprises a plurality of requirements, and wherein generating said at least one partial implementation further comprises, inserting an interface software sub-component into said template upon determining that one of said plurality of requirements is a business rule.