You are on page 1of 6

UNIT-5

1. Software Maintenance: (DOne)


1.1 Software as an Evolutionary Entity, (DOne)
1.2 Need for Maintenance, (DOne)
2. Categories of Maintenance: (Done)
2.1 Preventive,
2.2 Corrective
2.3 Perfective Maintenance,
3. Cost of Maintenance, (Done)
4. Software ReEngineering,
5. Reverse Engineering,
6. Software Configuration Management Activities,
7. Change Control Process,
8. Software Version Control,
9. Defect Detection and Removal: Defect Amplification Model, an
Overview of CASE Tools.

1. Software Maintenance:
 Software maintenance is the process of modifying the software
product and corrects the faults if any exists in the system after it has
been delivered to the customer.
 Need For maintenance:
1. Correct faults
2. Improve the design
3. Implements the enhancements.
4. Etc.
1.1 Software as an Evolutionary Entity:
 In software engineering the process of developing, maintaining and
updating the software for various reasons.
 In the life of software the evolution is inevitable.

 Need For the Maintenance:


1. Correct Faults
2. Implement Enhancement
3. Improve the design
4. Requirement changes
5. Environment Changes
6. Security Breaches
7. Improvement to the system

2. Categories of Maintenance:
1. Corrective Maintenance: Corrective maintenance is needed either to
rectify the some bugs observed when system was in use, or to enhance
the performance of the system.
2. Perfective Maintenance: A software product needs continuous
maintenance to meet all the demands of the customer. That means
maintenance makes the software perfect.
3. Preventive Maintenance: Maintenance that includes modification and
updating to prevent future problem of software.

 Mathematical Expression:
M=P+K(C-D)
M- Total Effort on maintenance
P- Productivity Effort
K-Empirical Constant
C- A measure of complexity that can attribute towards lack of good design
D- Familiarity with software.

4. Software ReEnginerring:
 Reengineering is process modifying and re-organizing the software system
or the process redesign a product or particular component to make
efficient changes.
 The main aim of the re-engineering can be:
1. Reduce the operational cost,
2. Add new element to the current design or
3. To improve any particular element to prevent future problems.
 Example

5. Reverse Engineering:
 It is a process of recovering the design, module specification and
requirement from the analysis of the code.
 Purpose of reverse engineering:
 Software reverse engineering can be used for the better
understanding of the underlying source code for the
maintenance and improvement of the software.
 In some case, goal of reverse engineering can be simply be
re-documentation of legacy system.

Software Configuration Management Activities:

 Software Configuration Management (SCM) is defined as a process


to systematically manage, organize and control the changes in the
document, code and other entities in during SDLC.
 The main aim is to make successful modification with minimal mistakes.
 The process involved in SCM:
1. Identification and Establishment:
 Identification of the configuration item and establish
relationship between them.
2. Version Control:
 Creating the version of the existing product to build new
product from the help of SCM system.
3. Change Control:
 Controlling changes to configuration items CI.
 A Change Request (CR) is submitted and evaluated to assess
technical merit, potential side effect, impact on other function
and configuration and total cost of changes.
4. Configuration Auditing:
 In Configuration audit we take into account various modification
that is made to the Configuration Items.
 We can later use this audit documents to track changes.

 SCM Tools:
1. SaltStack
2. CFEngine
3. SmartFrog
6. Change Control Process(CCP):
 Changes mainly refer to the transition from one state to another
improved state.
 CCP control, support and manages the changes to code,
document etc.
 Change mng. Doesn’t come under SDLC but still has a great
importance.
 Process of Change Management:
1. Creating Request for Change
2. Reviewing the request.
3. Planning the Change
4. Testing the change
5. Implementing the change
6. Review the modified system
7. Close the process.
 Importance of Change:
1. Improving the existing system.
2. Implementing Enhancement
3. Enhancing Innovation
4. Including new Technology

8. Software Version Control


 Version control also known as source control used is practice of tracking
and managing the changes made to the software code.
 Version control helps the developing team to control the changes made to
the software over period of time.
10. Defect Detection and Removal:

11. Defect Amplification Model, an Overview of CASE Tools:


CASE Tools:
 CASE-Computer Aided Software Engineering.
 CASE is software application which is used to automate the SDLC
activities.
 There are various tools available to automate SDLC activities like
project management tool, Analysis tool, design tool etc.
 CASE tools helps to accelerate the development of project to
produce the desired result and uncover flaws.
 Components of CASE tools:
1. Central Repository:
 CASE tool requires common repository which acts as source
of common, integrated and consistent information.
 In central repository we store product specification,
diagram and other documents.
2. Upper Case Tools:
 The upper case tools are for planning, analysis and design
phase of SDLC.
3. Lower Case Tools:
 Lower case tools are used for implementation, testing and
maintenance.
4. Integrated Case Tools - Integrated CASE tools are helpful in all the
stages of SDLC, from Requirement gathering to Testing and
documentation.

You might also like