Professional Documents
Culture Documents
SOFTWARE_ENGINEERING_2_PRESENTATION[1] - Read-Only
SOFTWARE_ENGINEERING_2_PRESENTATION[1] - Read-Only
MAINTENANCE
AND RELIABILITY
B y Mar y O ng ak i
SC T2 2 1 -C 0 0 2 -0 0 0 5 / 2 0 2 2
SOFTWARE
MAINTENANCE
• software maintenance is the process of modifying
software after it has been delivered to correct
faults, improve performance and adapt it to a
changed environment.
• Lo n g ev i t y - En s u r es t h e s o f t war e r emai n s u s ef u l an d r el ev an t o v er
t i me.
• Us er s at i s f act i o n - En h an ces u s er ex p er i en ce b y p r o v i d e u p d at es
an d i mp r o v emen t s .
•E n h a n c e d S e c u r i t y s y s t e m - M a i n t e n a n c e c a n i n c l u d e s e c u r i t y
updates and patches helping to ensure that the software is
protected against potential threat and attacks
•I n c r e a s e d U s e r S a t i s f a c t i o n - Re g u l a r s o f t w a r e m a i n t e n a n c e h e l p s
t o k e e p t h e s o f t w a r e u p - t o - d a t e a n d r e l e va n t , l e a d i n g t o i n c r e a s e d
user satisfaction and adoption.
•E x t e n d e d S o f t w a r e L i f e : P r o p e r s o f t w a r e m a i n t e n a n c e c a n e x t e n d
the life of the software, allowing it to be used for longer periods
of time and reducing the need for costly replacements.
•Better Alignment with business goals: Regular
Implementation-
Design-Planning
Writing and
the changes
integrating the
needed
necessary code.
Maintenance
Testing-Ensuring
changes work as
Documentation- Process
Updating
intended and do
documentation to
not introduce new
reflect changes
issues.
Release-Deploying
the updated
software to the
users.
• Cost- can be expensive and time-
consuming
•U s e r r e s i s t a n c e : U s e r s m a y r e s i s t c h a n g e s o r u p d a t e s
to the software, leading to decreased satisfaction and
adoption.
•I n a d e q u a t e t e s t i n g : I n a d e q u a t e t e s t i n g o r i n c o m p l e t e
testing after maintenance can lead to errors, bugs,
and potential security vulnerabilities.
•Te c h n i c a l d e b t : O v e r t i m e , s o f t w a r e m a i n t e n a n c e c a n
lead to technical debt, where the cost of maintaining
and updating the software
Quick-fix model-Immediate patching of bugs without
thorough analysis; suitable for urgent fixes.
Maintenance
Reengineering Model-Comprehensive analysis and
redesign of the system to improve its structure and Models
performance
• A u t o m a t e Te s t i n g - I m p l e m e n t a u t o m a t e d t e s t s t o
quickly identify regressions
• C o s t E ff i c i e n c y - R e d u c e s m a i n t e n a n c e c o s t s a n d
downtime.
• Software Complexity- Higher
complexity increases the likelihood of
errors.
• Operational Environment-Conditions
Reliability under which the software operates
Software
Failure Rate- Number of failures per
Reliability unit time.
Exponential Distribution Model- Assumes constant failure rate; suitable for the initial
phase of software operation.
Fault Tolerance: Techniques like redundancy, exception handling, and graceful degradation to maintain
functionality.
Error Detection and Correction: Implementing robust testing, debugging, and validation processes.
Software Verification and Validation (V&V): Ensuring the software meets specifications and requirements.
Formal Methods: Using mathematical models to specify, develop, and verify software systems.
Code Reviews and Inspections: Regularly reviewing code to identify and fix potential issues early.
Software Reliability Engineering (SRE)
https://www.geeksforgeeks.org