2 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.
3 Reengineering What are the steps? Step 1: Business process reengineering. (BPR)The search for, and the implementation of, radicalchange in business process to achieve breakthroughresults.Step 2: Software reengineering process.Rebuilding a software to create another with addedfunctionality, better performance and reliability.
4 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.
5 A BPR modelA model for business process reengineering defines six activities.Business DefinitionProcess IdentificationRefinement and instantiationPrototypingProcess EvaluationProcess specificationand design
6 A BPR model ActivitiesBusiness 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
7 A BPR model ActivitiesProcess 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
8 Software reengineering process Definition: Rebuilding a software to create anotherwith added functionality, better performance andreliability.
9 Software reengineering process model Software reengineering process model defines six activities.Inventory analysisDocument restructuringForward engineeringReverse engineeringData restructuringCode restructuring
10 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.
11 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.
12 QuestionsQuestion1: Which of the following activities is not part of the software reengineering process model?A) forward engineeringB) inventory analysisC) prototypingD) reverse engineering
13 QuestionsQuestion2: The software reengineering process model includes restructuring activities for which of the following work items?A) codeB) documentationC) dataD) all of the above
14 QuestionsQuestion3: Which of these benefits can be achieved when software is restructured?A) higher quality programsB) reduced maintenance effortC) software easier to testD) all of the above