尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
Software Evolution and Maintenance
Chapter 3
Evolution and Maintenance Models
outline
• 1. General Idea
• 2. Reuse Oriented Model
• 2.1 Quick fix model
• 2.2 Iterative enhancement model
• 2.3 Full reuse model
• 3. Software Maintenance Life Cycle
models
• 3.1 The staged model
• 3.1.1 The staged model for CSS
• 3.1.2 The staged model for FLOS
• 3.2 Change Mini-Cycle Model
• 4. Software Maintenance Standard
• 4.1 IEEE/EIA 1219 Maintenance Process
• 4.2 ISO/IEC 14764 Maintenance Process
1. General Idea
• One traditional software development life cycle (SDLC) is shown in Figure, which
comprises two discrete phases, namely:
• Development
• Maintenance
• Maintenance approaching two-thirds of the product life-span.
• The percentages in Figure 3.1 indicate relative costs.
Software maintenance has unique characteristics:
• Constraints of an existing system: Maintenance is performed on an operational system. Therefore, all
modifications must be compatible with the constraints of the existing architecture, design, and code.
• Shorter time frame: A maintenance activity may span from a few hours to a few months, whereas software
development may span one or more years.
• Available test data: In software development, test cases are designed from scratch, whereas software
maintenance can select a subset of these test cases and execute them as regression tests.
2. Reuse Oriented Models
• One obtains a new version of an old system by modifying one or several
components of the old system and possibly adding new components.
• The three process models for maintenance:
Quick fix model:
The changes are quickly made to the
code and then to the accompanying
documentation
Iterative enhancement model:
First changes are made to the
highest level documents. Eventually,
changes are propagated down to the
code level
Full reuse model:
A new system is built from components
of the old system and others available in
the repository
2.1 Quick Fix Model
1. Source code is modified to fix the problem.
2. Necessary changes are made to the relevant
documents.
3. The new code is recompiled to produce a
new version.
Often changes to the source code are made with
no prior investigation such as analysis of
impact of the changes, ripple effects of the
changes, and regression testing.
Figure 3.2 The quick fix model ©IEEE, 1990
2.2 Iterative enhancement model
The iterative enhancement model, explained in Figure
3.3, shows how changes flow from the very top level
documents to the lowest-level documents.
The model works as follows:
1. It begins with the existing system’s artifacts, namely,
requirements, design, code, test, and analysis
documents.
2. It revises the highest-level documents affected by the
changes and propagates the changes down through
the lower-level documents.
3. The model allows maintainers to redesign the
system, based on the analysis of the existing system.
Figure 3.3
The iterative enhancement model
©IEEE, 1990
2.3 Full reuse model
• The main assumption in this model is
the availability of a repository of
artifacts describing the earlier versions
of the systems.
• In the full reuse model, reuse is
explicit and the following activities are
performed.
Figure 3.4 The full reuse model ©IEEE, 1990
3. Software Maintenance Life Cycle models
CSS Vs. FLOSS
• Free/Libre and Open Source Software(FLOSS) is
distributed under a licensing agreement which
allows computer code to be shared, viewed and
modified by other users and organizations.
• open source software is available for the general
public to use and modify from its original design
free of charge
• Closed source software (CSS)can be defined as
proprietary software distributed under a
licensing agreement to authorized users with
private modification, copying, and republishing
restrictions. Or in layman terms, the source
code is not shared with the public for anyone to
look at or change
3.1.1 The Staged Model for CSS
• Their model divides the lifespan of a typical system into four stages:
• Initial development – The first delivered version is produced. Knowledge about the system is fresh and
constantly changing. In fact, change is the rule rather than the exception. Eventually, an architecture
emerge and stabilizes.
• Evolution – Simple changes are easily performed and more major changes are possible too, albeit the
cost and risk are now greater than in the previous stage. Knowledge about the system is still good,
although many of the original developers will have moved on. For many systems, most of its lifespan is
spent in this phase.
• Servicing – The system is no longer a key asset for the developers, who concentrate mainly on
maintenance tasks rather than architectural or functional change. Knowledge about the system has
lessened and the effects of change have become harder to predict. The costs and risks of change have
increased significantly.
• Phase out – It has been decided to replace or eliminate the system entirely, either because the costs of
maintaining the old system have become prohibitive or because there is a newer solution waiting in the
pipeline. An exit strategy is devised and implemented, often involving techniques such as wrapping and
data migration. Ultimately, the system is shut down.
3.1.1 The Staged Model for CSS
Figure 3.5 The simple staged model for the CSS life cycle ©IEEE, 2000
3.1.1 The Staged Model for CSS
Figure 3.6 The versioned staged model for the CSS life cycle ©IEEE, 2000
3.1.2 The Staged Model for FLOSS
Three major differences are identified between CSS systems and FLOSS systems.
• In Figure 3.7, the rectangle with the label “Initial development” has been visually highlighted
because it can be the only initial development stage in the evolution of FLOSS systems. In other
words, it does not have any evolution track for FLOSS system.
• With some systems that were analyzed, after a transition from Evolution to Servicing, a new period of
evolution was observed. This possibility is depicted in Figure as a broken arc from the Servicing stage
to the Evolution stage.
In general, the active developers of FLOSS systems get frequently
replaced by new developers. Therefore, the dashed line in Figure
exhibits this possibility of a transition from Phaseout stage to
Evolution stage.
Figure 3.7 The staged model for
FLOSS system ©ACM, 2007
3.2 Change Mini-Cycle Model
Software change is a process that may introduce new
requirements to the existing system, or may need to alter
the software system if requirements are not correctly
implemented. In order to capture this, an evolutionary
model known as change mini-cycle.
Figure 3.8 The change mini-cycle ©Springer, 2008
4. Software Maintenance Standard
• IEEE and ISO have both addressed s/w maintenance processes.
• IEEE/EIA 1219 and ISO/IEC 14764 as a part of ISO/IEC12207
(life cycle process).
• ISO/IEC 14764 describes s/w maintenance as an iterative process
for managing and executing software maintenance activities.
4.1 IEEE/EIA 1219 Maintenance Process
The standard focuses on a seven-phases:
• Problem Identification.
• Analysis.
• Design.
• Implementation.
• System Test.
• Acceptance Test.
• Delivery.
Figure 3.9 Seven phases of IEEE maintenance
process ©IEEE, 2004
4.2 ISO/IEC 14764 Maintenance Process
The maintenance process comprises the following high level
activities:
1. Process Implementation.
2. Problem and Modification Analysis.
3. Modification Implementation.
4. Maintenance Review and Acceptance.
5. Migration.
6. Retirement.
Figure 3.17 ISO/IEC 14764 iterative
maintenance process ©IEEE, 2004
Thank you ….
Speaker Information
 Moutasm tamimi
 Masters of Software Engineering
 Independent Consultant , IT Researcher.
 CEO at ITG7.com , IT-CRG.com
 Email: tamimi@itg7.com,
