Software Maintenance Unit7-1

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 10

ISO 9000 Certification

The ISO 9000 standard determines the guidelines for maintaining a quality
system. The ISO standard mainly addresses operational methods and
organizational methods such as responsibilities, reporting, etc. ISO 9000
defines a set of guidelines for the production process and is not directly
concerned about the product itself.
• ISO 9001: This standard applies to the organizations engaged in
design, development, production, and servicing of goods. This is
the standard that applies to most software development
organizations.

• ISO 9002: This standard applies to those organizations which do


not design products but are only involved in the production.
Examples of these category industries contain steel and car
manufacturing industries that buy the product and plants designs
from external sources and are engaged in only manufacturing
those products. Therefore, ISO 9002 does not apply to software
development organizations.

• ISO 9003: This standard applies to organizations that are involved


only in the installation and testing of the products. For example,
Gas companies.
Software Maintenance
Software maintenance is a part of the Software Development
Life Cycle. Its primary goal is to modify and update software
application after delivery to correct errors and to improve
performance. Software is a model of the real world. When
the real world changes, the software require alteration
wherever possible.
Software Maintenance is an inclusive activity that includes
error corrections, enhancement of capabilities, deletion of
obsolete capabilities, and optimization.
Need for Maintenance

• Software Maintenance is needed for:-


• Correct errors
• Change in user requirement with time
• Changing hardware/software requirements
• To improve system efficiency
• To optimize the code to run faster
• To modify the components
• To reduce any unwanted side effects.
Types of Software Maintenance
1. Corrective Maintenance
• Corrective maintenance aims to correct any remaining errors
regardless of where they may cause specifications, design,
coding and documentation, etc.
2. Adaptive Maintenance
• It contains modifying the software to match changes in the
changing environment.
3 Preventive Maintenance
• It is the process by which we prevent our system from being
obsolete. It involves the concept of reengineering & reverse
engineering in which an old system with old technology is re-
engineered using new technology. This maintenance prevents
the system from dying out.
4. Perfective Maintenance
• It defines improving processing efficiency or performance or
restricting the software to enhance changeability. This may
contain enhancement of existing system functionality,
improvement in computational efficiency, etc.
Software Reverse Engineering
• Software Reverse Engineering is a process of recovering the
design, requirement specifications, and functions of a product
from an analysis of its code. It builds a program database and
generates information from this.
Steps of Software Reverse Engineering
1. Collection Information
2. Examining the information
3. Extracting the structure
4. Recording the functionality
5. Recording data flow
6. Recording control flow
7. Review extracted design
8. Generate documentation
What is software re-engineering

• Software Reengineering is the process of


updating software. This process includes
developing additional features on the
software and adding functionalities for better
and more efficient software. As far as the
definition goes, this process also entails that
the software product will have improved
maintainability.

You might also like