SlideShare a Scribd company logo
1 of 15
Download to read offline
What Are Design
Patterns Good for?

       Foutse Khomh
    Yann-Gaël Guéhéneuc

    Department of Computer
Science and Operations Research
      University of Montreal

  foutsekh@iro.umontreal.ca
  guehene@iro.umontreal.ca

          QAOOSE
          31/07/07
Hypothesis and Objective
●   Design patterns have been said to have a
    positive impact on quality attributes
    –   Expandability
    –   Reusability
    –   Understandability

●   Hypothesis: "Design patterns have a positive
    impact on quality attributes"

●   Objective: prove or disprove the hypothesis
    with concrete evident
Choices
●   Quality characteristics related to design,
    implementation, and runtime

●   Empirical study
    ≠   Absolute, with theory
    ≠   Relative, with data mining

●   Development and maintenance are foremost
    carried out by people, an empirical study
    reports better on their perception
Method
●   Choice of design patterns of interest
    –   23 design patterns in the GoF book

●   Identification and definition of quality
    characteristics of interest
    –   10 characteristics
         ●   Implementation
         ●   Design
         ●   Runtime

●   Definition of a scale
    –   Likert scale of 5 points + "I don't know"
Data Collection
●   Questionnaire send out to colleagues
    between January and May 2007

●   Questionnaire posted on three lists:
    refactoring, patterns-discussion,
    and gang-of-4-patterns
Data Processing
●   Number of received questionnaires: 30
●   Number of complete questionnaires: 12
    –   For the other 18, some answers missing or
        "I don't know"

●   Number of kept questionnaires: 20

●   Answers A and B aggregated in Positive,
    C in Neutral, and D and E in Negative
Results
Composite


     ●   Overall positive impact
         on quality attributes

     ●   Modularity at runtime
         and robustness not so
         positively impacted
Abstract Factory

         ●   Overall neutral impact
             on quality attributes

         ●   Expandability,
             generality, and
             modularity as expected

         ●   Robustness surprising
Flyweight



     ●   Overall negative impact
         on quality attributes

     ●   Positive impact only on
         scalability as expected
Reusability




      ●   10 positive impacts
      ●   6 neutral impacts
      ●   7 negative impacts
Expandability




       ●   19 positive impacts
       ●   3 neutral impacts
       ●   1 negative impact
Understandability




         ●   15 positive impacts
         ●   3 neutral impacts
         ●   5 negative impacts
Preliminary Conclusion
●   Globally, design patterns have a positive
    impact on quality characteristics

●   Pattern by pattern, their impact on quality
    varies and includes negative impact!
Help Wanted
●   Please help us refine this study by
    downloading and filling in the
    questionnaire



    http://www.ptidej.dyndns.org/downloads/

More Related Content

Similar to ECOOP07 QAOOSE.ppt

Devising UCD for Organizational Growth
Devising UCD for Organizational GrowthDevising UCD for Organizational Growth
Devising UCD for Organizational GrowthKumar Bhot
 
Ba why development projects fail
Ba   why development projects failBa   why development projects fail
Ba why development projects failCTE Solutions Inc.
 
Development Projects Failing? What can the Business Analyst Do?
Development Projects Failing?  What can the Business Analyst Do?Development Projects Failing?  What can the Business Analyst Do?
Development Projects Failing? What can the Business Analyst Do?CTE Solutions Inc.
 
Working in Harmony with Interactive Agencies and End Clients
Working in Harmony with Interactive Agencies and End ClientsWorking in Harmony with Interactive Agencies and End Clients
Working in Harmony with Interactive Agencies and End ClientsCharles Wiedenhoft
 
Activate Agile 2014 : roles, activities, behaviours in Agile Projects
Activate Agile 2014 : roles, activities, behaviours in Agile ProjectsActivate Agile 2014 : roles, activities, behaviours in Agile Projects
Activate Agile 2014 : roles, activities, behaviours in Agile Projectsdeancornish
 
Design thinking An Into & Orientation
Design thinking An Into & OrientationDesign thinking An Into & Orientation
Design thinking An Into & OrientationDaniel CJ
 
The Process of Google: A Journey through Innovation
The Process of Google: A Journey through InnovationThe Process of Google: A Journey through Innovation
The Process of Google: A Journey through Innovationgopzzzin
 
Req-usingDesignSprint.pdf
Req-usingDesignSprint.pdfReq-usingDesignSprint.pdf
Req-usingDesignSprint.pdfBoykepaulus1
 
Classic Website Blunders
Classic Website BlundersClassic Website Blunders
Classic Website BlundersDesignHammer
 
(How) does Gamification work?
(How) does Gamification work?(How) does Gamification work?
(How) does Gamification work?CyberForumKA
 
Navigating Polarities as a PM by Google Product Leader
Navigating Polarities as a PM by Google Product LeaderNavigating Polarities as a PM by Google Product Leader
Navigating Polarities as a PM by Google Product LeaderProduct School
 
Building Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringBuilding Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringMuhammad Shehata
 
Learn PM Craft to Help You Crack Interviews by Meta Product Lead
Learn PM Craft to Help You Crack Interviews by Meta Product LeadLearn PM Craft to Help You Crack Interviews by Meta Product Lead
Learn PM Craft to Help You Crack Interviews by Meta Product LeadProduct School
 
Collaborative Vision Making for Programme-Level Design and Assessment
Collaborative Vision Making for Programme-Level Design and AssessmentCollaborative Vision Making for Programme-Level Design and Assessment
Collaborative Vision Making for Programme-Level Design and AssessmentGary Wood
 

Similar to ECOOP07 QAOOSE.ppt (20)