Click Here
Click HereI T G 7
Click Here
Click HereIT-CRG

More Related Content

What's hot

Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Angelin R
 
Agile software development
Agile software developmentAgile software development
Agile software development
Muhammad Amjad Rana
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
Nana Sarpong
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
Rupesh Vaishnav
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Mohammad Faizan
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
swatisinghal
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
SayedFarhan110
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
jhudyne
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance ppt
Anas Usman
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral Model
BenedictArpon
 
Spiral model
Spiral modelSpiral model
Spiral model
DivyaStephen3
 
Prototype model
Prototype modelPrototype model
Prototype model
sadhana8
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
Indu Sharma Bhardwaj
 
Sdlc models
Sdlc modelsSdlc models
SOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.pptSOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.ppt
DrTThendralCompSci
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
bhadjaashvini1
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
Rajeev Sharan
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
IIUI
 

What's hot (20)

Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance ppt
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral Model
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
SOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.pptSOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.ppt
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 

Similar to Software Evolution and Maintenance Models

Ch3-Models.ppt
Ch3-Models.pptCh3-Models.ppt
Ch3-Models.ppt
JOANADANIELAMANTOVAN1
 
Software Maintenance Chapter 3 Models
Software Maintenance Chapter 3 ModelsSoftware Maintenance Chapter 3 Models
Software Maintenance Chapter 3 Models
albaraahasan1
 
