SlideShare une entreprise Scribd logo
1  sur  23
Quality & Evolution:
some relationships
Michel Wermelinger
Computing Department
The Open University, UK
http://michel.wermelinger.ws
Product Evolution
Bennett & Rajlich. Software maintenance and evolution: a roadmap. ICSE 2000
Quality
Principle of Software Uncertainty
The real-world outcome of any E-type
software execution is inherently uncertain
with the precise area of uncertainty also not
knowable
Madhavji, Ramil and Perry (eds.) Software Evolution and Feedback. Wiley 2006
Declining Quality
Unless rigorously adapted and evolved to
take into account changes in the operational
environment, the quality of an E-type system
will appear to be declining
7th law of software evolution
* * * *
* * *
* * * *
* * *
context
internal
external
product
change
quality
Continuing change
An E-type system must be continually
adapted or else it becomes progressively less
satisfactory in use
1st law of software evolution
* * * *
* * *
* * * *
* * * *
perfective
adaptive
Continuing growth
The functional capability of E-type systems
must be continually enhanced to maintain
user satisfaction over the system lifetime
6th law of software evolution
* * * *
* * *
* * * *
* * * *
perfective
adaptive
Punctuated Equilibrium
Wermelinger et al. Design principles in architectural evolution: a case study. ICSM 2008
Increasing complexity
As an E-type system is changed its
complexity increases and becomes more
difficult to evolve unless work is done to
maintain or reduce the complexity
2nd law of software evolution
* * * *
* * *
perfective
adaptive
preventive
corrective* * *
* *
* * * *
* * *
Maintenance
April. Studying Supply and Demand of Maintenance Services. QUATIC 2010
Maintainability
Luijter & Visser. Faster defect resolution with higher quality of software. SQM 2010
Stable Dependencies Principle
Dependencies should be in the direction of
stability
Martin. Large-scale stability. C++ Report 1997
Wermelinger et al. Design principles in architectural evolution: a case study. ICSM 2008
Open/Closed Principle
Entities should be open for extension but
closed for modification.
Meyer. Object-Oriented Software Construction. Prentice Hall 1988
Cloning considered harmful
Hordijk et al. Harmfulness of Code Duplication - A Review of the Evidence, EASE 2009
-100%
100%
300%
500%
700%
900%
0% 20% 40% 60% 80% 100%
% of methods
workincrease
ganttProject
jEdit
freecol
jboss
Maintainability of clones
Lozano & Wermelinger. Assessing the effect of clones on changeability. ICSM 2008
Evolution of quality cost
after Fairley, Software Engineering Concepts, McGraw-Hill 1985
Evolution for quality prediction
Nagappan et al. Change Bursts as Defect Predictors. ISSRE 2010
Process evolution
Processes and applications are both executed, they
both address requirements that need to be
understood, both benefit from being modeled by a
variety of sorts of models, both must evolve
guided by measurement, and so forth.
Osterweil. Software processes are software too, revisited. ICSE 1997
* * *
* * *
* * * * *
* * *
* * *
* * *
* * * *
Process Improvement
from cmmilevels.com
Quality management
Plösch et al. A method for continuous code quality management. QUATIC 2010
Bettin et al. A PMO Installation for IT Project Management. QUATIC 2010
Process Quality Evolution
Education
Holistic view
Human / Social
Legal / Ethical
Economic
Conclusions
E-type evolution processes are multi-level,
multi-loop, multi-agent feedback systems
8th law of software evolution

Contenu connexe

Tendances

Standard, certification, and assessment
Standard, certification, and assessmentStandard, certification, and assessment
Standard, certification, and assessmentLuthfia Ulinnuha
 
A defect prediction model based on the relationships between developers and c...
A defect prediction model based on the relationships between developers and c...A defect prediction model based on the relationships between developers and c...
A defect prediction model based on the relationships between developers and c...Vrije Universiteit Brussel
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10Abdul Basit
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleSelvy Ariska
 
Foundation of Software Testing Chapter 2
Foundation of Software Testing Chapter 2Foundation of Software Testing Chapter 2
Foundation of Software Testing Chapter 2Muhammad Ikhlas Pratama
 
A Financial Justification For Instituting A Software Methodology
A Financial Justification For Instituting A Software MethodologyA Financial Justification For Instituting A Software Methodology
A Financial Justification For Instituting A Software MethodologyTerry Ehrhard
 
Assessing the Reliability of a Human Estimator
Assessing the Reliability of a Human EstimatorAssessing the Reliability of a Human Estimator
Assessing the Reliability of a Human EstimatorTim Menzies
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class qualityIAEME Publication
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cyclefajarayuningrum
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleadeafsa
 
Adopting code reviews for agile software development
Adopting code reviews for agile software developmentAdopting code reviews for agile software development
Adopting code reviews for agile software developmentmariobernhart
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleRudy Setiawan
 
Presentacion testing-procesos
Presentacion testing-procesosPresentacion testing-procesos
Presentacion testing-procesosDilia Ortega
 
What is Software Quality and how to measure it?
What is Software Quality and how to measure it?What is Software Quality and how to measure it?
What is Software Quality and how to measure it?Denys Zaiats
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Afridol Afridol
 

Tendances (19)

Using dematel to analyze the quality characteristics of mobile
Using dematel to analyze the quality characteristics of mobileUsing dematel to analyze the quality characteristics of mobile
Using dematel to analyze the quality characteristics of mobile
 
Standard, certification, and assessment
Standard, certification, and assessmentStandard, certification, and assessment
Standard, certification, and assessment
 
A defect prediction model based on the relationships between developers and c...
A defect prediction model based on the relationships between developers and c...A defect prediction model based on the relationships between developers and c...
A defect prediction model based on the relationships between developers and c...
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Establishing A Defect Prediction Model Using A Combination of Product Metrics...
Establishing A Defect Prediction Model Using A Combination of Product Metrics...Establishing A Defect Prediction Model Using A Combination of Product Metrics...
Establishing A Defect Prediction Model Using A Combination of Product Metrics...
 
Foundation of Software Testing Chapter 2
Foundation of Software Testing Chapter 2Foundation of Software Testing Chapter 2
Foundation of Software Testing Chapter 2
 
A Financial Justification For Instituting A Software Methodology
A Financial Justification For Instituting A Software MethodologyA Financial Justification For Instituting A Software Methodology
A Financial Justification For Instituting A Software Methodology
 
Assessing the Reliability of a Human Estimator
Assessing the Reliability of a Human EstimatorAssessing the Reliability of a Human Estimator
Assessing the Reliability of a Human Estimator
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class quality
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Adopting code reviews for agile software development
Adopting code reviews for agile software developmentAdopting code reviews for agile software development
Adopting code reviews for agile software development
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
A Regression Analysis Approach for Building a Prediction Model for System Tes...
A Regression Analysis Approach for Building a Prediction Model for System Tes...A Regression Analysis Approach for Building a Prediction Model for System Tes...
A Regression Analysis Approach for Building a Prediction Model for System Tes...
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Presentacion testing-procesos
Presentacion testing-procesosPresentacion testing-procesos
Presentacion testing-procesos
 
What is Software Quality and how to measure it?
What is Software Quality and how to measure it?What is Software Quality and how to measure it?
What is Software Quality and how to measure it?
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2
 

Similaire à Quality & Evolution: some relationships

Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptDr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptPhial
 
IRJET- A Study on Software Reliability Models
IRJET-  	  A Study on Software Reliability ModelsIRJET-  	  A Study on Software Reliability Models
IRJET- A Study on Software Reliability ModelsIRJET Journal
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET Journal
 
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...IJARTES
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embeddedcaijjournal
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodIRJET Journal
 
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODELEMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODELijseajournal
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesIRJET Journal
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Editor IJARCET
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Editor IJARCET
 
A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...IRJET Journal
 
Dom introduction-website-v1.0
Dom introduction-website-v1.0Dom introduction-website-v1.0
Dom introduction-website-v1.0Cogility
 
functional testing
functional testing functional testing
functional testing bharathanche
 

Similaire à Quality & Evolution: some relationships (20)

Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptDr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.ppt
 
IRJET- A Study on Software Reliability Models
IRJET-  	  A Study on Software Reliability ModelsIRJET-  	  A Study on Software Reliability Models
IRJET- A Study on Software Reliability Models
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous Delivery
 
Hierarchical models of software quality
Hierarchical models of software qualityHierarchical models of software quality
Hierarchical models of software quality
 
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embedded
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
 
Ch9
Ch9Ch9
Ch9
 
Pawan Resume
Pawan ResumePawan Resume
Pawan Resume
 
The process
The processThe process
The process
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODELEMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
 
A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...
 
Dom introduction-website-v1.0
Dom introduction-website-v1.0Dom introduction-website-v1.0
Dom introduction-website-v1.0
 
functional testing
functional testing functional testing
functional testing
 
Rsc 03
Rsc 03Rsc 03
Rsc 03
 

Plus de Michel Wermelinger

Learn to Code for Data Analysis
Learn to Code for Data AnalysisLearn to Code for Data Analysis
Learn to Code for Data AnalysisMichel Wermelinger
 
Challenges in Model-Based Evolution of Access Control Properties
Challenges in Model-Based Evolution of Access Control Properties Challenges in Model-Based Evolution of Access Control Properties
Challenges in Model-Based Evolution of Access Control Properties Michel Wermelinger
 
