Contents Introduction Requirements Engineering Project Management

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Configuration Management
Configuration Management
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
Contents Introduction Requirements Engineering Project Management
Chapter 14 Maintaining Information Systems Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Software Configuration Management
Lecturer: Dr. AJ Bieszczad Chapter Lehman’s system types S-system: formally defined, derivable from a specification P-system: requirements based.
Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance.
PVK-HT061 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Software Maintenance.
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Configuration Management
1 CMPT 275 Software Engineering Revision Control.
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 18 Maintaining.
Software maintenance Managing the processes of system change.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Configuration Management (SCM)
Software Engineering Modern Approaches
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Maintaining Information Systems Modern Systems Analysis and Design.
Software Configuration Management
Software Configuration Management
Software Maintenance.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 29Slide 1 Configuration management l Managing the products (code and documentation) of.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 29Slide 1 Configuration management l Managing the products of system change.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Configuration Management (CM)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 29 Slide 1 Configuration management.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Chapter 11 Maintaining the System System evolution Legacy systems Software rejuvenation.
Software Quality Assurance
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 18 Maintaining.
Software evolution l Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing.
1 Brief Introduction to Revision Control Ric Holt.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Configuration Management CSCI 5801: Software Engineering.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
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.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Configuration Management
Software Engineering Lecture 9: Configuration Management.
1 / 14 CS 425/625 Software Engineering Software Change Based on Chapter 27 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Chapter 14 Maintaining Information Systems
Configuration Management
Software Configuration Management
Software Project Configuration Management
Overview Software Maintenance and Evolution Definitions
Chapter 18 Maintaining Information Systems
Maintenance Issues in Software Engineering
Chapter 18 Maintaining Information Systems
Configuration Management
Managing the System PPT SOURCE : Shari L. Pfleeger Joann M. Atlee.
Maintaining Information Systems (SAD- 18)
Chapter 8 Software Evolution.
Lecture 06:Software Maintenance
Chapter 18 Maintaining Information Systems
Presentation transcript:

Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Software Maintenance Analysis Design Testing Coding Operation and Maintenance Installation Require- ments Requirements Specification Planning PVK-HT03 bella@cs.umu.se

Software Maintenance Process The most expensive part of the software lifecycle! Require- ments Change Request Impact Analysis Release Planning Change Design Implementation Test Release Change PVK-HT03 bella@cs.umu.se

Ian Sommerville 1995  Software Engineering, 5th edition.

Impact Analysis An Impact Analysis identifies all systems/system products affected by a change request developing an estimate of the resources needed to accomplish the change Steps: Evaluate Change Requests Estimate Resources PVK-HT03 bella@cs.umu.se

Types of Maintenance Corrective Adaptive Perfective Preventive PVK-HT03 bella@cs.umu.se

Corrective Maintenance Focuses on fixing defects Is a reactive process I.E. Defects generally need to be corrected either immediately or in the near future Defects Refer to the system not performing as originally intended or as specified in the requirements PVK-HT03 bella@cs.umu.se

Adaptive Maintenance Includes all work related to how the software functions I.E. Relates to enhancing software functionality Includes all changes to meet the evolving needs of the user and the environment I.E. System changes, additions, insertions, deletions, modifications, extensions and enhancements PVK-HT03 bella@cs.umu.se

Perfective Maintenance Includes all efforts to improve the quality of the software Includes restructuring code, creating and updating documentation, improving reliability or efficiency PVK-HT03 bella@cs.umu.se

Preventive Maintenance Preventing system performance from degrading to unacceptable levels “Occurs when software is changed to improve future supportability or reliability, or to provide the basis for future enhancements.” Maintenance work in the above categories is often performed concurrently Pressman, 1992 PVK-HT03 bella@cs.umu.se

Use of Maintenance Time *See [Schach 97]. **See [Somm 96]. ***See [Pfleeger 98]. PVK-HT03 bella@cs.umu.se

Maintenance Metrics Control complexity Data complexity Length of identifier names Program comments Coupling Cohesion Degree of user interaction PVK-HT03 bella@cs.umu.se

Software Maintenance Summary There are 4 categories of maintenance corrective, adaptive, perfective, preventative There is a defined maintenance process, which ensures the delivery of quality software A procedure with 7 steps. PVK-HT03 bella@cs.umu.se

Configuration Management New versions of software systems are created as they change For different machines/OS Offering different functionality Tailored for particular user requirements Configuration management is concerned with managing evolving software systems System change is a team activity CM aims to control the costs and effort involved in making changes to a system PVK-HT03 bella@cs.umu.se

Version and release management Invent identification scheme for system versions Plan when new system version is to be produced Ensure that version management procedures and tools are properly applied Plan and distribute new system releases PVK-HT03 bella@cs.umu.se

Storing Versions Naive: Separate files for each version Version handling by numbering schemes Double Maintenance Problem Solution: One original version plus deltas Forward deltas Backward deltas Forward and backward deltas Shared Data Problem Simultaneous Update Problem Solution: Check-in/check-out mechanism Still a problem: Merging versions PVK-HT03 bella@cs.umu.se

Tools for Version and Configuration Control General: History- and log-files Hierarchical file systems ... Version Control: Modification tracking Control of development branches Efficient storage and retrieval Access control Merging versions SCCS, RCS, CVS, ... File comparators Patch generators Configuration control: Dependency management and control System creation Integration with version control ... Make, makefile generators, ... PVK-HT03 bella@cs.umu.se

Software Rejuvenation Redocumentation: static analysis adds more information Restructuring: transform to improve code structure Reverse engineering: recreate design and specification information from the code Reengineering: reverse engineer and then make changes to specification and design to complete the logical model; then generate new system from revised specification and design PVK-HT03 bella@cs.umu.se