SlideShare a Scribd company logo
Software
Engineering
UNIT V –
SOFTWARE
MAINTENANCE
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
1
Tables of Content
Software Maintenance, Maintenance Process
Models, Maintenance Cost, Software
Configuration Management
Software Reuse: What can be Reused? Why
almost no Reuse, Basic Issues in Reuse
Approach, Reuse at Organization level
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
2
SOFTWARE
MAINTENANCE
 Software maintenance denotes any changes
made to a software product after it has been
delivered to the customer.
 On the other hand, software products do not
need maintenance on this count, but need
maintenance to correct errors, enhance
features, port to new platforms, etc.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
3
Types of Software
Maintenance
 Corrective: It is necessary either to rectify the bugs
observed while the system is in use.
 Adaptive: Adding new features to the existing code.
 Perfective: Typically made to improve the
maintainability of the code.
 Inspection: They are usually made as a result of
code inspection to reduce the likelihood of a failure.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
4
Maintenance Process
Models
 Two types of models for s/w maintenance is
proposed
 1st model – Small networks were the code is
changed directly and changes are reflected in the
relevant documents later.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
5
Maintenance Process
Models -1
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
6
Maintenance Process
Models
 2nd model – The amount of rework required is
significant.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
7
Maintenance Process
Models -2
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
8
Maintenance Cost
 Boehm [1981] proposed a formula for estimating
maintenance costs as part of his COCOMO cost
estimation model.
 Boehm’s maintenance cost estimation is made
in terms of a quantity called the annual change
traffic (ACT).
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
9
Maintenance Cost
 Annual Change Traffic (ACT)
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
10
 The annual change traffic (ACT) is multiplied
with the total development cost to arrive at
the maintenance cost:
Maintenance cost = ACT × Development cost
Maintenance Cost
 Most maintenance cost estimation models, give
only approximate results because they do not
take into account several factors such as
 experience level of the engineers, and
 familiarity of the engineers with the product,
 hardware requirements,
 software complexity, etc.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
11
Software Configuration
Management
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
12
 The configuration of the software is the state
of all project deliverables at any point of time;
and software configuration management
deals with effectively tracking and controlling
the configuration of a software during its life
cycle.
Necessity of Software
Configuration Management
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
13
 Problems associated with concurrent access
 Providing a stable development environment
 System accounting and maintaining status
information
 Handling variants
Software Configuration
Management Activities
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
14
Configuration identification
Configuration control
Software Configuration
Management Activities
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
15
 Configuration identification
 Project managers normally classify the
objects associated with a software
development into three main categories—
Controlled,
Pre-controlled, and
Uncontrolled.
Software Configuration
Management Activities
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
16
 Controlled objects are those that are
already under configuration control.
 Pre-controlled objects are not yet under
configuration control, but will eventually be
under configuration control.
 Uncontrolled objects are not subject to
configuration control.
Software Configuration
Management Activities
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
17
 Controllable objects include both controlled and pre-
controlled objects. Typical controllable objects include:
 Requirements specification document
 Design documents
 Tools used to build the system, such as compilers,
linkers, lexical analyzers, parsers, etc.
 Source code for each module
 Test cases
 Problem reports
Software Configuration
Management Activities
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
18
 Configuration control allows only authorized changes to
the controlled objects to occur and prevents unauthorized
changes.
 In order to change a controlled object such as a module, a
developer can get a private copy of the module by a reserve
operation (see in the Figure).
 Configuration management tools allow only one person to
reserve a module at any time.
 Once an object is reserved, it does not allow any one else to
reserve this module until the reserved module is restored.
Software Configuration
Management Activities
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
19
Tables of Content
Software Maintenance, Maintenance Process
Models, Maintenance Cost, Software
Configuration Management
Software Reuse: What can be Reused? Why
almost no Reuse, Basic Issues in Reuse
Approach, Reuse at Organization level
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
20
Software Reuse
 Software products are expensive.
 A possible way to reduce development cost
is to reuse parts from previously developed
software.
 A reuse approach that is of late gaining
prominence is component-based
development.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
21
What can be reused?
 The prominent items that can be effectively
reused are:
 Requirements specification
 Design
 Code
 Test cases
 Knowledge
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
22
Why almost no reuse
so far?
 Engineers feeling that the current system that
they are developing is similar to the last few
systems built.
 No attention is paid on how not to duplicate
what can be reused from previously
developed systems.
 Everything is being built from scratch.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
23
Why almost no reuse
so far?
 Creation of components that are reusable in
different applications is a difficult problem.
 It is very difficult to anticipate the exact
