15
Software Reengineering Done by: Fatima Abdelkader Haouari 2001/59617

Software Reengineering

Embed Size (px)

DESCRIPTION

Software Reengineering. Done by: Fatima Abdelkader Haouari 2001/59617. Reengineering. What is it? Rebuilding a software to create a more powerful product. Who does it? -Organizational level: business specialists. -Software level:Software engineers. - PowerPoint PPT Presentation

Citation preview

Page 1: Software Reengineering

Software Reengineering

Done by: Fatima Abdelkader Haouari

2001/59617

Page 2: Software Reengineering

Reengineering What is it?

Rebuilding a software to create a more

powerful product. Who does it?

-Organizational level: business specialists.

-Software level:Software engineers. Why it is important?

The rapid change in information technology.

Page 3: Software Reengineering

Reengineering

What are the steps?Step 1: Business process reengineering. (BPR)The search for, and the implementation of, radical

change in business process to achieve breakthrough

results.

Step 2: Software reengineering process.Rebuilding a software to create another with added

functionality, better performance and reliability.

Page 4: Software Reengineering

Business process reengineering

Business process: A set of logically related tasks performed to achieve a defined business

outcome. Business process reengineering (BPR):

The search for, and the implementation of, radical change in business process to achieve breakthrough results.

Page 5: Software Reengineering

A BPR model A model for business process reengineering defines

six activities.

Business Definition

Process Identification

Process Evaluation

Process specification and design

Refinement and instantiation

Prototyping

Page 6: Software Reengineering

A BPR model Activities

1. Business definition: business goals are identified.

2. Process identification: processes critical to achieving business goals are identified and prioritized.

3. Process evaluation: existing processes are analyzed and measured, costs and time consumed by processes are noted, quality/performance problems are isolated

Page 7: Software Reengineering

A BPR model Activities

4. Process specification and design: use cases are prepared for each process that is to be redesigned.

5. Prototyping: used to test processes before integrating them into the business.

6. Refinement and instantiation: business processes are refined and then instantiated within a business system

Page 8: Software Reengineering

Software reengineering process

Definition: Rebuilding a software to create another

with added functionality, better performance and

reliability.

Page 9: Software Reengineering

Software reengineering process model

Software reengineering process model defines six activities.

Inventory analysis

Document restructuring

Reverse engineering

Code restructuring

Data restructuring

Forward engineering

Page 10: Software Reengineering

Software reengineering process model activities

1. Inventory analysis: sorting active software applications to identify reengineering candidates.

2. Document restructuring: There are three options:to live with weak documentation.update poor documents if they are used.fully rewrite the documentation.

3. Reverse engineering: Analyzing the program to create a representation of the program in a higher level of abstraction than source code.

Page 11: Software Reengineering

Software reengineering process model activities

4. Code restructuring: source code is analyzed and violations of structured programming practices are noted and repaired.

5. Data Restructuring: current data architecture is dissected and data models are defined, existing data structures are reviewed for quality.

6. Forward engineering: recovers design information from existing source code and uses this information to reconstitute the existing system to improve its overall quality and/or performance.

Page 12: Software Reengineering

Questions

Question1: Which of the following activities is not part of the software reengineering process model?

A) forward engineering B) inventory analysis C) prototyping D) reverse engineering

Page 13: Software Reengineering

Questions

Question2: The software reengineering process model includes restructuring activities for which of the following work items?

A) code B) documentation C) data D) all of the above

Page 14: Software Reengineering

Questions

Question3: Which of these benefits can be achieved when software is restructured?

A) higher quality programs B) reduced maintenance effort C) software easier to test D) all of the above

Page 15: Software Reengineering

Thank you

Fatima Abdelkader Haouari

2001/59617