25. A computer program product comprising a non-transitory computer usable medium having a computer readable program code embodied therein for improving modularity of software system, the computer program product comprising: program instructions for receiving a source code; program instructions for parsing the source code for creating a model of the source code; program instructions for storing the source code model, refactoring operators, and a record of refactoring changes, wherein each refactoring operator comprises a defined source code function, and each refactoring change comprises an alteration to the source code such that external behavior of the source code subsequent to alteration conforms to external behavior of the source code prior to alteration; program instructions for evaluating modularity of the source code and generating modularity problem diagnosis data, wherein the modularity problem diagnosis data comprises information corresponding to identified modularity problems; program instructions for identifying structural, architectural, conceptual, and size based modularity defects in the source code; program instructions for generating a set of prescriptive suggestions for each defect, the set of prescriptive suggestions comprising a list of operations for improving modularity of the source code; program instructions for evaluating effect of each prescriptive suggestion on overall software modularity of the source code; and program instructions for selecting optimal prescriptive suggestions from the set of prescriptive suggestions based on a predetermined criteria, and presenting the optimal prescriptive suggestions to user via user interface; wherein modularity is a logical partitioning of the software source code into software modules, each module comprising a logical unit.
25. A computer program product comprising a non-transitory computer usable medium having a computer readable program code embodied therein for improving modularity of software system, the computer program product comprising: program instructions for receiving a source code; program instructions for parsing the source code for creating a model of the source code; program instructions for storing the source code model, refactoring operators, and a record of refactoring changes, wherein each refactoring operator comprises a defined source code function, and each refactoring change comprises an alteration to the source code such that external behavior of the source code subsequent to alteration conforms to external behavior of the source code prior to alteration; program instructions for evaluating modularity of the source code and generating modularity problem diagnosis data, wherein the modularity problem diagnosis data comprises information corresponding to identified modularity problems; program instructions for identifying structural, architectural, conceptual, and size based modularity defects in the source code; program instructions for generating a set of prescriptive suggestions for each defect, the set of prescriptive suggestions comprising a list of operations for improving modularity of the source code; program instructions for evaluating effect of each prescriptive suggestion on overall software modularity of the source code; and program instructions for selecting optimal prescriptive suggestions from the set of prescriptive suggestions based on a predetermined criteria, and presenting the optimal prescriptive suggestions to user via user interface; wherein modularity is a logical partitioning of the software source code into software modules, each module comprising a logical unit. 26. The computer program product of claim 25 , further comprising: program instructions for performing modularity analysis using the source code model and architectural description document of source code; and program instructions for identifying structural, architectural, conceptual, and size based modularity defects in the source code.