SlideShare una empresa de Scribd logo
1 de 16
Software Design Pattern & Quality Assurance
In early 90s, Gamma, Helm , Johnson & Vlissides borrowed
the idea from architecture and used it in software
engineering.
Each pattern describes a problem that occurs over and over
again in our environment, and then describes the core of the
solution to that problem, in such a way that you can use this
solution a million times over, without ever doing it the same
way twice. — Christopher Alexander
WHAT ARE DESIGN PATTERNS ?
TYPES OF PATTERNS
• Creational patterns:
– Deal with initializing and configuring classes and objects
• Structural patterns:
– Deal with decoupling interface and implementation of
classes and objects
– Composition of classes or objects
• Behavioural patterns:
– Deal with dynamic interactions among societies of classes
and objects
– How they distribute responsibility
23 GoF PATTERNS
WHAT TO EXPECT FROM A DESIGN PATTERN?
• A common design vocabulary
• A documentation and learning aid
• An adjunct to existing methods
• A target for refining existing design
APPLICATION OF DESIGN PATTERNS
• Design Patterns have 4 essential characteristics :
1. Pattern name: increases vocabulary of designers
2. Problem: intent, context, when to apply
3. Solution: UML-like structure, abstract code
4. Consequences: results and tradeoffs
ELEMENTS OF SOFTWARE DESIGN PATTERN
ADVANTAGES OF USING DESIGN PATTERNS IN
S/W DEVELOPMENT
• Increasing reusability
• Modularization
• Quality
• Consistency b/w design & implementation
• Relationships b/w design & implementation.
SOME RELATED MISCONCEPTIONS
• Design Patterns ARE NOT
• Data structures that can be encoded in classes and
reused as is (i.e., linked lists, hash tables)
• Complex domain-specific designs
(for an entire application or subsystem)
• Rules
• Designed to be executed / analyzed by computers
• Programming languages
DESIGN PATTERN & QUALITY ASSURANCE
• In practice, measurement of software quality is not easy.
• There is no standard approach for estimating software
design quality by design patterns.
IMPACT ON QUALITY
• With the design patterns, the quality improves, whole
architecture of the system becomes more adaptable and
extensible.
• Design pattern reusability can be perceived in two ways,
(a) reusing the idea of a pattern and
(b) reusing the source code of a design pattern instance.
• Developers are not particularly interested in reusing code that
applies a pattern more than they are in reusing any code that
fulfills their functional needs
QUALITY
• The Five Parameters of Quality
• Reliability, Maintainability, Efficiency, Security, and Size
• Software Functional Quality
• Bugs, Defects, Mean-Time-To-Failure (MTTF)
• Software Structural Quality
IMPACT ON VARIOUS PARAMETERS
• Structural quality characteristics influencing
reusability
Attribute Effect
Coupling -
Cohesion +
Messaging +
Size +
Inheritance -
Complexity -
CONCLUSION
There is no consensus among these studies regarding the impact of
design patterns on software quality attributes : while some studies
reported a positive or neutral impact , other studies reported a
negative effect.
In general, the impact of design patterns on maintainability,
evolution and change-proneness is negative.
The best designs will use many design patterns that dovetail and
intertwine to produce a greater whole.
REFERENCES
• Apostolos Ampatzoglou, Georgia Frantzeskou, Ioannis Stamelos, A methodology to
assess the impact of design patterns on software quality, Information and Software
Technology, Volume 54, Issue 4, April 2012, Pages 331-346, ISSN 0950-
5849, http://dx.doi.org/10.1016/j.infsof.2011.10.006.
• M. Khaer, M. Hashem, and M. Masud, "An empirical analysis of software systems for
measurement of design quality level based on design patterns," in Computer and
information technology, 2007. iccit 2007. 10th international conference on, dec. 2007,
pp. 1 -6 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4579432&tag=1
• Apostolos Ampatzoglou , Apostolos Kritikos, George Kakarontzas, Ioannis Stamelos
An empirical investigation on the reusability of design patterns and software
packages . http://dl.acm.org/citation.cfm?id=2039844
• Gang of Four Design Patterns 2.0
http://www.dofactory.com/Framework/Framework.aspx
QUESTIONS

Más contenido relacionado

La actualidad más candente

Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
hci in software development process
hci in software development processhci in software development process
hci in software development processKainat Ilyas
 
Nota sendiri hci-HCI
Nota sendiri hci-HCINota sendiri hci-HCI
Nota sendiri hci-HCIShafy Fify
 
Requirements Engineering - Frameworks & Standards
Requirements Engineering - Frameworks & StandardsRequirements Engineering - Frameworks & Standards
Requirements Engineering - Frameworks & StandardsBirgit Penzenstadler
 
0708 Design Rationale (Introduction)
0708 Design Rationale (Introduction)0708 Design Rationale (Introduction)
0708 Design Rationale (Introduction)Hans Kemp
 
User interface model
User interface modelUser interface model
User interface modelazhaar345
 
Thesis review Presentation
Thesis review PresentationThesis review Presentation
Thesis review PresentationAndrew Harvey
 
