You are on page 1of 17

BIS4225.

14
Business Process
Reengineering

1
Readings
Pressman (1997) Chap 27.

2
Business Processes
A set of logically related
tasks performed to achieve a
defined business outcome.
Examples:
designing a product
purchasing services and supplies
hiring employees
paying suppliers
P(1997, 757) 3
Bus. Proc. Reengineering
The search for, and the
implementation of, radical
change in business
process to achieve
breakthrough results.

P(1997, 757) 4
Bus. Proc. Reengineering
BPR is iterative.
Business goals and
processes that achieve
them must be adapted to a
changing business
environment.
P(1997, 760) 5
Bus. Proc. Reengineering
BPR Business
Definition
Model
Refinement &
Instantiation

Process
Prototyping
Identification

Process Process
Spec & Design Evaluation
P(1997, 760-1) 6
Bus. Proc. Reengineering
Many BPR initiatives have
been undermined by poor
implementation and
change management
practices that failed to
address human concerns.

P(1997, 761-2) 7
Software Reengineering
Systems may need to be
rebuilt to be in line with
current needs:
Added functionality
Better performance
Maintainability
8
Software Reengineering
Options:
Struggle through modification
after modification, fighting the
implicit design and codes.
Attempt to understand the
broader inner workings of the
program.
P(1997, 774) 9
Software Reengineering
Options:
Redesign, re-code, and test
portions of the program, and
apply software engineering to
all revised segments.
Completely redesign, re-code,
and test the program.
P(1997, 774) 10
Software Reengineering
Includes:
Inventory analysis
Document restructuring
Reverse engineering
Code restructuring
Data restructuring
Forward engineering
P(1997, 765) 11
Inventory Analysis
Every software organization
should have an inventory of
all applications, for example:
Application (name, date created)
Changes (number, effort)
Interfaces (applications, databases)
Errors
Business criticality
P(1997, 764-5) 12
Document Restructuring
Weak documentation is
found in many legacy
systems:
too time-consuming
not updated
need to be fully re-documented

P(1997, 766) 13
Reverse Engineering
The process of analyzing a
subject system to identify
the system's components and
their interrelationships and
create representations of the
system in another form or at a
higher level of abstraction.
14
Reverse Engineering
To understand procedural
abstractions, the code is
analyzed at varying levels of
abstraction:
system
program
module
pattern
statement
P(1997, 768) 15
Code/Data Restructuring
Restructuring modifies code
and/or data to cater for future
changes.
It does not modify the overall
program architecture, but
focus on the design details
and data structures of
individual modules.
P(1997, 773) 16
Forward Engineering
Applies software
engineering principles,
concepts, and methods to
re-create an existing
application. New
requirements are
incorporated.
P(1997, 775) 17

You might also like