Hierarchical functional and variable composition diagramming of a programming class
AssigneeInternational Business Machines Corporation
InventorsVIKAS CHANDRA, SARIKA SINHA
Life of this patent
Estimating the term…
Abstract
Inheritance contributions of programming class functions and class variables are diagrammed. A functional diagram illustrates individual class contributions of functions. A variable composition diagram illustrates individual class contributions of variables. A diagrammatic depiction of functions overridden and functions contributed in the inheritance hierarchy is provided. Functions which are unique, overridden and/or have contributions in different classes of the hierarchy are visually distinguished (e.g., by distinguishing marks). Classes in the hierarchy are graphically depicted with relative sizes based on percent contribution.
Claims20
A computer based method of designing software comprising:
- in a digital processor:
- receiving user selection of a programming object of a program model displayable in a screen view of a software engineering system;
- determining corresponding class of the user selected programming object and determining a class hierarchy, the class hierarchy including the corresponding class and any ancestor classes, wherein the corresponding class and each ancestor class is formed of respective functions and variables;
- generating a diagram depicting the functions as contributed by respective ones of the corresponding class and ancestor classes, such that the diagram illustrates class inheritance of the user selected programming object by depicting which classes in the hierarchy contribute which functions, the generated diagram including quantitative indications of function-wise contribution made by each class and including visual indications distinguishing functions which are unique, overridden or contributing in different classes of the hierarchy;
- and
- displaying the generated diagram to a user on output.
A computer system of designing software, comprising:
- a diagramming engine executed by a processor, the diagramming engine:
- (a) receiving user election of a programming object of a program model displayable in a screen view of a software engineering system;
- (b) determining corresponding class of the user elected programming object and determining a class hierarchy, the class hierarchy including the corresponding class and any ancestor classes, wherein the corresponding class and each ancestor class is formed of respective functions and variables;
- and
- (c) generating and outputting display of a diagram depicting the functions as contributed by respective ones of the corresponding class and ancestor classes, such that the diagram illustrates class inheritance of the user elected programming object by depicting which classes in the hierarchy contribute which functions, the generated and displayed diagram including quantitative indications of function- wise contribution made by each class and including visual indications distinguishing functions which are unique, overridden or contributing in different classes of the hierarchy;
- and
- a diagram interface coupled to the diagram as displayed to a user on output, the diagram interface enabling user interaction with the depicted functions in the displayed diagram, and responsively rendering indication of all classes that contribute that function.
A computer program product for designing software comprising:
- a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
- computer readable program code configured to:
- (a) receive user election of a programming object of a program model displayable in a screen view of a software engineering system;
- (b) determine corresponding class of the user elected programming object and determine a class hierarchy, the class hierarchy including the corresponding class and any ancestor classes, wherein the corresponding class and each ancestor class is formed of respective functions and variables;
- (c) generate and output display of a diagram depicting the functions as contributed by respective ones of the corresponding class and ancestor classes, such that the diagram illustrates class inheritance of the user elected programming object by depicting which classes in the hierarchy contribute which functions, the generated and displayed diagram including quantitative indications of function-wise contribution made by each class and including visual indications distinguishing functions which are unique, overridden or contribute in different classes of the hierarchy;
- and
- (d) enable user interaction with the depicted functions in the displayed diagram, and responsively render indication of all classes that contribute that function.
Dependencies are inferred from the claim text.