SlideShare uma empresa Scribd logo
1 de 16
Software Design Pattern & Quality Assurance
WHAT ARE DESIGN PATTERNS ?
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
In early 90s, Gamma, Helm , Johnson & Vlissides borrowed
the idea from architecture and used it in software
engineering.
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
ELEMENTS OF SOFTWARE DESIGN PATTERN
• Design Patterns have 4 essential characteristics :
1.
2.
3.
4.

Pattern name: increases vocabulary of designers
Problem: intent, context, when to apply
Solution: UML-like structure, abstract code
Consequences: results and tradeoffs
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 09505849, 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

Mais conteúdo relacionado

Mais procurados

Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
The Object Model
The Object Model  The Object Model
The Object Model yndaravind
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Sdlc (software development life cycle)
Sdlc (software development life cycle)Sdlc (software development life cycle)
Sdlc (software development life cycle)Nadeesha Thilakarathne
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testingAnshul Vinayak
 
Data Mining: Mining stream time series and sequence data
Data Mining: Mining stream time series and sequence dataData Mining: Mining stream time series and sequence data
Data Mining: Mining stream time series and sequence dataDataminingTools Inc
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software ArchitectureMarkus Voelter
 
Structural patterns
Structural patternsStructural patterns
Structural patternsHimanshu
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11koolkampus
 
Shared information systems
Shared information systemsShared information systems
Shared information systemsHimanshu
 
Programming Logic and Design: Working with Data
Programming Logic and Design: Working with DataProgramming Logic and Design: Working with Data
Programming Logic and Design: Working with DataNicole Ryan
 

Mais procurados (20)

Software architecture
Software architectureSoftware architecture
Software architecture
 
The Object Model
The Object Model  The Object Model
The Object Model
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Clustering
ClusteringClustering
Clustering
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Component level design
Component   level designComponent   level design
Component level design
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Sdlc (software development life cycle)
Sdlc (software development life cycle)Sdlc (software development life cycle)
Sdlc (software development life cycle)
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testing
 
Data Mining: Mining stream time series and sequence data
Data Mining: Mining stream time series and sequence dataData Mining: Mining stream time series and sequence data
Data Mining: Mining stream time series and sequence data
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software Architecture
 
Structural patterns
Structural patternsStructural patterns
Structural patterns
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Fuzzy Clustering(C-means, K-means)
Fuzzy Clustering(C-means, K-means)Fuzzy Clustering(C-means, K-means)
Fuzzy Clustering(C-means, K-means)
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Programming Logic and Design: Working with Data
Programming Logic and Design: Working with DataProgramming Logic and Design: Working with Data
Programming Logic and Design: Working with Data
 

Destaque

Quality of design patterns
Quality of design patternsQuality of design patterns
Quality of design patternsMorris Zheng
 
Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )Kiran Hanjar
 
Android (software) Design Pattern
Android (software) Design PatternAndroid (software) Design Pattern
Android (software) Design PatternArif Huda
 
Application Of Software Design Pattern
Application Of Software Design PatternApplication Of Software Design Pattern
Application Of Software Design Patternguest46da5428
 
Design Pattern Explained CH1
Design Pattern Explained CH1Design Pattern Explained CH1
Design Pattern Explained CH1Jamie (Taka) Wang
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancelakshmi1693
 
Android fundamental development
Android fundamental developmentAndroid fundamental development
Android fundamental developmentBayu Firmawan Paoh
 
Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)dikwan_moeis
 
Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)dikwan_moeis
 
Overview of Software QA and What is Software Quality
Overview of Software QA and What is Software QualityOverview of Software QA and What is Software Quality
Overview of Software QA and What is Software QualityUniversity of Dhaka
 
Pemanfaatan Teknologi Android
Pemanfaatan Teknologi AndroidPemanfaatan Teknologi Android
Pemanfaatan Teknologi AndroidArif Huda
 
introduction to programmer career path
introduction to programmer career pathintroduction to programmer career path
introduction to programmer career pathArif Huda
 
Design pattern
Design patternDesign pattern
Design patternOmar Isaid
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software EngineeringManish Kumar
 
Observer Software Design Pattern
Observer Software Design Pattern Observer Software Design Pattern
Observer Software Design Pattern Nirthika Rajendran
 
Term Paper - Quality Assurance in Software Development
Term Paper - Quality Assurance in Software DevelopmentTerm Paper - Quality Assurance in Software Development
Term Paper - Quality Assurance in Software DevelopmentSharad Srivastava
 
Design pattern - Software Engineering
Design pattern - Software EngineeringDesign pattern - Software Engineering
Design pattern - Software EngineeringNadimozzaman Pappo
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: AndroidJitendra Kumar
 

Destaque (20)

Quality of design patterns
Quality of design patternsQuality of design patterns
Quality of design patterns
 
Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )
 
Android (software) Design Pattern
Android (software) Design PatternAndroid (software) Design Pattern
Android (software) Design Pattern
 