PS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenancePS02CINT22 SE Software Maintenance
PS02CINT22 SE Software Maintenance
Conestoga Collage
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
SaileshSingh27
 
SDLC
SDLC SDLC
Lecture 2.pptx
Lecture 2.pptxLecture 2.pptx
Lecture 2.pptx
EddyMakoyo1
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
Anish874317
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
FLYMAN TECHNOLOGY LIMITED
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
bipulpwc
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
AmnaAhsaan1
 
Pawan111
Pawan111Pawan111
Pawan111
ranjeetdon
 
N1803017478
N1803017478N1803017478
N1803017478
IOSR Journals
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
Manusha Dilan
 
11 system development models
11 system development models11 system development models
11 system development models
meenakshi24
 
07_SoftwareEvolution.pdf for student of comuter
07_SoftwareEvolution.pdf for student of comuter07_SoftwareEvolution.pdf for student of comuter
07_SoftwareEvolution.pdf for student of comuter
abdulghaffarfrotan20
 
The process
The processThe process
The process
prakashvs7
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
ShudipPal
 
Software Evolution course outline & class notes.pdf
Software Evolution course outline & class notes.pdfSoftware Evolution course outline & class notes.pdf
Software Evolution course outline & class notes.pdf
edwinmwenda202
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
RAVALCHIRAG1
 
SDLC Model
SDLC  ModelSDLC  Model

Similar to Software Evolution and Maintenance Models (20)

Ch3-Models.ppt
Ch3-Models.pptCh3-Models.ppt
Ch3-Models.ppt
 
Software Maintenance Chapter 3 Models
Software Maintenance Chapter 3 ModelsSoftware Maintenance Chapter 3 Models
Software Maintenance Chapter 3 Models
 
PS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenancePS02CINT22 SE Software Maintenance
PS02CINT22 SE Software Maintenance
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
 
SDLC
SDLC SDLC
SDLC
 
Lecture 2.pptx
Lecture 2.pptxLecture 2.pptx
Lecture 2.pptx
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Pawan111
Pawan111Pawan111
Pawan111
 
N1803017478
N1803017478N1803017478
N1803017478
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
11 system development models
11 system development models11 system development models
11 system development models
 
07_SoftwareEvolution.pdf for student of comuter
07_SoftwareEvolution.pdf for student of comuter07_SoftwareEvolution.pdf for student of comuter
07_SoftwareEvolution.pdf for student of comuter
 
The process
The processThe process
The process
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Software Evolution course outline & class notes.pdf
Software Evolution course outline & class notes.pdfSoftware Evolution course outline & class notes.pdf
Software Evolution course outline & class notes.pdf
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
SDLC Model
SDLC  ModelSDLC  Model
SDLC Model
 

More from Moutasm Tamimi

Software Quality Assessment Practices
Software Quality Assessment PracticesSoftware Quality Assessment Practices
Software Quality Assessment Practices
Moutasm Tamimi
 
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsReengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Moutasm Tamimi
 
Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminaries
Moutasm Tamimi
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and tool
Moutasm Tamimi
 
Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises
Moutasm Tamimi
 
Critical Success Factors (CSFs) In International ERP Implementations with que...
Critical Success Factors (CSFs) In International ERP Implementations with que...Critical Success Factors (CSFs) In International ERP Implementations with que...
Critical Success Factors (CSFs) In International ERP Implementations with que...
Moutasm Tamimi
 
Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3
Moutasm Tamimi
 
Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1
Moutasm Tamimi
 
Recovery in Multi database Systems
Recovery in Multi database SystemsRecovery in Multi database Systems
Recovery in Multi database Systems
Moutasm Tamimi
 
Software Quality Models: A Comparative Study paper
Software Quality Models: A Comparative Study  paperSoftware Quality Models: A Comparative Study  paper
Software Quality Models: A Comparative Study paper
Moutasm Tamimi
 