HCI 3e - Ch 11: User support
HCI 3e - Ch 11:  User supportHCI 3e - Ch 11:  User support
HCI 3e - Ch 11: User supportAlan Dix
 
Chapter3-evaluation techniques HCI
Chapter3-evaluation techniques HCIChapter3-evaluation techniques HCI
Chapter3-evaluation techniques HCIShafy Fify
 
Activity Systems Analysis in Design Research
Activity Systems Analysis in Design ResearchActivity Systems Analysis in Design Research
Activity Systems Analysis in Design ResearchLisa Yamagata-Lynch
 

La actualidad más candente (15)

Requirements Engineering - Recap
Requirements Engineering - RecapRequirements Engineering - Recap
Requirements Engineering - Recap
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Usability
UsabilityUsability
Usability
 
hci in software development process
hci in software development processhci in software development process
hci in software development process
 
Nota sendiri hci-HCI
Nota sendiri hci-HCINota sendiri hci-HCI
Nota sendiri hci-HCI
 
Requirements Engineering - Frameworks & Standards
Requirements Engineering - Frameworks & StandardsRequirements Engineering - Frameworks & Standards
Requirements Engineering - Frameworks & Standards
 
0708 Design Rationale (Introduction)
0708 Design Rationale (Introduction)0708 Design Rationale (Introduction)
0708 Design Rationale (Introduction)
 
Oco tech pres
Oco tech presOco tech pres
Oco tech pres
 
User interface model
User interface modelUser interface model
User interface model
 
Thesis review Presentation
Thesis review PresentationThesis review Presentation
Thesis review Presentation
 
HCI 3e - Ch 11: User support
HCI 3e - Ch 11:  User supportHCI 3e - Ch 11:  User support
HCI 3e - Ch 11: User support
 
Chapter3-evaluation techniques HCI
Chapter3-evaluation techniques HCIChapter3-evaluation techniques HCI
Chapter3-evaluation techniques HCI
 
Early Software Prototyping for Usability tests using low cost tools for tea...
Early Software Prototyping for Usability tests using low cost tools for tea...Early Software Prototyping for Usability tests using low cost tools for tea...
Early Software Prototyping for Usability tests using low cost tools for tea...
 
Activity Systems Analysis in Design Research
Activity Systems Analysis in Design ResearchActivity Systems Analysis in Design Research
Activity Systems Analysis in Design Research
 
Chapter five HCI
Chapter five HCIChapter five HCI
Chapter five HCI
 

Similar a Software Design Patterns and Quality Assurance

Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxMrSDeepakRajAssistan
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxAbdulMateen516672
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTmalathijanapati1
 
Module 2 design patterns-2
Module 2   design patterns-2Module 2   design patterns-2
Module 2 design patterns-2Ankit Dubey
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 
Cse 6007 fall2012
Cse 6007 fall2012Cse 6007 fall2012
Cse 6007 fall2012rhrashel
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
Building Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsBuilding Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsMufrid Krilic
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptitadmin33
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software EngineeringMuhammadTalha436
 
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...Hans Põldoja
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADSayyada Ayesha
 
Software architecture 4
Software architecture 4Software architecture 4
Software architecture 4Ahmad Zee
 

Similar a Software Design Patterns and Quality Assurance (20)

Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
Module 2 design patterns-2
Module 2   design patterns-2Module 2   design patterns-2
Module 2 design patterns-2
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
Cse 6007 fall2012
Cse 6007 fall2012Cse 6007 fall2012
Cse 6007 fall2012
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
Building Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsBuilding Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking Questions
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOAD
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
Software Design
Software DesignSoftware Design
Software Design
 
Software architecture 4
Software architecture 4Software architecture 4
Software architecture 4
 
Introduction to Design Patterns
Introduction to Design PatternsIntroduction to Design Patterns
Introduction to Design Patterns
 

Último

UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 

Último (20)

UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 