Application Of Software Design Pattern
Application Of Software Design PatternApplication Of Software Design Pattern
Application Of Software Design Pattern
 
Design Pattern Explained CH1
Design Pattern Explained CH1Design Pattern Explained CH1
Design Pattern Explained CH1
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Android fundamental development
Android fundamental developmentAndroid fundamental development
Android fundamental development
 
Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)
 
Overview of Software QA and What is Software Quality
Overview of Software QA and What is Software QualityOverview of Software QA and What is Software Quality
Overview of Software QA and What is Software Quality
 
Pemanfaatan Teknologi Android
Pemanfaatan Teknologi AndroidPemanfaatan Teknologi Android
Pemanfaatan Teknologi Android
 
introduction to programmer career path
introduction to programmer career pathintroduction to programmer career path
introduction to programmer career path
 
Design pattern
Design patternDesign pattern
Design pattern
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Observer Software Design Pattern
Observer Software Design Pattern Observer Software Design Pattern
Observer Software Design Pattern
 
Creational Design Patterns
Creational Design PatternsCreational Design Patterns
Creational Design Patterns
 
Term Paper - Quality Assurance in Software Development
Term Paper - Quality Assurance in Software DevelopmentTerm Paper - Quality Assurance in Software Development
Term Paper - Quality Assurance in Software Development
 
Design pattern - Software Engineering
Design pattern - Software EngineeringDesign pattern - Software Engineering
Design pattern - Software Engineering
 
Architectural Design Pattern: Android
Architectural Design Pattern: AndroidArchitectural Design Pattern: Android
Architectural Design Pattern: Android
 

Semelhante a SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS

Software Design Patterns and Quality Assurance
Software Design Patterns and Quality AssuranceSoftware Design Patterns and Quality Assurance
Software Design Patterns and Quality AssuranceShubbhi Taneja
 
Module 2 design patterns-2
Module 2   design patterns-2Module 2   design patterns-2
Module 2 design patterns-2Ankit Dubey
 
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
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
 
Cse 6007 fall2012
Cse 6007 fall2012Cse 6007 fall2012
Cse 6007 fall2012rhrashel
 
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
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 
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
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
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
 
Applying design patterns
Applying design patternsApplying design patterns
Applying design patternsYogeshwaranT
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 

Semelhante a SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS (20)

Software Design Patterns and Quality Assurance
Software Design Patterns and Quality AssuranceSoftware Design Patterns and Quality Assurance
Software Design Patterns and Quality Assurance
 
Module 2 design patterns-2
Module 2   design patterns-2Module 2   design patterns-2
Module 2 design patterns-2
 
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
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Cse 6007 fall2012
Cse 6007 fall2012Cse 6007 fall2012
Cse 6007 fall2012
 
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
 
Introduction to Design Patterns
Introduction to Design PatternsIntroduction to Design Patterns
Introduction to Design Patterns
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
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
 
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
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
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
 
Designpattern
DesignpatternDesignpattern
Designpattern
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
Applying design patterns
Applying design patternsApplying design patterns
Applying design patterns
 
Software Design
Software DesignSoftware Design
Software Design
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 

Último

HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
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
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
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
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
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
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 

Último (20)

HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
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
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
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)
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
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
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.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
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 

SOFTWARE QUALITY ASSURANCE AND DESIGN PATTERNS

  • 1. Software Design Pattern & Quality Assurance
  • 2. WHAT ARE DESIGN PATTERNS ? 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 In early 90s, Gamma, Helm , Johnson & Vlissides borrowed the idea from architecture and used it in software engineering.
  • 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. ELEMENTS OF SOFTWARE DESIGN PATTERN • Design Patterns have 4 essential characteristics : 1. 2. 3. 4. Pattern name: increases vocabulary of designers Problem: intent, context, when to apply Solution: UML-like structure, abstract code Consequences: results and tradeoffs
  • 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 09505849, 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 do Editor

  1. Definition from Wikipedia DEREK The idea was introduced by the architect Christopher Alexander in the field of architectureand 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 timeA 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. DerekThese may not be the only patterns designed, but indeed they are the ones that are well documented.
  3. From ppt-1 slide no 54 Shubhi.Terms specific to design ; vary with the developerWould 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 everythingMakes the existing methods easyInclude examples
  4. SQA ieee 1 paper. page -2 …this is a diagram depicting abstract software development process… ShubhiAs 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.
  5. Source : ppt -4 slide no 5 DerekAn example,
  6. Derek Point-2 could be related to the software dev diagram shown before
  7. Ppt-4 slide 9 ShubhiIf 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.”
  8. Source : sqa ieee 1 paper page 1 Shubhi– insert clip artWith 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 becollected in a glossary, i.e., Design Patterns Glossary, that available to s/w developers))
  9. Picked from sqa- 4 page-2 Shubhi
  10. Derek.. 5 parameters : reliability, maintainability, size(adequate), efficiency, securitySpeak more on functional quality on this slide
  11. Derek
  12. 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.