1 Software Change Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Ref M 3.1-3.4, 4 - In progress -

Slides:



Advertisements
Similar presentations
MIS 2000 Class 20 System Development Process Updated 2014.
Advertisements

The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Reuse and Reusability (Chapter 8 of maintenance text) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Image from
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Software Construction and Evolution - CSSE 375 Software Maintenance at 30K Feet Shawn and Steve Left – Tibet from ft. (~9 km).
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
1 Team Skill 4 - Team Skill 5 - Scope Refining the Systems Definition (Chapters of the requirements text) CSSE 371 Software Requirements and Specification.
1 CSSE 477 – Intro to Modifiability Steve Chenoweth Friday, 9/23/2011 Week 3, Day 4 Right - A modified VW beetle, from
1 Program Understanding Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
March 30, Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn.
Lecturer: Dr. AJ Bieszczad Chapter Lehman’s system types S-system: formally defined, derivable from a specification P-system: requirements based.
1 The Maintenance Process Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
The Waterfall Model A Case Study
1 Quality Assurance in Construction and Maintenance (Section 13.4 of Maintenance Text; Chapter 20 of Code Complete) Steve Chenoweth CSSE 375, Rose-Hulman.
British Columbia Institute of Technology
How Custom Payroll Rules Solved Our Most Complex Implementation Challenges.
Maintenance Framework Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Ref M 2.
1 Maintenance Management and Organization Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
VENDORS, CONSULTANTS AND USERS
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
COMPUTER CAREERS Computer Information Technology.
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
System Analysis and Design
Module CC3002 Post Implementation Issues Lecture for Week 6 AY 2013 Spring.
© 2014 Equity Administration Solutions, Inc. All rights reserved. 1 Four Fundamentals of Financial Reporting for Equity Compensation Kathy Biddle, CEP.

CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
1 Designing the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Week 3, Day 1, Monday, September 19, 2011.
End HomeWelcome! The Software Development Process.
Software Engineering Management Lecture 1 The Software Process.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
OHT 18.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Introduction The foundations of high quality Foundation 1: software.
I Power Higher Computing Software Development The Software Development Process.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
1 MARKETING RESEARCH Week 5 Session A IBMS Term 2,
 System Development Life Cycle System Development Life Cycle  SDLC Phases SDLC Phases Phase 1: Preliminary Investigation Phase 2: Feasibility Study.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
VENDORS, CONSULTANTS AND USERS. WHY CAN’T COMPANIES DEVELOP THEIR OWN ERP PACKAGES? To develop an ERP package is a complex & time consuming activity which.
ITEC 370 Lecture 23 Maintenance. Review Questions? Project update on F, next F give prototype demonstration Maintenance –Reactive –Proactive.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
Making the System Operational Implementation & Deployment
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Software Maintenance and Evolution CSSE 575: Session 4, Part 2 Software Maintenance Process Steve Chenoweth Office Phone: (812) Cell: (937)
SE513 Software Quality Assurance Lecture10: Documentation and Quality Records Control Galin, SQA from Theory to Education Limited.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
10-1 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
CS223: Software Engineering Lecture 32: Software Maintenance.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Payroll Setup Chapter 6. PAGE REF #CHAPTER 6: Payroll Setup SLIDE # 2 2 Objectives Activate the payroll feature and configure payroll preferences Set.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Software Maintenance and Evolution CSSE 575: Session 1, Part 2 Software Change Steve Chenoweth Office Phone: (812) Cell: (937)
Maintaining software solutions
Phil Tayco Slide version 1.0 Created Nov. 26, 2017
CS 425/625 Software Engineering Software Evolution
Making the System Operational Implementation & Deployment
Maintenance.
Chapter 2: Building a System
Presentation transcript:

1 Software Change Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Ref M , 4 - In progress -

