Download presentation
Presentation is loading. Please wait.
1
PVK-HT04bella@cs.umu.se1 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
2
PVK-HT04bella@cs.umu.se2 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
3
Ian Sommerville 1995 Software Engineering, 5th edition.
4
PVK-HT04bella@cs.umu.se4 Types of Maintenance Corrective: Focuses on fixing defects Adaptive: Includes all changes to meet the evolving needs of the user and the environment Perfective: perfecting existing functions Preventive: Preventing system performance from degrading to unacceptable levels
5
PVK-HT04bella@cs.umu.se Use of Maintenance Time *See [Schach 97]. **See [Somm 96]. ***See [Pfleeger 98].
6
PVK-HT04bella@cs.umu.se6 Control complexity Data complexity Length of identifier names Program comments Coupling Cohesion Degree of user interaction Maintenance Metrics
7
PVK-HT04bella@cs.umu.se7 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
8
PVK-HT04bella@cs.umu.se8 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 Version and Release Management
9
PVK-HT04bella@cs.umu.se9 Naive: Separate files for each version Version handling by numbering schemes Double Maintenance Problem Solution: One original version plus deltas oForward deltas oBackward deltas oForward and backward deltas Shared Data Problem Simultaneous Update Problem Solution: Check-in/check-out mechanism Still a problem: Merging versions Storing Versions
10
PVK-HT04bella@cs.umu.se10 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,...
11
PVK-HT04bella@cs.umu.se11 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.