The goal of this task is to define a migration path from legacy systems into an event driven paradigm using redevelopment techniques. The approach is premised on the need to expedite the analysis process, while concurrently defining a migration path from legacy applications.
Event diagrams represent business process flow. An event is defined as a "happening" in the business which influences behavior through the recognition that a process has a cause and effect behavioral pattern. Events depend on two key concepts: an "operation" or business process and a "trigger" which activates an operation. Event modeling concepts are derived from the Martin/Odell Object Oriented Analysis (OOA) model.
While current systems implicitly depend on events today, there is no clear indication as to how events are invoked. So while an event driven approach to modeling more accurately depicts reality, transition to this architecture is a complex challenge. As in other TIM tasks, the goal is to streamline this transition process by excavating legacy functions and the activities that initiate those functions.
Finally, this task is a required prerequisite to business rule derivation. Events dictate state transition timing, a key requirement for placing rules in context. Bypassing this task will likely lead to an unsuccessful business rule derivation effort. Specific objectives for event derivation analysis are listed below.
· Develop a target event diagram based on analysis of legacy environment being transitioned to an event driven paradigm
· Abstract implied events from legacy applications to augment and cross check top-down event analysis
· Refine this model based on event driven techniques and analyst input
· Optionally synchronize event specification process with corresponding legacy system functions via the Legacy Transition Meta-model LTM
This task, as much as any TIM task, is linked to techniques defined in other development methods. Event modeling, in the context of this task, is based on the Martin/Odell (OOA) model referenced earlier in the task objective section.
This and other prerequisite entrance criteria are listed below.
· Acceptance and availability of event modeling techniques defined in the Martin/Odell model
· A corresponding object oriented, event driven development methodology that defines notations and techniques under an integrated approach
· Completion of general systems architecture assessment data flow analysis depicting on-line screen and batch job data flow (DFD) diagrams
· Completion of presentation layer assessment depicting user input/output views of an application
Note: User views, coupled with DFD analysis, provide a baseline for extracting implied events from legacy architecture.
· Completion of function dependency modeling effort via function dependency analysis task
· Completion of current function to current program mapping via function hierarchy analysis task
Note: If following were pursued, either as TIM transformation tasks or similar efforts, it further simplifies event excavation. These tasks, however, tend to be mutually exclusive to the object/event driven redevelopment path.
· Optionally, completion of Inventory/Analysis process hierarchy/dependency analysis task or similar process flow analysis effort
Note: The following supports the analysis effort as well as linking event definitions within this task to subsequent development activities. If business rule derivation is envisioned, LTM utilization is required.
· Optional availability of populated LTM that links forms, programs, execution language and other legacy objects to functions and, optionally, process/bus rule objects
The personnel and skill requirements necessary to meet the event derivation analysis task objectives are identified below.
· Event Modeling Expert
- Expertise in event modeling and object oriented development using object oriented CASE tools
Note: High degree of expertise is required since this task does not outline full set of techniques necessary for building event models.
· Current Systems Expert
- Knowledge of the functionality of current data utilization
· Target System Functional Expert
- Knowledge of target data requirements
· Redevelopment Expert
- Ability to navigate legacy systems and source code using analysis tools defined within this task and derive events and business rules from the system
The system components and related inputs required to initiate and complete the event derivation analysis task are listed below.
Note: See Entrance Criteria section for notes regarding the optional nature of certain input requirements.
· Environmental analysis documentation including batch run streams, load modules and related source programs
· Functional mapping form 004, built in function hierarchy analysis, that links current program to current function to, optionally, target function
· Function dependency models derived during function dependency analysis task
· On-line screen and batch job data flow diagrams (DFD) derived during general systems architecture assessment
· Inventory and cross reference of user I/O views completed during presentation layer assessment depicting
· Existing application source, JCL, PROCs, screen map definitions and other physical system components
· Batch operations procedures or guidelines
· Optionally, derived process dependency diagram as specified in process hierarchy/dependency analysis task or similar bottom-up effort
· Process mapping form 031, built in process hierarchy/dependency analysis, to link current program to current process to, optionally, target process
Note: Each of above mandatory and optional tasks contribute to the evolution of LTM. While LTM is listed as optional, managing event derivation across large models is virtually impossible without formal management facilities.
· Optionally, LTM repository populated with function and process object instances linked to legacy forms, JCL, programs, control tables and other legacy objects
Technologies supporting the event derivation analysis task include event modeling, static analysis and open systems repository tools. These planning tools may provide a vehicle for representing information required as input to this task.
Event modeling tool
This tool should be able to model events within a business area and support basic event modeling techniques using the following notations:
Define a business operation as follows:
Define a beginning and an end to event model as follows:
Define an event or stimulus to initiate a trigger as follows:
Support partitioning of an event in order to trigger multiple operations as follows:
Define a trigger to apply business rules in order to determine which operations should be triggered:
Establish a control condition to recognize and accommodate decision points where multiple triggers may initiate an operation.
Accommodate event subtypes based on a given event decomposing into multiple events for clarity or detail.
A complete diagrammatic example is shown below.
This tool should also integrate with modeling facilities used to specify objects in the object derivation analysis and business rule analysis tasks.
Static analysis tool
Features of a static analysis tool that apply to this task include ability to graph a program and show decision paths based on that analysis. Decision paths may be depicted using decision trees, control flow graphs or similar facilities. One or multiple views of program control flow should provide high-level paragraph or module names, related hierarchy and decision paths invoking that hierarchy.
The static analysis tool is used to abstract event subtypes, based on decisions occurring at the module level, that invoke paths within itself or another module. Batch and interactive tools may be used for this process.
Open systems repository
An open repository provides the ability to link events with legacy and business rules objects. This is critical since analysts must examine countless legacy rules spanning multiple physical components and formats. Without an audit trail, subsequent business rule specification, rule reconciliation and legacy rule deactivation is virtually impossible.
Requirements include the ability to reflect event objects, establish type and other attributes, and relate events to LTM process/bus rule, source and other objects as defined within this task. A recommended baseline LTM meta-model is shown in the TIM Appendix section.
The event derivation analysis task is comprised of the following task steps:
Abstract & Define Externally Caused Event Abstract & Define Time Driven Event Abstract & Define Process Driven Events Derive Layered Operation Structures