Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.

Slides:



Advertisements
Similar presentations
CIS 376 Bruce R. Maxim UM-Dearborn
Advertisements

1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
ITIL: Service Transition
Chapter 14 Maintaining Information Systems Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Software Configuration Management
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Evolution Managing the processes of software system change
March 30, Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn.
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
SE 555 Software Requirements & Specification Requirements Management.
Software maintenance Managing the processes of system change.
Introduction to Software Maintenance. Software Maintenance Definition  One of the phases in the software development process, and follows deployment.
CS 577b Software Engineering II -- Introduction
10. MAINTENANCE. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Software Engineering Roadmap: Chapter 10.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Chapter 29 Maintenance and Reengineering
Chapter 9 – Software Evolution and Maintenance
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
Software Engineering Modern Approaches
System Analysis and Design
Maintaining Information Systems Modern Systems Analysis and Design.
Software Engineering Modern Approaches
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
Software change  Managing the processes of software system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering Modern Approaches
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
SYSTEMS ANALYSIS AND DESIGN LIFE CYCLE
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Software evolution l Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
ANU comp2110 Software Design lecture 5 COMP2110 Software Design in 2003 lecture 5 Requirements Specifications lecture 3 of 3 The Encounter game case study.
Chapter 3: Software Project Management Metrics
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Software Engineering Lecture # 1.
© 2010 John Wiley & Sons Ltd. Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
1 Overview of Maintenance CPRE 416-Software Evolution and Maintenance-Lecture 3.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Appendix B: Getting Started in Systems Analysis and Design.
CS223: Software Engineering Lecture 32: Software Maintenance.
CS223: Software Engineering Lecture 33: Software Maintenance.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Chapter 14 Maintaining Information Systems
ITIL: Service Transition
Software Configuration Management
Software Project Configuration Management
Maintenance Issues in Software Engineering
8.4 Management of Postdelivery Maintenance
Chapter 18 Maintaining Information Systems
Software maintenance.
Chapter 8 Software Evolution.
10. MAINTENANCE.
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Presentation transcript:

Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1

© 2010 John Wiley & Sons Ltd. Chapter 29: Software Maintenance 2

Learning Goals of This Chapter What are the units of software maintenance? What are the differences between corrective, adaptive, perfective, and preventative maintenance? What are some management challenges in maintenance? Process challenges? What are the main technical issues? What is the maintenance process? How do patches work? What standards are there for software maintenance? What is reverse engineering? Reengineering? What maintenance metrics are available? Requirements analysis Design Implementation Testing Maintenance Planning The Software Development Lifecycle 3

© 2010 John Wiley & Sons Ltd. Types of Maintenance Repair – Fixing defects (relative to existing requirements) Enhancement – New requirements – Change design or implementation (no functional change) 4

© 2010 John Wiley & Sons Ltd. Types of Maintenance Lientz & Swanson Corrective – defect identification and removal Adaptive – changes resulting from operating system, hardware or DBMS changes Perfective – changes resulting from user requests Preventive – changes made to the software to make it more maintainable Repair Enhance 5

Example of Corrective Maintenance Request Maintenance Request 78 Problem: When the player changes the value of a quality, the computations are specified to keep the total invariant, but they do not. Example: If the qualities are strength = 10, patience = 0.8 and endurance = 0.8 (sum = 11.6), and the player adjusts strength to 11, the result is strength = 11, patience = 0 and endurance = 0. These do not sum to © 2010 John Wiley & Sons Ltd. 6

Example of Perfective Maintenance Request Maintenance Request 162 Modify Encounter so that the game begins with areas and connections a coordinated style. When the player achieves level 2 status, all areas and connections are displayed in an enhanced coordinated style, which is special to level 2. The art department will provide the required images. © 2010 John Wiley & Sons Ltd. 7

Example of an Estimate for Implementing a Maintenance Request Activity Estimate (person- days) Activity Estimate (person- days) 1. Understand the problem and identify the functions that must be modified or added. 2 – 5 6. Compile and integrate into baseline Design the changes1 – 4 7. Test functionality of changes Perform impact analysis1 – 4 8. Perform regression testing Implement changes in source code1 – 4 9. Release new baseline and report results 1 5. Change SRS, SDD, STP, configuration status 2 – 6TOTAL © 2010 John Wiley & Sons Ltd. 8

A Typical Maintenance Flow Proposed M. R.’s Approved M. R.’s Modified source & documentation Current source & documentation Change control board Maintenance engineer Written MR’s Maintenance manager Marketing Rejected MR’s Customer Help desk nominal path Graphics reproduced with permission from Corel. © 2010 John Wiley & Sons Ltd. 9

Maintenance : Impact of Defect MR Requirements Defect injected here Architecture System code Interface specs Detailed design Function code Module (e.g., package) code Requirements Architecture System code Interface specs Detailed design Function code: Defect injected here Module (e.g., package) code Maximal impactMinimal impact Key: Impact to shaded phases © 2010 John Wiley & Sons Ltd. 10

Impact of MR #162 Requirements Architecture System code Interface specs Detailed design Function code Module (e.g., package) code Add: “change appearance when player achieves new levels” Accommodate ability to change global appearance: use Abstract Factory design pattern Add interface methods for Layout package Add classes and methods as per detailed design Modify gameplay control code © 2010 John Wiley & Sons Ltd. 11

