SlideShare a Scribd company logo
1 of 37
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

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.pptxMohammedNouh7
 
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 SoftwareIRJET Journal
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptxjack952975
 
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-15Jay van Zyl
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirementcricket2ime
 
Software Reuse.ppt
Software Reuse.pptSoftware Reuse.ppt
Software Reuse.pptgdfgdfgdf1
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd modelsSukhdeep Singh
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
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 SystemIRJET 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.pdfBaek Yongsun
 
127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentationNitesh Kumar
 

Similar to Unit V _Software Engineering_21CSCST4050.pptx (20)

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
 
Sdpl1
Sdpl1Sdpl1
Sdpl1
 

Recently uploaded

(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 

Recently uploaded (20)

(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 

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