1. A method of constructing a software application, comprising: reading one or more complete and consistent specifications that define, at least in part, a software application; generating by a processor a data storage structure for storing data of the software application automatically based, at least in part, upon one or more design elements within the one or more complete and consistent specifications; generating by the processor at least one unit of code automatically based, at least in part, upon the one or more design elements within the one or more complete and consistent specifications; and constructing by the processor a first application from the at least one unit of code and data storage structure, wherein constructing the first application includes one or more of: identifying one or more process actions to be implemented in the first application; identifying one or more units of code associated with the one or more process actions; and creating at least one additional unit of code for the one or more process actions that invokes at least one of the one or more identified units of code.