PVK-HT061 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Software Maintenance.

Slides:



Advertisements
Similar presentations
Chapter 27 Software Change.
Advertisements

Chapter 27 Software Change.
Configuration management
Software change management
Configuration management
Configuration Management
Chapter 11 Software Evolution
Contents Introduction Requirements Engineering Project Management
Introduction to Software Evolution and Maintenance
Software Evolution Managing the processes of software system change
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
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.
Contents Introduction Requirements Engineering Project Management
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 29 Slide 1 Configuration management.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software evolution.
Software evolution.
Configuration Management
1 CMPT 275 Software Engineering Revision Control.
Software maintenance Managing the processes of system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Software Re-engineering
Chapter 9 – Software Evolution and Maintenance
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Configuration Management (SCM)
Lecture # 22 Software Evolution
Software Configuration Management
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
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.
©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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Chapter 11 Maintaining the System System evolution Legacy systems Software rejuvenation.
Software Quality Assurance
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
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.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 28Slide 1 CO7206 System Reengineering 4.2 Software Reengineering Most slides are Slides.
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.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 2.
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.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software change Software change is inevitable –New requirements emerge when the software is used –The business environment changes –Errors must be repaired.
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,
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVI. Software Evolution.
Chapter 18 Maintaining Information Systems
Software Engineering (CSI 321)
Chapter 9 – Software Evolution and Maintenance
Chapter 27 Software Change.
Chapter 8 Software Evolution.
Lecture 06:Software Maintenance
Configuration management
Presentation transcript:

PVK-HT061 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Software Maintenance

PVK-HT062 Software change Software change is inevitable oNew requirements emerge when the software is used; oThe business environment changes; oErrors must be repaired; oNew computers and equipment is added to the system; oThe performance or reliability of the system may have to be improved. A key problem for organisations is implementing and managing change to their existing software systems.

PVK-HT063 Modifying a program after it has been put into use. Maintenance does not normally involve major changes to the system’s architecture. Changes are implemented by modifying existing components and adding new components to the system. Software maintenance

PVK-HT064 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-HT065 Ian Sommerville 1995 Software Engineering, 5th edition.

PVK-HT066 Maintenance to repair software faults oChanging a system to correct deficiencies in the way meets its requirements. Maintenance to adapt software to a different operating environment oChanging a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation. Maintenance to add to or modify the system’s functionality oModifying the system to satisfy new requirements. Types of maintenance

PVK-HT067 Distribution of maintenance effort

PVK-HT068 Control complexity Data complexity Length of identifier names Program comments Coupling Cohesion Degree of user interaction Maintenance Metrics

PVK-HT069 New versions of software systems are created as they change oFor different machines/OS oOffering different functionality oTailored for particular user requirements Configuration management is concerned with managing evolving software systems oSystem change is a team activity oCM aims to control the costs and effort involved in making changes to a system Configuration Management

PVK-HT0610 Version An instance of a system which is functionally distinct in some way from other system instances. Release An instance of a system which is distributed to users outside of the development team. Versions /releases

PVK-HT0611 Naive: Separate files for each version Version handling by numbering schemes è Double Maintenance Problem Solution: One original version plus deltas è Shared Data Problem è Simultaneous Update Problem Solution: Check-in/check-out mechanism Still a problem: Merging versions Storing Versions

PVK-HT0612 Tools for Version and Configuration Control General: oHistory- and log-files oHierarchical file systems o... Version Control: oModification tracking oControl of development branches oEfficient storage and retrieval oAccess control oMerging versions o... SCCS, RCS, CVS,... oFile comparators oPatch generators Configuration control: oDependency management and control oSystem creation oIntegration with version control o... Make, makefile generators,...

PVK-HT0613 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