Abstract: A method and computer program product are provided for extracting UML models from legacy applications. The system involves extraction of UML models and importing and exporting than to other commercial UML tools. In a more specific aspect, UML objects are associated with business rules which have been extracted from a legacy application. In particular, UML diagrams are extracted from a legacy application for Use Case diagrams, Activity diagrams from screen flows, and Activity diagrams from program logic.
Abstract: A system and method is used to identify all business rules in program code, particularly legacy program code. Business rules in program code generally fall into two categories, i.e., rules related to program input and rules related to program output. All input ports and output ports in a program are identified. For input ports, the outgoing data flow is identified, and for each field in the data flow, a determination is made about whether a test is used to branch the program. If a test exists, the rule is identified and stored. In a case of output business rules, all output ports in the program are identified, the data structure associated with each output determined or each field and data structure, the computation path is determined. If the computation path is not empty, an output business rule is created and stored.
Abstract: A method and system serves to derive class definitions from the program code of a legacy system. The objects of the legacy application are identified, and separately all the business rules of the application are identified. Each object has a data structure which describes its properties. The fields in this data structure are used to derive the candidate data attributes of the object. All the business rules which use some of the data attributes of the object either as input or output are grouped together as candidate methods of the object. The user selects some of the candidate data attributes and some of the candidate methods and uses them to designate a new class. The user may also decide if the data elements used in the methods are method parameters or global data attributes of the class.