Software Re-Engineering - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Software Re-Engineering

Description:

Software Reengineering. Inventory Analysis: 'What applications, what kind, what ... Reverse Engineering: Abstraction recovery design, data model, arch. Model. ... – PowerPoint PPT presentation

Number of Views:307
Avg rating:3.0/5.0
Slides: 10
Provided by: keithas
Category:

less

Transcript and Presenter's Notes

Title: Software Re-Engineering


1
Software Re-Engineering
  • Rebuilding the Wheel

2
Software Reengineering (Context)
Software Maintenance
Adaptive
Corrective
Perfective
Reengineering
  • Software reengineering is a part of software
    maintenance
  • Corrective e.g., fixes
  • Adaptive modifications to continue operation
  • Perfective a.k.a. enhancement, addition of
    capability
  • Reengineering rebuilding (may include elements
    of all former mx. types, but the intent is to
    rebuild to get a better program)

3
Two Levels of Re-Engineering
Business Definition
  • Business Level Business Process Re-engineering
  • Software Level Software Re-Engineering

4
Business Process Reengineering
  • Business Definition Goals identified in
    business context. We exist to .
  • Process Identification How do we achieve our
    goals
  • Process Evaluation How good are these processes
  • Process Specification and Design More formal
    descriptions of all a process entails
  • Prototyping Testing a new process
  • Refinement and instantiation Adjustments and
    implementation

Business Definition
5
Software Reengineering
  • Inventory Analysis What applications, what
    kind, what .
  • Document Restructuring How good is an app
    documented? How good should it be?
  • Reverse Engineering Abstraction
    recoverydesign, data model, arch. Model.
  • Code Restructuring Improving the clarity or
    maintainability of app code.
  • Data Restructuring Analogous actions as code
    restructuring on the data (e.g., converting local
    implementations to standard data structures.
  • Forward Engineering Uses the info from reverse
    engineering to improve app at a higher
    abstraction than the data or program structure

6
Reverse Engineering Details
  • Purpose To generate an higher-level abstraction
    from the source code (or executable)
  • Attributes
  • Completeness how much detail exists in the
    abstraction
  • Interactivity how much human intervention is
    required to create the abstraction
  • Directionality Output only (one-way) or
    input/output (two-way)

7
Why/Why Not Reengineer?
  • Why Not?
  • What we have works
  • Cost (time, money, manpower, projects)
  • Why?
  • Foundational to business
  • Potential (revenue, cost reduction, decrease
    effort)
  • It no longer works, or works well

8
Popular Reengineering Activities
  • Business Processes
  • User Interfaces
  • Client/Server Architectures
  • Databases

9
Additional Points of Emphasis
  • BPR focuses on individual or sub- processes due
    to risk (pg 839)
  • Ways to attack re-documenting (pg 844)
  • Dont do it
  • Only when touched
  • Full effort
  • Data name rationalization (pg 851)
  • Suggestions for reengineering user interfaces (pg
    855)
  • Cost model for reengineering (pgs 855-856)
Write a Comment
User Comments (0)
About PowerShow.com