Escolar Documentos
Profissional Documentos
Cultura Documentos
Software Engineering
Semester - I
Software Maintenance
Categories of Maintenance
Corrective maintenance
Adaptive maintenance
Perfective maintenance
Preventive maintenance
There are long term effects of corrective, adaptive and perfective changes.
This leads to increase in the complexity of the software, which reflect
deteriorating structure. The work is required to be done to maintain it or to
reduce it, if possible.
Program Understanding
Ripple Effect
The third phase consists of accounting for all of the ripple effect as a
consequence of program modifications.
The fourth phase consists of testing the modified program to ensure that
the modified program has at least the same reliability level as before.
Maintainability
Each of these four phases and their associated software quality attributes
are critical to the maintenance process. All of these factors must be
combined to form maintainability.
Maintenance Models
Quick-fix Model
Problem
found
Fix it
Fig. : The quick-fix model
10
11
Redesign current
version and
implementation
Characterize
proposed
modifications
12
13
Old system
New system
Requirements analysis
Requirements analysis
Design
Components
library
Design
Source code
Source code
Test data
Test data
14
Boehms Model
Boehm proposed a model for the maintenance process based upon
the economic models and principles.
15
Management decisions
Proposed changes
Approved changes
Change
implementation
Evaluation
Results
New version of
software
16
It is a typical maintenance model and has eight phases in cycle fashion. The
phases are shown in Fig. given below
17
Phases :
1. Change request phase
2. Estimate phase
3. Schedule phase
4. Programming phase
5. Test phase
6. Documentation phase
7. Release phase
8. Operation phase
18
where
Regression Testing
Regression testing is the process of retesting the modified parts of the
software and ensuring that no new errors have been introduced into
previously test code.
Regression testing tests both the modified code and other parts of the
program that may be affected by the program change. It serves many
purposes :
Sr.
No.
Development testing
Regression testing
1.
2.
3.
4.
5.
21
Software Reliability
Basic Concepts
There are three phases in the life of any hardware component i.e.,
burn-in, useful life & wear-out.
In burn-in phase, failure rate is quite high initially, and it starts
decreasing gradually as the time progresses.
23
Software Reliability
24
25
26
27
28
Software Quality
Different people understand different meanings of quality like:
conformance to requirements
fitness for the purpose
level of satisfaction
29
30
Reliability
Correctness
The extent to
specifications.
Consistency &
precision
Robustness
Simplicity
Traceability
Usability
which
software
32
meets
its
Accuracy
Clarity &
Accuracy of
documentation
10
Conformity of
operational
environment
11
Completeness
12
Efficiency
13
Testability
14
Maintainability
33
15
Modularity
16
Readability
17
Adaptability
18
Modifiability
19
Expandability
20
Portability
i.
Product Operation
Correctness
Efficiency
Integrity
Reliability
Usability
Maintainability
Flexibility
Testability
Portability
Reusability
Interoperability
38
Sr.No.
Quality Factors
Purpose
Integrity
Flexibility
Reusability
Interoperability
Quality criteria
40
Operability
Training
I/O volume
I/O rate
Access control
Access audit
Storage efficiency
Execution efficiency
Software Reliability
10
Traceability
The ability to
requirements.
link
software
components
11
Completeness
12
Accuracy
13
Error tolerance
14
Consistency
15
Simplicity
16
Conciseness
17
Instrumentation
42
to
Software Reliability
18
Expandability
19
Generability
20
Selfdescriptiveness
21
Modularity
22
Machine
independence
23
Software system
independence
24
Communication
commonality
25
ISO 9126
Functionality
Reliability
Usability
Efficiency
Maintainability
Portability
45
Software Reliability
Characteristic/
Attribute
Functionality
Suitability
Accuracy
Interoperability
Security
Reliability
Maturity
Fault tolerance
Recoverability
Usability
Operability
Efficiency
Time behavior
Resource
behavior
Maintainability
Analyzability
Changeability
Stability
Testability
48
Portability
Adaptability
Installability
Conformance
Replaceability
Table : Software quality characteristics and attributes The ISO 9126 view
49
51
52
Q8. Which one is not a product quality factor of McCall quality model?
(a) Product revision
(b) Product operation
(c) Product specification
(d) Product transition
Q9. Which one is not a phase of bath tub curve of hardware reliability
(a) Burn-in
(b) Useful life
(c) Wear-out
(d) Test-out
Q10. Software reliability is
(a) the probability of failure free operation of a program for a specified time in
a specified environment
(b) the probability of failure of a program for a specified time in a specified
environment
(c) the probability of success of a program for a specified time in any
environment
(d) None of the above
53
Thank You