Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering — Software Life Cycle Processes — Maintenance

Similar presentations


Presentation on theme: "Software Engineering — Software Life Cycle Processes — Maintenance"— Presentation transcript:

1 Software Engineering — Software Life Cycle Processes — Maintenance
ISO/IEC IEEE Std Software Engineering — Software Life Cycle Processes — Maintenance Fabio Carollo

2 Institute of Electrical and Electronic Engineers

3 International Electrotechnical Commision

4 ISO member countries with a national standards and ISO voting rights.
ISO member countries with a small economy. ISO member countries without a national standards. Non-member countries.

5 Features Standard IEEE
is subjected to review at least every five years for revision or reaffirmation. When a document is more than five years old and has not been reaffirmed, it is reasonable to conclude that its contents, although still of some value, do not wholly reflect the present state of the art. Use of an IEEE Standard is wholly voluntary. The existence of an IEEE Standard does not imply that there are no other ways to produce, test, measure, purchase, market, or provide other goods and services related to the scope of the IEEE Standard. Fabio Carollo - ISO/IEC 14764, IEEE

6 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
IEEE Std This Standard provides guidance on the Software Maintenance Process. Describes an iterative process for managing and executing software maintenance activities. Software Maintenance is a primary process in the life cycle of a software product, as described in: ISO/IEC 12207, “Information technology – Software life cycle processes.” Fabio Carollo - ISO/IEC 14764, IEEE

7 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Maintenance Process Maintenance is one of the five primary life cycle processes that may be performed during the life cycle of software Planning Analysis Design Implementation Maintenance Fabio Carollo - ISO/IEC 14764, IEEE

8 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Maintenance Process Contains the activities and tasks necessary to modify an existing software product while preserving its integrity. These activities and tasks are the responsibility of the maintainer. Fabio Carollo - ISO/IEC 14764, IEEE

9 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Maintenance Process Process Implementation Problem and Modification Analysis Modification Implementation Maintenance Review/Acceptance Migration Retirement Fabio Carollo - ISO/IEC 14764, IEEE

10 Process Implementation
During Process Implementation, the maintainer establishes the plans and procedures which are to be executed during the Maintenance Process. The Maintenance Plan should be developed in parallel with the Development Plan. The inputs for the Process Implementation include: Relevant baselines; System documentation, if available; A Modification Request (MR) or Problem Report (PR), if applicable. Fabio Carollo - ISO/IEC 14764, IEEE

11 Process Implementation
In order to effectively implement the Maintenance Process, the maintainer should develop and document a strategy for performing the maintenance. To accomplish this effort, the maintainer must execute the following tasks: Develop Maintenance Plans and Procedures; Establish MR/PR Procedures; Implement Configuration Management; Develop a Configuration Management Plan. Fabio Carollo - ISO/IEC 14764, IEEE

12 Process Implementation
The outputs of this activity are: The Maintenance Plan; Training Plan; Maintenance Procedures; Project Management Plan; Problem Resolution Procedures; Measurement Plan; Maintenance Manual; Plans for User Feedback; The Transition Plan; Maintainability Assessment; Configuration Management Plan. Fabio Carollo - ISO/IEC 14764, IEEE

13 Problem and Modification Analysis
This and subsequent activities are activated after the software transition and are called iteratively when the need for modification arises. During the Problem and Modification Analysis Activity, the maintainer: Analyzes MRs/PRs; Replicates or verifies the problem; Develops options for implementing the modification; Documents the MR/PR, the results and execution options; Obtains approval for the selected modification option Fabio Carollo - ISO/IEC 14764, IEEE

14 Modification Implementation
During the Modification Implementation Activity, the maintainer develops and tests the modification of the software product. Maintenance Review/Acceptance This activity ensures that the modifications to the system are correct and that they were accomplished in accordance with the approved standards using the correct methodology. Fabio Carollo - ISO/IEC 14764, IEEE

15 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Migration During a system's life, it may have to be modified to run in different environments, in order to migrate a system to a new environment. The maintainer needs to determine the actions needed to accomplish the migration, and then develop and document the steps required to effect the migration. Fabio Carollo - ISO/IEC 14764, IEEE

16 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Retirement Once a software product has reached the end of its useful life, it must be retired. An analysis should be performed to assist in making the decision to retire a software product. Analysis should determine if it is cost effective to: Retain outdated technology; Shift to new technology by developing a new software product; Develop a new software product to : achieve modularity and standardization; facilitate maintenance and vendor independence. Fabio Carollo - ISO/IEC 14764, IEEE

17 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Types of Maintenance Correction Enhancement Corrective Preventive Adaptive Perfective Fabio Carollo - ISO/IEC 14764, IEEE

18 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Types of Maintenance Perfective maintenance (50%): changes that improve some aspect of the system (e.g. explanation of the documentation, increased test coverage, etc.). Adaptive maintenance (25%): secondary modifications needed as a result of primary modifications, hardware changes or environment. Fabio Carollo - ISO/IEC 14764, IEEE

19 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Types of Maintenance Corrective maintenance (21%): correction of faults that are discovered daily. Preventive maintenance (4%): change of some aspect of the system in order to prevent the malfunction (e.g. improvement of error handling, introduction of types of controls, etc.). Typically is carried out when it find out, and then corrects, an actual fault or potential fault which has not yet manifested in the form of malfunction. Fabio Carollo - ISO/IEC 14764, IEEE

20 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Software Maintenance Enhancements in the form of adaptive and perfective maintenance, are often very costly and time consuming. They may consume a significant portion of maintenance costs. Emergency maintenance is a part of corrective maintenance. It is an unscheduled modification performed to temporarily keep a system operational pending corrective Fabio Carollo - ISO/IEC 14764, IEEE

21 Software Maintenance Strategy
The strategy prepares for the human and materiel resources required to provide software maintenance for software products. Maintainers should monitor the development effort for maintainability (that is the capability of the software product to be modified) . Results from maintainability analyses should be used as aids in planning for maintenance. This analysis should be provided as input into development of the maintenance strategy. The software maintenance strategy should consist of the following elements:: Maintenance concept; Maintenance plan; Resource analysis. Fabio Carollo - ISO/IEC 14764, IEEE

22 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Maintenance Concept The Maintenance Concept is documented in the maintenance plan. To achieve optimum software maintenance planning, the maintenance concept should be developed when the initial software product needs are first expressed The maintenance concept should address: The scope of software maintenance; Defining the overall Maintenance Process; The designation of who will provide maintenance; An estimate of maintenance costs Fabio Carollo - ISO/IEC 14764, IEEE

23 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Maintenance Plan The purpose of Maintenance Planning is to plan maintenance activities and to acquire the resources required sufficiently early for them to be available as soon as the software product transitions to maintenance. IEEE Std 1058 may be used for guidance in maintenance planning. Fabio Carollo - ISO/IEC 14764, IEEE

24 Fabio Carollo - ISO/IEC 14764, IEEE 14764-2006
Resource Analysis Once the scope of maintenance and which organization is known, they can be determined: The personnel; The maintenance environment; The financial resource requirements. The acquirer with assistance from the supplier (developer) normally determines the resource requirements for software maintenance. Fabio Carollo - ISO/IEC 14764, IEEE


Download ppt "Software Engineering — Software Life Cycle Processes — Maintenance"

Similar presentations


Ads by Google