ISO 29110 Software Quality Model For Software SMEs
ISO 29110 Software Quality Model For Software SMEsISO 29110 Software Quality Model For Software SMEs
ISO 29110 Software Quality Model For Software SMEs
Moutasm Tamimi
 
Windows form application - C# Training
Windows form application - C# Training Windows form application - C# Training
Windows form application - C# Training
Moutasm Tamimi
 
Asp.net Programming Training (Web design, Web development)
Asp.net Programming Training (Web design, Web  development)Asp.net Programming Training (Web design, Web  development)
Asp.net Programming Training (Web design, Web development)
Moutasm Tamimi
 
Database Management System - SQL Advanced Training
Database Management System - SQL Advanced TrainingDatabase Management System - SQL Advanced Training
Database Management System - SQL Advanced Training
Moutasm Tamimi
 
Database Management System - SQL beginner Training
Database Management System - SQL beginner Training Database Management System - SQL beginner Training
Database Management System - SQL beginner Training
Moutasm Tamimi
 
Measurement and Quality in Object-Oriented Design
Measurement and Quality in Object-Oriented DesignMeasurement and Quality in Object-Oriented Design
Measurement and Quality in Object-Oriented Design
Moutasm Tamimi
 
SQL Injection and Clickjacking Attack in Web security
SQL Injection and Clickjacking Attack in Web securitySQL Injection and Clickjacking Attack in Web security
SQL Injection and Clickjacking Attack in Web security
Moutasm Tamimi
 

More from Moutasm Tamimi (17)

Software Quality Assessment Practices
Software Quality Assessment PracticesSoftware Quality Assessment Practices
Software Quality Assessment Practices
 
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsReengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software Specifications
 
Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminaries
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and tool
 
Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises
 
Critical Success Factors (CSFs) In International ERP Implementations with que...
Critical Success Factors (CSFs) In International ERP Implementations with que...Critical Success Factors (CSFs) In International ERP Implementations with que...
Critical Success Factors (CSFs) In International ERP Implementations with que...
 
Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3
 
Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1
 
Recovery in Multi database Systems
Recovery in Multi database SystemsRecovery in Multi database Systems
Recovery in Multi database Systems
 
Software Quality Models: A Comparative Study paper
Software Quality Models: A Comparative Study  paperSoftware Quality Models: A Comparative Study  paper
Software Quality Models: A Comparative Study paper
 
ISO 29110 Software Quality Model For Software SMEs
ISO 29110 Software Quality Model For Software SMEsISO 29110 Software Quality Model For Software SMEs
ISO 29110 Software Quality Model For Software SMEs
 
Windows form application - C# Training
Windows form application - C# Training Windows form application - C# Training
Windows form application - C# Training
 
Asp.net Programming Training (Web design, Web development)
Asp.net Programming Training (Web design, Web  development)Asp.net Programming Training (Web design, Web  development)
Asp.net Programming Training (Web design, Web development)
 
Database Management System - SQL Advanced Training
Database Management System - SQL Advanced TrainingDatabase Management System - SQL Advanced Training
Database Management System - SQL Advanced Training
 
Database Management System - SQL beginner Training
Database Management System - SQL beginner Training Database Management System - SQL beginner Training
Database Management System - SQL beginner Training
 
Measurement and Quality in Object-Oriented Design
Measurement and Quality in Object-Oriented DesignMeasurement and Quality in Object-Oriented Design
Measurement and Quality in Object-Oriented Design
 
SQL Injection and Clickjacking Attack in Web security
SQL Injection and Clickjacking Attack in Web securitySQL Injection and Clickjacking Attack in Web security
SQL Injection and Clickjacking Attack in Web security
 

Recently uploaded

Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
anshsharma8761
 
Enhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with PerlEnhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with Perl
Christos Argyropoulos
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
Michał Kurzeja
 
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
Shane Coughlan
 
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service AvailableFemale Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
isha sharman06
 
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Anita pandey
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...
High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...
High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...
shoeb2926
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
vickythakur209464
 
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
sapnasaifi408
 
1 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 20241 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 2024
Alberto Brandolini
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
VictoriaMetrics
 
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
tinakumariji156
 
Accelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAIAccelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAI
Ahmed Okour
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptxSAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
aneeshmanikantan2341
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
VictoriaMetrics
 
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx PolandExtreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Alberto Brandolini
 
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
simmi singh$A17
 
Solar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdfSolar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdf
SERVE WELL CRM NASHIK
 

Recently uploaded (20)

Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
 
Enhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with PerlEnhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with Perl
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
 
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
OpenChain Webinar - Open Source Due Diligence for M&A - 2024-06-17
 
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service AvailableFemale Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
Female Bangalore Call Girls 👉 7023059433 👈 Vip Escorts Service Available
 
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
 
High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...
High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...
High-Class Call Girls In Chennai 📞7014168258 Available With Direct Cash Payme...
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
 
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
 
1 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 20241 Million Orange Stickies later - Devoxx Poland 2024
1 Million Orange Stickies later - Devoxx Poland 2024
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
 
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
 
Accelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAIAccelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAI
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptxSAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
 
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx PolandExtreme DDD Modelling Patterns - 2024 Devoxx Poland
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
 
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
 
Solar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdfSolar Panel Service Provider annual maintenance contract.pdf
Solar Panel Service Provider annual maintenance contract.pdf
 

Software Evolution and Maintenance Models

  • 1. Software Evolution and Maintenance Chapter 3 Evolution and Maintenance Models
  • 2. outline • 1. General Idea • 2. Reuse Oriented Model • 2.1 Quick fix model • 2.2 Iterative enhancement model • 2.3 Full reuse model • 3. Software Maintenance Life Cycle models • 3.1 The staged model • 3.1.1 The staged model for CSS • 3.1.2 The staged model for FLOS • 3.2 Change Mini-Cycle Model • 4. Software Maintenance Standard • 4.1 IEEE/EIA 1219 Maintenance Process • 4.2 ISO/IEC 14764 Maintenance Process
  • 3. 1. General Idea • One traditional software development life cycle (SDLC) is shown in Figure, which comprises two discrete phases, namely: • Development • Maintenance • Maintenance approaching two-thirds of the product life-span. • The percentages in Figure 3.1 indicate relative costs.
  • 4. Software maintenance has unique characteristics: • Constraints of an existing system: Maintenance is performed on an operational system. Therefore, all modifications must be compatible with the constraints of the existing architecture, design, and code. • Shorter time frame: A maintenance activity may span from a few hours to a few months, whereas software development may span one or more years. • Available test data: In software development, test cases are designed from scratch, whereas software maintenance can select a subset of these test cases and execute them as regression tests.
  • 5. 2. Reuse Oriented Models • One obtains a new version of an old system by modifying one or several components of the old system and possibly adding new components. • The three process models for maintenance: Quick fix model: The changes are quickly made to the code and then to the accompanying documentation Iterative enhancement model: First changes are made to the highest level documents. Eventually, changes are propagated down to the code level Full reuse model: A new system is built from components of the old system and others available in the repository
  • 6. 2.1 Quick Fix Model 1. Source code is modified to fix the problem. 2. Necessary changes are made to the relevant documents. 3. The new code is recompiled to produce a new version. Often changes to the source code are made with no prior investigation such as analysis of impact of the changes, ripple effects of the changes, and regression testing. Figure 3.2 The quick fix model ©IEEE, 1990
  • 7. 2.2 Iterative enhancement model The iterative enhancement model, explained in Figure 3.3, shows how changes flow from the very top level documents to the lowest-level documents. The model works as follows: 1. It begins with the existing system’s artifacts, namely, requirements, design, code, test, and analysis documents. 2. It revises the highest-level documents affected by the changes and propagates the changes down through the lower-level documents. 3. The model allows maintainers to redesign the system, based on the analysis of the existing system. Figure 3.3 The iterative enhancement model ©IEEE, 1990
  • 8. 2.3 Full reuse model • The main assumption in this model is the availability of a repository of artifacts describing the earlier versions of the systems. • In the full reuse model, reuse is explicit and the following activities are performed. Figure 3.4 The full reuse model ©IEEE, 1990
  • 9. 3. Software Maintenance Life Cycle models
  • 10. CSS Vs. FLOSS • Free/Libre and Open Source Software(FLOSS) is distributed under a licensing agreement which allows computer code to be shared, viewed and modified by other users and organizations. • open source software is available for the general public to use and modify from its original design free of charge • Closed source software (CSS)can be defined as proprietary software distributed under a licensing agreement to authorized users with private modification, copying, and republishing restrictions. Or in layman terms, the source code is not shared with the public for anyone to look at or change
  • 11. 3.1.1 The Staged Model for CSS • Their model divides the lifespan of a typical system into four stages: • Initial development – The first delivered version is produced. Knowledge about the system is fresh and constantly changing. In fact, change is the rule rather than the exception. Eventually, an architecture emerge and stabilizes. • Evolution – Simple changes are easily performed and more major changes are possible too, albeit the cost and risk are now greater than in the previous stage. Knowledge about the system is still good, although many of the original developers will have moved on. For many systems, most of its lifespan is spent in this phase. • Servicing – The system is no longer a key asset for the developers, who concentrate mainly on maintenance tasks rather than architectural or functional change. Knowledge about the system has lessened and the effects of change have become harder to predict. The costs and risks of change have increased significantly. • Phase out – It has been decided to replace or eliminate the system entirely, either because the costs of maintaining the old system have become prohibitive or because there is a newer solution waiting in the pipeline. An exit strategy is devised and implemented, often involving techniques such as wrapping and data migration. Ultimately, the system is shut down.
  • 12. 3.1.1 The Staged Model for CSS Figure 3.5 The simple staged model for the CSS life cycle ©IEEE, 2000
  • 13. 3.1.1 The Staged Model for CSS Figure 3.6 The versioned staged model for the CSS life cycle ©IEEE, 2000
  • 14. 3.1.2 The Staged Model for FLOSS Three major differences are identified between CSS systems and FLOSS systems. • In Figure 3.7, the rectangle with the label “Initial development” has been visually highlighted because it can be the only initial development stage in the evolution of FLOSS systems. In other words, it does not have any evolution track for FLOSS system. • With some systems that were analyzed, after a transition from Evolution to Servicing, a new period of evolution was observed. This possibility is depicted in Figure as a broken arc from the Servicing stage to the Evolution stage. In general, the active developers of FLOSS systems get frequently replaced by new developers. Therefore, the dashed line in Figure exhibits this possibility of a transition from Phaseout stage to Evolution stage. Figure 3.7 The staged model for FLOSS system ©ACM, 2007
  • 15. 3.2 Change Mini-Cycle Model Software change is a process that may introduce new requirements to the existing system, or may need to alter the software system if requirements are not correctly implemented. In order to capture this, an evolutionary model known as change mini-cycle. Figure 3.8 The change mini-cycle ©Springer, 2008
  • 16. 4. Software Maintenance Standard • IEEE and ISO have both addressed s/w maintenance processes. • IEEE/EIA 1219 and ISO/IEC 14764 as a part of ISO/IEC12207 (life cycle process). • ISO/IEC 14764 describes s/w maintenance as an iterative process for managing and executing software maintenance activities.
  • 17. 4.1 IEEE/EIA 1219 Maintenance Process The standard focuses on a seven-phases: • Problem Identification. • Analysis. • Design. • Implementation. • System Test. • Acceptance Test. • Delivery. Figure 3.9 Seven phases of IEEE maintenance process ©IEEE, 2004
  • 18. 4.2 ISO/IEC 14764 Maintenance Process The maintenance process comprises the following high level activities: 1. Process Implementation. 2. Problem and Modification Analysis. 3. Modification Implementation. 4. Maintenance Review and Acceptance. 5. Migration. 6. Retirement. Figure 3.17 ISO/IEC 14764 iterative maintenance process ©IEEE, 2004
  • 20. Speaker Information  Moutasm tamimi  Masters of Software Engineering  Independent Consultant , IT Researcher.  CEO at ITG7.com , IT-CRG.com  Email: tamimi@itg7.com, Click Here Click HereI T G 7 Click Here Click HereIT-CRG
  翻译: