Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "PVK-HT061 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Software Maintenance."— Presentation transcript:

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

2 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.

3 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

4 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

5 PVK-HT065 Ian Sommerville 1995 Software Engineering, 5th edition.

6 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

7 PVK-HT067 Distribution of maintenance effort

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

9 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

10 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

11 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

12 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,...

13 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


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

Similar presentations


Ads by Google