components that can be reused across
different applications.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
24
Why almost no reuse
so far?
The following observation is significant:
 Mathematical libraries are being reused
 No one in their mind would think of writing
a routine to compute sine or cosine.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
25
Basic issues in any
reuse program
The following are some of the basic
issues that must be clearly understood
for starting any reuse program:
 Component creation.
 Component indexing and storing.
 Component search.
 Component understanding.
 Component adaptation.
 Repository maintenance.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
26
Basic issues in any
reuse program
 Component creation - the reusable components
have to be first identified. Selection of the right kind of
components having potential for reuse is important.
 Component indexing and storing - Indexing
requires classification of the reusable components so
that they can be easily searched when we look for a
component for reuse. The components need to be
stored in a relational database management system
(RDBMS) or an object-oriented database system
(ODBMS) for efficient access when the number of
components becomes large.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
27
Basic issues in any
reuse program
 Component search - The programmers
need to search for right components matching
their requirements in a database of
components.
 Component understanding - The
programmers need a precise and sufficiently
complete understanding of what the
component does to be able to decide whether
they can reuse the component.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
28
Basic issues in any
reuse program
 Component adaptation - Often, the components
may need adaptation before they can be reused,
since a selected component may not exactly fit the
problem at hand.
 Repository maintenance - A component
repository once is created requires continuous
maintenance. New components, as and when
created have to be entered into the repository. The
faulty components have to be tracked.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
29
Basic issues in any
Reuse Approach
 A promising approach that is being adopted by
many organizations is to introduce a building block
approach into the software development process.
 Domain Analysis
 Component Classification
 Searching
 Repository Maintenance
 Reuse without Modifications
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
30
Basic issues in any
Reuse Approach
 Domain Analysis:
 The aim of domain analysis is to identify the reusable
components for a problem domain.
1. Reuse domain
2. Evolution of a reuse domain
1. Reuse domain – Application Areas
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
31
Basic issues in any
Reuse Approach
2. Evolution of a reuse domain - The ultimate results
of domain analysis is development of problem oriented
languages. The problem-oriented languages are also
known as application generators.
 Stage 1 : There is no clear and consistent set of notations.
 Stage 2 : Here, only experience from similar projects are
used in a development effort.
 Stage 3: At this stage, the domain is ripe for reuse.
 Stage 4: The domain has been fully explored.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
32
Basic issues in any
Reuse Approach
 Component Classification
 Properly classified in order to develop an effective
indexing and storage scheme
 Hardware reuse has been very successful
 At the lowest level, the components are described
in several forms — natural language, description,
logic schema, timing information, etc.
 The higher the level at which a component is
described, the more is the ambiguity.
 This has motivated the Prieto-Diaz’s
classification scheme.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
33
Basic issues in any
Reuse Approach
 Prieto-Diaz’s classification scheme
 Each component is best described using a
number of different characteristics or facets.
 For example, objects can be classified using
the following:
 Actions they embody.
 Objects they manipulate.
 Data structures used.
 Systems they are part of, etc.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
34
Basic issues in any
Reuse Approach
 Searching
 A popular search technique that has proved to be
very effective is one that provides a web interface
to the repository.
 Using such a web interface, one would search an
item using an approximate automated search
using key words, and then from these results
would do a browsing using the links provided to
look up related items.
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
35
Basic issues in any
Reuse Approach
 Searching
 Repository Maintenance
 Reuse without Modifications
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
36
Basic issues in any
Reuse Approach
 Searching
 Repository Maintenance
 Reuse without Modifications
10-08-2023
DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE
DEPARTMENT
37

More Related Content

Similar to Unit V _Software Engineering_21CSCST4050.pptx

Ch16
Ch16Ch16
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptx
MohammedNouh7
 
Bug Tracking Java Project
Bug Tracking Java ProjectBug Tracking Java Project
Bug Tracking Java Project
Tutorial Learners
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the Software
IRJET Journal
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
jack952975
 
Unit 2
Unit 2Unit 2
BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...
BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...
BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...
ZaharaddeenAbubuakar
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
Jay van Zyl
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
Ian Sommerville
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
Indu Sharma Bhardwaj
 
Ch18
Ch18Ch18
Ch18
phanleson
 
M 3.1 reuse
M 3.1 reuseM 3.1 reuse
M 3.1 reuse
VIT VELLORE
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
Indu Sharma Bhardwaj
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
cricket2ime
 
Software Reuse.ppt
Software Reuse.pptSoftware Reuse.ppt
Software Reuse.ppt
gdfgdfgdf1
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd models
Sukhdeep Singh
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
smumbahelp
 
IRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking System
IRJET Journal
 
How to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdfHow to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdf
Baek Yongsun
 
127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation
Nitesh Kumar
 

Similar to Unit V _Software Engineering_21CSCST4050.pptx (20)

Ch16
Ch16Ch16
Ch16
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptx
 
Bug Tracking Java Project
Bug Tracking Java ProjectBug Tracking Java Project
Bug Tracking Java Project
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the Software
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
 
Unit 2
Unit 2Unit 2
Unit 2
 
BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...
BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...
BSG SE4201 Software Configuration Management and Maintenance Lesson 1 Novembe...
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Ch18
Ch18Ch18
Ch18
 
M 3.1 reuse
M 3.1 reuseM 3.1 reuse
M 3.1 reuse
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
 
Software Reuse.ppt
Software Reuse.pptSoftware Reuse.ppt
Software Reuse.ppt
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd models
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
IRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking System
 
How to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdfHow to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdf
 
127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation
 

Recently uploaded

Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf
Yasser Mahgoub
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
ycwu0509
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Engineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdfEngineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdf
edwin408357
 
Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...
Prakhyath Rai
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 

Recently uploaded (20)

Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 08 Doors and Windows.pdf
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Engineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdfEngineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdf
 
Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 

Unit V _Software Engineering_21CSCST4050.pptx

  • 2. Tables of Content Software Maintenance, Maintenance Process Models, Maintenance Cost, Software Configuration Management Software Reuse: What can be Reused? Why almost no Reuse, Basic Issues in Reuse Approach, Reuse at Organization level 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 2
  • 3. SOFTWARE MAINTENANCE  Software maintenance denotes any changes made to a software product after it has been delivered to the customer.  On the other hand, software products do not need maintenance on this count, but need maintenance to correct errors, enhance features, port to new platforms, etc. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 3
  • 4. Types of Software Maintenance  Corrective: It is necessary either to rectify the bugs observed while the system is in use.  Adaptive: Adding new features to the existing code.  Perfective: Typically made to improve the maintainability of the code.  Inspection: They are usually made as a result of code inspection to reduce the likelihood of a failure. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 4
  • 5. Maintenance Process Models  Two types of models for s/w maintenance is proposed  1st model – Small networks were the code is changed directly and changes are reflected in the relevant documents later. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 5
  • 6. Maintenance Process Models -1 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 6
  • 7. Maintenance Process Models  2nd model – The amount of rework required is significant. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 7
  • 8. Maintenance Process Models -2 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 8
  • 9. Maintenance Cost  Boehm [1981] proposed a formula for estimating maintenance costs as part of his COCOMO cost estimation model.  Boehm’s maintenance cost estimation is made in terms of a quantity called the annual change traffic (ACT). 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 9
  • 10. Maintenance Cost  Annual Change Traffic (ACT) 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 10  The annual change traffic (ACT) is multiplied with the total development cost to arrive at the maintenance cost: Maintenance cost = ACT × Development cost
  • 11. Maintenance Cost  Most maintenance cost estimation models, give only approximate results because they do not take into account several factors such as  experience level of the engineers, and  familiarity of the engineers with the product,  hardware requirements,  software complexity, etc. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 11
  • 12. Software Configuration Management 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 12  The configuration of the software is the state of all project deliverables at any point of time; and software configuration management deals with effectively tracking and controlling the configuration of a software during its life cycle.
  • 13. Necessity of Software Configuration Management 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 13  Problems associated with concurrent access  Providing a stable development environment  System accounting and maintaining status information  Handling variants
  • 14. Software Configuration Management Activities 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 14 Configuration identification Configuration control
  • 15. Software Configuration Management Activities 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 15  Configuration identification  Project managers normally classify the objects associated with a software development into three main categories— Controlled, Pre-controlled, and Uncontrolled.
  • 16. Software Configuration Management Activities 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 16  Controlled objects are those that are already under configuration control.  Pre-controlled objects are not yet under configuration control, but will eventually be under configuration control.  Uncontrolled objects are not subject to configuration control.
  • 17. Software Configuration Management Activities 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 17  Controllable objects include both controlled and pre- controlled objects. Typical controllable objects include:  Requirements specification document  Design documents  Tools used to build the system, such as compilers, linkers, lexical analyzers, parsers, etc.  Source code for each module  Test cases  Problem reports
  • 18. Software Configuration Management Activities 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 18  Configuration control allows only authorized changes to the controlled objects to occur and prevents unauthorized changes.  In order to change a controlled object such as a module, a developer can get a private copy of the module by a reserve operation (see in the Figure).  Configuration management tools allow only one person to reserve a module at any time.  Once an object is reserved, it does not allow any one else to reserve this module until the reserved module is restored.
  • 20. Tables of Content Software Maintenance, Maintenance Process Models, Maintenance Cost, Software Configuration Management Software Reuse: What can be Reused? Why almost no Reuse, Basic Issues in Reuse Approach, Reuse at Organization level 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 20
  • 21. Software Reuse  Software products are expensive.  A possible way to reduce development cost is to reuse parts from previously developed software.  A reuse approach that is of late gaining prominence is component-based development. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 21
  • 22. What can be reused?  The prominent items that can be effectively reused are:  Requirements specification  Design  Code  Test cases  Knowledge 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 22
  • 23. Why almost no reuse so far?  Engineers feeling that the current system that they are developing is similar to the last few systems built.  No attention is paid on how not to duplicate what can be reused from previously developed systems.  Everything is being built from scratch. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 23
  • 24. Why almost no reuse so far?  Creation of components that are reusable in different applications is a difficult problem.  It is very difficult to anticipate the exact components that can be reused across different applications. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 24
  • 25. Why almost no reuse so far? The following observation is significant:  Mathematical libraries are being reused  No one in their mind would think of writing a routine to compute sine or cosine. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 25
  • 26. Basic issues in any reuse program The following are some of the basic issues that must be clearly understood for starting any reuse program:  Component creation.  Component indexing and storing.  Component search.  Component understanding.  Component adaptation.  Repository maintenance. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 26
  • 27. Basic issues in any reuse program  Component creation - the reusable components have to be first identified. Selection of the right kind of components having potential for reuse is important.  Component indexing and storing - Indexing requires classification of the reusable components so that they can be easily searched when we look for a component for reuse. The components need to be stored in a relational database management system (RDBMS) or an object-oriented database system (ODBMS) for efficient access when the number of components becomes large. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 27
  • 28. Basic issues in any reuse program  Component search - The programmers need to search for right components matching their requirements in a database of components.  Component understanding - The programmers need a precise and sufficiently complete understanding of what the component does to be able to decide whether they can reuse the component. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 28
  • 29. Basic issues in any reuse program  Component adaptation - Often, the components may need adaptation before they can be reused, since a selected component may not exactly fit the problem at hand.  Repository maintenance - A component repository once is created requires continuous maintenance. New components, as and when created have to be entered into the repository. The faulty components have to be tracked. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 29
  • 30. Basic issues in any Reuse Approach  A promising approach that is being adopted by many organizations is to introduce a building block approach into the software development process.  Domain Analysis  Component Classification  Searching  Repository Maintenance  Reuse without Modifications 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 30
  • 31. Basic issues in any Reuse Approach  Domain Analysis:  The aim of domain analysis is to identify the reusable components for a problem domain. 1. Reuse domain 2. Evolution of a reuse domain 1. Reuse domain – Application Areas 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 31
  • 32. Basic issues in any Reuse Approach 2. Evolution of a reuse domain - The ultimate results of domain analysis is development of problem oriented languages. The problem-oriented languages are also known as application generators.  Stage 1 : There is no clear and consistent set of notations.  Stage 2 : Here, only experience from similar projects are used in a development effort.  Stage 3: At this stage, the domain is ripe for reuse.  Stage 4: The domain has been fully explored. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 32
  • 33. Basic issues in any Reuse Approach  Component Classification  Properly classified in order to develop an effective indexing and storage scheme  Hardware reuse has been very successful  At the lowest level, the components are described in several forms — natural language, description, logic schema, timing information, etc.  The higher the level at which a component is described, the more is the ambiguity.  This has motivated the Prieto-Diaz’s classification scheme. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 33
  • 34. Basic issues in any Reuse Approach  Prieto-Diaz’s classification scheme  Each component is best described using a number of different characteristics or facets.  For example, objects can be classified using the following:  Actions they embody.  Objects they manipulate.  Data structures used.  Systems they are part of, etc. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 34
  • 35. Basic issues in any Reuse Approach  Searching  A popular search technique that has proved to be very effective is one that provides a web interface to the repository.  Using such a web interface, one would search an item using an approximate automated search using key words, and then from these results would do a browsing using the links provided to look up related items. 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 35
  • 36. Basic issues in any Reuse Approach  Searching  Repository Maintenance  Reuse without Modifications 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 36
  • 37. Basic issues in any Reuse Approach  Searching  Repository Maintenance  Reuse without Modifications 10-08-2023 DR.M.PARTHIBAN, ASSOCIATE PROFESSOR, CSE DEPARTMENT 37