Presentation is loading. Please wait.

Presentation is loading. Please wait.

Contents Introduction Requirements Engineering Project Management

Similar presentations


Presentation on theme: "Contents Introduction Requirements Engineering Project Management"— Presentation transcript:

1 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

2 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

3 Ian Sommerville 1995  Software Engineering, 5th edition.

4 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

5 Types of Maintenance Corrective Adaptive Perfective Preventive
PVK-HT03

6 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

7 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

8 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

9 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

10 Use of Maintenance Time
*See [Schach 97]. **See [Somm 96]. ***See [Pfleeger 98]. PVK-HT03

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

12 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

13 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

14 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

15 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

16 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

17 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


Download ppt "Contents Introduction Requirements Engineering Project Management"

Similar presentations


Ads by Google