150 likes | 309 Views
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.
E N D
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 Evaluation Process specification and design
A BPR model Activities • Business definition:business goals are identified. • Process identification:processes critical to achieving business goals are identified and prioritized. • Process evaluation:existing processes are analyzed and measured, costs and time consumed by processes are noted, quality/performance problems are isolated
A BPR model Activities • 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 Reverse engineering Data restructuring Code restructuring
Software reengineering process model activities • 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. • 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 • Code restructuring:source code is analyzed and violations of structured programming practices are noted and repaired. • 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