CSE 5324:
Software Engineering I
(Analysis, Design, Creation) Spring 1998
Important Reminder:
I
MUST have a completed Information sheetfrom each student or you won't be in a team for a
project, and you won't get that part of your grade.
Today's class:
Re-engineering
Requirements - Analysis
Finalize Teams (for projects)
Last:
System Engineering
(System is a bad word! It is too "generic")
Re-engineering
(This is a good "YAB" - Yet Another Buzzword)
As the rules of business change the software
supporting those rules must change.
A Business Process ("BP") - like other processes
is a set of related tasks to achieve a defined outcome
BPR (Reengineering) is implementing change for
"breakthroughs"
BP has a "customer" - who receives the outcome (product)
Hammer suggests:
Organize around outcomes (not tasks)
(easier to "track" work status)
The process customer performs (controls)
the process.
Put information processing into place where
work is done.
Get the data once, where it is produced.
View distributed (geographically) resources
as if they were centralized.
Make decisions where work is done (not higher up).
BPR is a cycle, including:
Define Business Goals
Identify process, prioritize
Evaluate processes, measure
Specify and design process
Prototype (try it out)
Refine and use
Software Re-engineering:
Maintenance is:
Corrective
Adaptive
Perfective (enhance)
Preventive (re-engineer)
Process Model:
Inventory Analysis - details of applications
Document restructuring
Reverse Engineer - create an abstract representation
Restructure Code - most common
Restructure Data - may actually be more valuable
Forward Engineering - apply SE principles to recreate
existing application (with new features)
Some details:
Reverse Engineer to understand:
Data Structures
Database Model
User IF
Restructure to:
Improve quality (how to measure?)
Improve programmer productivity
Maintainable, testable
Forward Engineer to:
Use new technology:
Distributed, new GUI, OO methods, CASE Tools
Is it worth it?
Cost benefit is Maintenance costs - Re-engineering costs