The influence of identifiers on code quality
The influence of identifiers on code qualityThe influence of identifiers on code quality
The influence of identifiers on code qualityMichel Wermelinger
 
Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Michel Wermelinger
 
Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...
Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...
Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...Michel Wermelinger
 

Plus de Michel Wermelinger (8)

Learn to Code for Data Analysis
Learn to Code for Data AnalysisLearn to Code for Data Analysis
Learn to Code for Data Analysis
 
CAS data literacy
CAS data literacyCAS data literacy
CAS data literacy
 
Challenges in Model-Based Evolution of Access Control Properties
Challenges in Model-Based Evolution of Access Control Properties Challenges in Model-Based Evolution of Access Control Properties
Challenges in Model-Based Evolution of Access Control Properties
 
The influence of identifiers on code quality
The influence of identifiers on code qualityThe influence of identifiers on code quality
The influence of identifiers on code quality
 
My Research in a Nutshell
My Research in a NutshellMy Research in a Nutshell
My Research in a Nutshell
 
Of Bugs and Men
Of Bugs and MenOf Bugs and Men
Of Bugs and Men
 
Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)
 
Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...
Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...
Using Formal Concept Analysis to Construct and Visualise Hierarchies of Socio...
 

Dernier

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Dernier (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Quality & Evolution: some relationships

  • 1. Quality & Evolution: some relationships Michel Wermelinger Computing Department The Open University, UK http://michel.wermelinger.ws
  • 2. Product Evolution Bennett & Rajlich. Software maintenance and evolution: a roadmap. ICSE 2000
  • 4. Principle of Software Uncertainty The real-world outcome of any E-type software execution is inherently uncertain with the precise area of uncertainty also not knowable Madhavji, Ramil and Perry (eds.) Software Evolution and Feedback. Wiley 2006
  • 5. Declining Quality Unless rigorously adapted and evolved to take into account changes in the operational environment, the quality of an E-type system will appear to be declining 7th law of software evolution * * * * * * * * * * * * * * context internal external product change quality
  • 6. Continuing change An E-type system must be continually adapted or else it becomes progressively less satisfactory in use 1st law of software evolution * * * * * * * * * * * * * * * perfective adaptive
  • 7. Continuing growth The functional capability of E-type systems must be continually enhanced to maintain user satisfaction over the system lifetime 6th law of software evolution * * * * * * * * * * * * * * * perfective adaptive
  • 8. Punctuated Equilibrium Wermelinger et al. Design principles in architectural evolution: a case study. ICSM 2008
  • 9. Increasing complexity As an E-type system is changed its complexity increases and becomes more difficult to evolve unless work is done to maintain or reduce the complexity 2nd law of software evolution * * * * * * * perfective adaptive preventive corrective* * * * * * * * * * * *
  • 10. Maintenance April. Studying Supply and Demand of Maintenance Services. QUATIC 2010
  • 11. Maintainability Luijter & Visser. Faster defect resolution with higher quality of software. SQM 2010
  • 12. Stable Dependencies Principle Dependencies should be in the direction of stability Martin. Large-scale stability. C++ Report 1997 Wermelinger et al. Design principles in architectural evolution: a case study. ICSM 2008
  • 13. Open/Closed Principle Entities should be open for extension but closed for modification. Meyer. Object-Oriented Software Construction. Prentice Hall 1988
  • 14. Cloning considered harmful Hordijk et al. Harmfulness of Code Duplication - A Review of the Evidence, EASE 2009
  • 15. -100% 100% 300% 500% 700% 900% 0% 20% 40% 60% 80% 100% % of methods workincrease ganttProject jEdit freecol jboss Maintainability of clones Lozano & Wermelinger. Assessing the effect of clones on changeability. ICSM 2008
  • 16. Evolution of quality cost after Fairley, Software Engineering Concepts, McGraw-Hill 1985
  • 17. Evolution for quality prediction Nagappan et al. Change Bursts as Defect Predictors. ISSRE 2010
  • 18. Process evolution Processes and applications are both executed, they both address requirements that need to be understood, both benefit from being modeled by a variety of sorts of models, both must evolve guided by measurement, and so forth. Osterweil. Software processes are software too, revisited. ICSE 1997 * * * * * * * * * * * * * * * * * * * * * * * *
  • 20. Quality management Plösch et al. A method for continuous code quality management. QUATIC 2010
  • 21. Bettin et al. A PMO Installation for IT Project Management. QUATIC 2010 Process Quality Evolution
  • 22. Education Holistic view Human / Social Legal / Ethical Economic
  • 23. Conclusions E-type evolution processes are multi-level, multi-loop, multi-agent feedback systems 8th law of software evolution