SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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...
 

Último

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
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 pragmaticsAndrey Dotsenko
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
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
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Último (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

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