A system and method for automatically or semi-automatically analyzing business processes including elements for or processes for: monitoring business activities as conducted by a user of a target software application by monitoring the computer screens viewed by the user and user-system interaction; using pattern matching to determine the semantic elements of each computer screen and action; using screen element identity relationships to compare screens and develop process flows based on a sequence of the computer screens and the user-system interaction; using process flow end-point comparisons to synthesize business process fragments from the process flows; and combining business process fragments to create a business process model.