Help desk 1. Interface with customer ComplaintsMarketing Patch (optional) Execute with patch Docu- ment patch … Maintenance and Patching © 2010 John Wiley & Sons Ltd. 12

Maintenance & Patching 1. Get maintenance request 2. Approve changes Create patch 3. Plan changes Assess impact 4. Change code and documentation Coordinate Test changesImplement Update documentation Remove patch Docu- ment patch optional Execute with patch Release Document patch removal © 2010 John Wiley & Sons Ltd. 13

disadvantages May be a complete solution to the problem Keeps customers satisfied Enables continued operation and testing without presence of the defect Avoids masking other defects Enables test of fix May duplicate work – patch and final fix both implemented Temporaries sometimes never replaced – proper fix deferred forever Complicates final fix (where applicable) – must remove Complicates documentation process When tools used for insertion -- may compromise code base. advantages Maintenance Patches © 2010 John Wiley & Sons Ltd. 14

Software Trouble Reports, Maintenance Requests and Correction Reports Software Trouble Report STR Software Trouble Report STR Software Trouble Report STR Software Trouble Report STR Software Trouble Report STR Maintenance Request 1293 Correction Report Maintenance Request Correction Report Maintenance Request Correction Report Maintenance Request © 2010 John Wiley & Sons Ltd. 15

1. Problem identification 1.1 Input 1.2 Process 1.3 Control 1.4 Output 1.5 Quality factors 1.6 Metrics 2. Analysis 2.1 Input 2.2 Process Feasibility analysis Detailed analysis Control, Output, Quality factors, Metrics. 3. Design Input, Process, Control, Output, Quality factors, Metrics. IEEE “Software Maintenance” Table of Contents © 2010 John Wiley & Sons Ltd. 16

1 Problem identification 1.1 Input 1.2 Process 1.3 Control 1.4 Output 1.5 Quality factors 1.6 Metrics 4.2 Analysis 2.1 Input 2.2 Process Feasibility analysis Detailed analysis Control, Output, Quality factors, Metrics. 4.3 Design Input, Process, Control, Output, Quality factors, Metrics. 4 Implementation 4.1 Input 4.2 Process Coding and & testing Risk analysis & review Test-readiness review Control, Output, Quality factors, Metrics. 5 System test Input, Process, Control, Output, Quality factors, Metrics. 6. Acceptance test Input, Process, Control, Output, Quality factors, Metrics. 7 Delivery Input, Process, Control, Output, Quality factors, Metrics. IEEE “Software Maintenance” © 2010 John Wiley & Sons Ltd. 17

© 2010 John Wiley & Sons Ltd. Six Attributes of Each Maintenance Request Phase (IEEE) 1. Problem identification 2. Analysis 3. Design 4. Implementation 5. System test 6. Acceptance test 7. Delivery PhaseAttributes a. Input life cycle arti- facts for this step b. Process required for this step c. How the process is controlled d. Output life cycle artifacts e. Process quality factors involved f. Metrics for this step 18

Using Linear Regression 300 Number of detailed requirements Number of person-months detailed requirements completed with 6 person months © 2010 John Wiley & Sons Ltd. 19

EncounterEnvironment Package (Before Modification) GameEnvironment GameCharacter GameArea EncounterEnvironment Area EncounterEnvironment GameAreaConnection EncounterAreaConnection © 2010 John Wiley & Sons Ltd. 20

Abstract Factory Applied to Encounter Area Level3Area Level3Factory getArea() getAreaConnection() EnvironmentFactory getArea() buildConnection() EncounterEnvironment Client 1..n... © 2010 John Wiley & Sons Ltd. 21

Abstract Factory Applied to Encounter Area Level2AreaLevel1AreaLevel3Area Level1Factory getArea() getAreaConnection() Level2Factory getArea() getAreaConnection() Level3Factory getArea() getAreaConnection() EncounterAreaConnection EnvironmentFactor y getArea() getConnection() EncounterEnvironment Level1AreaConnectionLevel2AreaConnection Client Level3AreaConnection «create» 1..n © 2010 John Wiley & Sons Ltd. 22

Migration Plan for Level-based Graphics © 2010 John Wiley & Sons Ltd. 23

Migration Plan for Level-based Graphics © 2010 John Wiley & Sons Ltd. 24

Original Video Store Architecture DVDRentals DVDAccess «facade» DVDRental DVDCustomerAccess «facade» … … DVDs VSCustomers © 2010 John Wiley & Sons Ltd. 25

Reengineered Video Store Architecture DVDRentals DVDAccess «facade» DVDRentalAccess «facade» VSCustomerAccess «facade» DVDs VSCustomers videoStore «to be completed» nonVideoItems NonVideoAccess «facade» XX Key: reengineered parts: © 2010 John Wiley & Sons Ltd. 26

Accounts received Size (lower value = lower maintenance effort) Percentage of comment lines (higher value = lower maintenance effort) Sick day recorder TimesheetModule: LOWEST EFFORT HIGHEST EFFORT Predicting Relative Maintenance Effort © 2010 John Wiley & Sons Ltd. 27

Measuring Maintenance Productivity © 2010 John Wiley & Sons Ltd.

Assessing Maintenance Operations January February March April May June July August “Fixing” MR’s Enhancement MR’s # weeks open 5 10 E.g., in April, the average enhancement MR had been open for 8 weeks. © 2010 John Wiley & Sons Ltd.