Software Design Patterns and Quality Assurance

  • 1. Software Design Pattern & Quality Assurance
  • 2. In early 90s, Gamma, Helm , Johnson & Vlissides borrowed the idea from architecture and used it in software engineering. Each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. — Christopher Alexander WHAT ARE DESIGN PATTERNS ?
  • 3. TYPES OF PATTERNS • Creational patterns: – Deal with initializing and configuring classes and objects • Structural patterns: – Deal with decoupling interface and implementation of classes and objects – Composition of classes or objects • Behavioural patterns: – Deal with dynamic interactions among societies of classes and objects – How they distribute responsibility
  • 5. WHAT TO EXPECT FROM A DESIGN PATTERN? • A common design vocabulary • A documentation and learning aid • An adjunct to existing methods • A target for refining existing design
  • 7. • Design Patterns have 4 essential characteristics : 1. Pattern name: increases vocabulary of designers 2. Problem: intent, context, when to apply 3. Solution: UML-like structure, abstract code 4. Consequences: results and tradeoffs ELEMENTS OF SOFTWARE DESIGN PATTERN
  • 8. ADVANTAGES OF USING DESIGN PATTERNS IN S/W DEVELOPMENT • Increasing reusability • Modularization • Quality • Consistency b/w design & implementation • Relationships b/w design & implementation.
  • 9. SOME RELATED MISCONCEPTIONS • Design Patterns ARE NOT • Data structures that can be encoded in classes and reused as is (i.e., linked lists, hash tables) • Complex domain-specific designs (for an entire application or subsystem) • Rules • Designed to be executed / analyzed by computers • Programming languages
  • 10. DESIGN PATTERN & QUALITY ASSURANCE • In practice, measurement of software quality is not easy. • There is no standard approach for estimating software design quality by design patterns.
  • 11. IMPACT ON QUALITY • With the design patterns, the quality improves, whole architecture of the system becomes more adaptable and extensible. • Design pattern reusability can be perceived in two ways, (a) reusing the idea of a pattern and (b) reusing the source code of a design pattern instance. • Developers are not particularly interested in reusing code that applies a pattern more than they are in reusing any code that fulfills their functional needs
  • 12. QUALITY • The Five Parameters of Quality • Reliability, Maintainability, Efficiency, Security, and Size • Software Functional Quality • Bugs, Defects, Mean-Time-To-Failure (MTTF) • Software Structural Quality
  • 13. IMPACT ON VARIOUS PARAMETERS • Structural quality characteristics influencing reusability Attribute Effect Coupling - Cohesion + Messaging + Size + Inheritance - Complexity -
  • 14. CONCLUSION There is no consensus among these studies regarding the impact of design patterns on software quality attributes : while some studies reported a positive or neutral impact , other studies reported a negative effect. In general, the impact of design patterns on maintainability, evolution and change-proneness is negative. The best designs will use many design patterns that dovetail and intertwine to produce a greater whole.
  • 15. REFERENCES • Apostolos Ampatzoglou, Georgia Frantzeskou, Ioannis Stamelos, A methodology to assess the impact of design patterns on software quality, Information and Software Technology, Volume 54, Issue 4, April 2012, Pages 331-346, ISSN 0950- 5849, http://dx.doi.org/10.1016/j.infsof.2011.10.006. • M. Khaer, M. Hashem, and M. Masud, "An empirical analysis of software systems for measurement of design quality level based on design patterns," in Computer and information technology, 2007. iccit 2007. 10th international conference on, dec. 2007, pp. 1 -6 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4579432&tag=1 • Apostolos Ampatzoglou , Apostolos Kritikos, George Kakarontzas, Ioannis Stamelos An empirical investigation on the reusability of design patterns and software packages . http://dl.acm.org/citation.cfm?id=2039844 • Gang of Four Design Patterns 2.0 http://www.dofactory.com/Framework/Framework.aspx

Notas del editor

  1. Definition from Wikipedia DEREK  The idea was introduced by the architect Christopher Alexander in the field of architecture and has been adapted for various other disciplines, including computer science. An organized collection of design patterns that relate to a particular field is called a pattern language. WHY THEY ARE USED ? We need not remake everything from scratch, software design patterns are used as templates and they save time A Design Pattern produce more maintainable code than a simpler solution. 4. designer has to consider, such as pattern size and the most important quality attributes
  2. Slide 20.. Ppt-5 Derek
  3. Derek These may not be the only patterns designed, but indeed they are the ones that are well documented.
  4. From ppt-1 slide no 54 Shubhi. Terms specific to design ; vary with the developer Would list pros and cons for a particular s/w design pattern and a manual how to use a design (esp if it’s a complex one ) Design pattern - abstract. Works with the existing thing- doesn’t replace everything Makes the existing methods easy Include examples
  5. SQA ieee 1 paper. page -2 … this is a diagram depicting abstract software development process… Shubhi As design patterns returns a great quality in software, professionals are extensively using design pattern in the design phase of object oriented system./ Software Development. When a design pattern is applied , it breaks the structure into modules.
  6. Source : ppt -4 slide no 5 Derek An example,
  7. Derek Point-2 could be related to the software dev diagram shown before
  8. Ppt-4 slide 9 Shubhi If they are not familiar data structures or complex domain-specific subsystems, what are they ? 2. Creating a gui / - Rules may be part of the solution in a pattern description, but a rule solution is neither sufficient nor necessary. They are: “Descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context.”
  9. Source : sqa ieee 1 paper page 1 Shubhi– insert clip art With the help of metrics(sub point ) Not using the same pattern twice….. The quality of a given design problem description has a great impact on the overall quality of the proposed method. 2. Thus, if the more words of problem definition of design patterns are used in description of real design problems, the probability of finding the right design patterns will be more. ((To overcome this difficulty, the words that are used in the problem definition of the used design patterns group should be collected in a glossary, i.e., Design Patterns Glossary, that available to s/w developers))
  10. Picked from sqa- 4 page-2 Shubhi
  11. Derek.. 5 parameters : reliability, maintainability, size(adequate), efficiency, security Speak more on functional quality on this slide
  12. Derek
  13. By Both of us : As design patterns returns a great quality in software , professionals are extensively using design pattern in the design phase of object oriented system.