Software Reengineering

Download Report

Transcript Software Reengineering

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.

 Why it is important?

The rapid change in information technology.

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.

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.

A BPR model

 A model for business process reengineering defines six activities.

Business Definition Process Identification Refinement and instantiation Prototyping Process specification and design Process Evaluation

A BPR model Activities

1.

2.

3.

Business definition: are identified.

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

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

A BPR model Activities

4.

5.

6.

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

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

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

Software reengineering process

 Definition: Rebuilding a software to create another with added functionality, better performance and reliability.

Software reengineering process model  Software reengineering process model defines six activities.

Inventory analysis Document restructuring Forward engineering Data restructuring Code restructuring Reverse engineering

Software reengineering process model activities

1.

2.

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

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.

Software reengineering process model activities

4.

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

5.

6.

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

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.

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

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

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

Thank you

Fatima Abdelkader Haouari 2001/59617