2 Today One-minute project talks One-minute project talks Software Change – this Software Change – this Tomorrow – Tomorrow – Talk with others about projects Talk with others about projects Make 4 choices by midnight Make 4 choices by midnight Weekend – Weekend – I pick teams of 3, notify you I pick teams of 3, notify you Monday – Monday – You get to meet with your new team… You get to meet with your new team…

3 Outline Fundamentals of Software Change – Different kinds, relation to support, why systems evolve Fundamentals of Software Change – Different kinds, relation to support, why systems evolve Sections of the maintenance text Sections of the maintenance text Economic Implications of Software Change – social vs economic factors Economic Implications of Software Change – social vs economic factors Chapter 4 of the maintenance text Chapter 4 of the maintenance text

4 Fundamentals of Software Change

5 Change Categories Corrective Change – changes to fix errors in requirements, design, logic, coding, documentation Corrective Change – changes to fix errors in requirements, design, logic, coding, documentation Adaptive Change – changes for use in a new environment – most common, your component vendors require moving to a new version Adaptive Change – changes for use in a new environment – most common, your component vendors require moving to a new version Perfective Change – changes to meet new or different customer needs – most common, additional features Perfective Change – changes to meet new or different customer needs – most common, additional features Preventative Change (special case of corrective) – change to fix errors before they occur (this term is not universally used) – e.g., you know some customers will move to Vista, fix your app so it will work there Preventative Change (special case of corrective) – change to fix errors before they occur (this term is not universally used) – e.g., you know some customers will move to Vista, fix your app so it will work there Question: Which ones are more appropriate to use “maintenance”, and which “evolution”? Question: Which ones are more appropriate to use “maintenance”, and which “evolution”?

6 Case Study: Quiz Exercises 2 and 3

Case Study – The Need to Support an Obsolete System At the research institute attached to the ACME Health Clinic, the payroll system was computerized in the 1960’s. The maximum salary with which the system could cope was a factor of hardware and memory restrictions. There was no allowance for salaries above this maximum. Should a calculation yield a higher figure, the number would “flip over” and become a large negative number. After a decade of inflation this maximum salary, which had been considered far above the amount to which the senior director could aspire, was barely above the average starting salary for a technician. A firm of consultants was called in and given two tasks. One was to develop a new up-to-date system and the other was to see that all wages were paid correctly and on time. This situation demonstrates the different priorities that can face software maintainers. The long-term solution was obviously the development of a new system. The upkeep of the old system was, in a sense, a dead-end tasks. The system, no matter how much resource was put into it, would be taken out of service at the first possible opportunity. In fact, resource given to the old system was resource taken from the new one and would delay implementation. Despite this, top priority had to be given to keeping the old system running and producing accurate results up to the moment that the new system was up and running and well enough tested to be relied upon. The balance to be struck was the expenditure of as little as possible resource on the old system while giving adequate resource to the development of the new; too little resource and wages would not be paid; too much and the project would run out of money before the new system was ready. The consultants did their job, all wages were paid on time and the new system ran relatively smoothly for many years until superseded by new advances in both hardware and software technology.

8 Examples of Software Enhancement New versions coming out at regular intervals vs New versions coming out at regular intervals vs Ongoing (technical) support Ongoing (technical) support

9 Economic Implications of Software Change

10 Percentage of Maintenance Costs The text cites four studies which show “full” maintenance costs (i.e. all four change categories) to be 49% to 75% of total software costs The text cites four studies which show “full” maintenance costs (i.e. all four change categories) to be 49% to 75% of total software costs Pigoski (in a previous text for this course) estimated such maintenance costs as 95% of the total! Pigoski (in a previous text for this course) estimated such maintenance costs as 95% of the total! After the initial release of a software product, 10-15% of development costs should be allocated per year for full maintenance (also from Pigoski) After the initial release of a software product, 10-15% of development costs should be allocated per year for full maintenance (also from Pigoski)

11 Cost Breakdown by Change Type Adaptive – 25% Adaptive – 25% Corrective – 20% Corrective – 20% Perfective – 50% Perfective – 50% Preventative – 5% Preventative – 5%