Ecoop07 qaoose.ppt
Ecoop07 qaoose.pptEcoop07 qaoose.ppt
Ecoop07 qaoose.ppt
 
Csmr08.ppt
Csmr08.pptCsmr08.ppt
Csmr08.ppt
 
Devising UCD for Organizational Growth
Devising UCD for Organizational GrowthDevising UCD for Organizational Growth
Devising UCD for Organizational Growth
 
Ba why development projects fail
Ba   why development projects failBa   why development projects fail
Ba why development projects fail
 
CSMR08.ppt
CSMR08.pptCSMR08.ppt
CSMR08.ppt
 
Product Management
Product ManagementProduct Management
Product Management
 
Development Projects Failing? What can the Business Analyst Do?
Development Projects Failing?  What can the Business Analyst Do?Development Projects Failing?  What can the Business Analyst Do?
Development Projects Failing? What can the Business Analyst Do?
 
Working in Harmony with Interactive Agencies and End Clients
Working in Harmony with Interactive Agencies and End ClientsWorking in Harmony with Interactive Agencies and End Clients
Working in Harmony with Interactive Agencies and End Clients
 
Gellis result based communications
Gellis result based communicationsGellis result based communications
Gellis result based communications
 
Activate Agile 2014 : roles, activities, behaviours in Agile Projects
Activate Agile 2014 : roles, activities, behaviours in Agile ProjectsActivate Agile 2014 : roles, activities, behaviours in Agile Projects
Activate Agile 2014 : roles, activities, behaviours in Agile Projects
 
Design thinking An Into & Orientation
Design thinking An Into & OrientationDesign thinking An Into & Orientation
Design thinking An Into & Orientation
 
The Process of Google: A Journey through Innovation
The Process of Google: A Journey through InnovationThe Process of Google: A Journey through Innovation
The Process of Google: A Journey through Innovation
 
Req-usingDesignSprint.pdf
Req-usingDesignSprint.pdfReq-usingDesignSprint.pdf
Req-usingDesignSprint.pdf
 
Classic Website Blunders
Classic Website BlundersClassic Website Blunders
Classic Website Blunders
 
The Vision Trap
The Vision TrapThe Vision Trap
The Vision Trap
 
(How) does Gamification work?
(How) does Gamification work?(How) does Gamification work?
(How) does Gamification work?
 
Navigating Polarities as a PM by Google Product Leader
Navigating Polarities as a PM by Google Product LeaderNavigating Polarities as a PM by Google Product Leader
Navigating Polarities as a PM by Google Product Leader
 
Building Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringBuilding Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software Engineering
 
Learn PM Craft to Help You Crack Interviews by Meta Product Lead
Learn PM Craft to Help You Crack Interviews by Meta Product LeadLearn PM Craft to Help You Crack Interviews by Meta Product Lead
Learn PM Craft to Help You Crack Interviews by Meta Product Lead
 
Collaborative Vision Making for Programme-Level Design and Assessment
Collaborative Vision Making for Programme-Level Design and AssessmentCollaborative Vision Making for Programme-Level Design and Assessment
Collaborative Vision Making for Programme-Level Design and Assessment
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 

Recently uploaded (20)

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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 

ECOOP07 QAOOSE.ppt

  • 1. What Are Design Patterns Good for? Foutse Khomh Yann-Gaël Guéhéneuc Department of Computer Science and Operations Research University of Montreal foutsekh@iro.umontreal.ca guehene@iro.umontreal.ca QAOOSE 31/07/07
  • 2. Hypothesis and Objective ● Design patterns have been said to have a positive impact on quality attributes – Expandability – Reusability – Understandability ● Hypothesis: "Design patterns have a positive impact on quality attributes" ● Objective: prove or disprove the hypothesis with concrete evident
  • 3. Choices ● Quality characteristics related to design, implementation, and runtime ● Empirical study ≠ Absolute, with theory ≠ Relative, with data mining ● Development and maintenance are foremost carried out by people, an empirical study reports better on their perception
  • 4. Method ● Choice of design patterns of interest – 23 design patterns in the GoF book ● Identification and definition of quality characteristics of interest – 10 characteristics ● Implementation ● Design ● Runtime ● Definition of a scale – Likert scale of 5 points + "I don't know"
  • 5. Data Collection ● Questionnaire send out to colleagues between January and May 2007 ● Questionnaire posted on three lists: refactoring, patterns-discussion, and gang-of-4-patterns
  • 6. Data Processing ● Number of received questionnaires: 30 ● Number of complete questionnaires: 12 – For the other 18, some answers missing or "I don't know" ● Number of kept questionnaires: 20 ● Answers A and B aggregated in Positive, C in Neutral, and D and E in Negative
  • 8. Composite ● Overall positive impact on quality attributes ● Modularity at runtime and robustness not so positively impacted
  • 9. Abstract Factory ● Overall neutral impact on quality attributes ● Expandability, generality, and modularity as expected ● Robustness surprising
  • 10. Flyweight ● Overall negative impact on quality attributes ● Positive impact only on scalability as expected
  • 11. Reusability ● 10 positive impacts ● 6 neutral impacts ● 7 negative impacts
  • 12. Expandability ● 19 positive impacts ● 3 neutral impacts ● 1 negative impact
  • 13. Understandability ● 15 positive impacts ● 3 neutral impacts ● 5 negative impacts
  • 14. Preliminary Conclusion ● Globally, design patterns have a positive impact on quality characteristics ● Pattern by pattern, their impact on quality varies and includes negative impact!
  • 15. Help Wanted ● Please help us refine this study by downloading and filling in the questionnaire http://www.ptidej.dyndns.org/downloads/