SlideShare uma empresa Scribd logo
1 de 14
Software Quality Attributes 
Hayim Makabee 
International Association of Software Architects in Israel
About Me: 
 Education: 
 Experience of 20 years in the Israeli software industry. 
 Today:
Software Quality Attributes 
 Quality of software systems = Collection of software quality 
attributes. 
 System requirements => Define what is expected regarding 
these quality attributes. 
 Software Quality Attributes: 
 Static 
 Dynamic
Static Quality Attributes 
 Static quality attributes reflect the system’s structure and 
organization. 
 Static quality attributes are directed related to: 
 The architecture and design of the software system. 
 The way the system was implemented (its source code). 
 Static quality attributes are not visible to the end-user but they 
affect the system’s development and maintenance costs.
Examples of Static Attributes 
 Modularity 
 Coupling 
 Cohesion 
 Testability 
 Maintainability 
 Extensibility 
 Reusability
Testing Static Quality Attributes 
 Inspection: 
 Design Reviews 
 Code Reviews 
 Pair Programming
Static Code Analysis 
 Coding Style: 
 Naming 
 Documentation 
 Software Quality Metrics: 
 Complexity 
 Coupling
Dynamic Quality Attributes 
 Dynamic quality attributes reflect the behavior of the system 
during its execution. 
 Dynamic quality attributes are directly related to: 
 The system’s architecture, design and source code. 
 The system’s configuration and deployment parameters. 
 The system’s environment and the platform on which it is running. 
 Dynamic quality attributes exist at runtime, and are visible to 
the end-user.
Examples of Dynamic Attributes 
 Latency 
 Throughput 
 Robustness 
 Scalability 
 Fault-Tolerance
Testing Dynamic Quality Attributes 
 Code Profilers: 
 Memory Usage 
 Execution Time
Non-Functional Testing 
 Performance Tests 
 Load/Stress Tests 
 Robustness Tests 
 Simulators 
 Bombers 
 Log Players
Quality Attributes and Architectural 
Tradeoffs 
 Architectural Decision: Stateless vs. Stateful Servers. 
Load 
Balancer 
Server 1 
Server 2 
Server 3 
DB
Summary 
 Quality of software systems = Collection of software quality 
attributes. 
 Static quality attributes reflect the system’s structure and 
organization. 
 Dynamic quality attributes reflect the behavior of the system 
during its execution. 
 Quality attributes require diverse testing methods and tools. 
 Quality attributes may drive architectural tradeoffs.
Thanks! 
Q&A

Mais conteúdo relacionado

Mais procurados

Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
koolkampus
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Er. Nancy
 

Mais procurados (20)

Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Software design
Software designSoftware design
Software design
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
software engineering
software engineeringsoftware engineering
software engineering
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 

Semelhante a Software Quality Attributes

Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
sslovepk
 
Emad Samy Mahmoud Mekdad
Emad Samy Mahmoud MekdadEmad Samy Mahmoud Mekdad
Emad Samy Mahmoud Mekdad
Emad
 

Semelhante a Software Quality Attributes (20)

Architecting Component-Based Systems
Architecting Component-Based SystemsArchitecting Component-Based Systems
Architecting Component-Based Systems
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
System quality attributes
System quality attributes System quality attributes
System quality attributes
 
software engineering
 software engineering software engineering
software engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Chapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycleChapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycle
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Hirschmann: Automotive SPICE Requirements for development process and tools
Hirschmann: Automotive SPICE Requirements for development process and tools Hirschmann: Automotive SPICE Requirements for development process and tools
Hirschmann: Automotive SPICE Requirements for development process and tools
 
Differences asked in Software Testing Interview.
Differences asked in Software Testing Interview. Differences asked in Software Testing Interview.
Differences asked in Software Testing Interview.
 
Software Quality Architecture And Code Audit
Software Quality Architecture And Code AuditSoftware Quality Architecture And Code Audit
Software Quality Architecture And Code Audit
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validation
 
Emad Samy Mahmoud Mekdad
Emad Samy Mahmoud MekdadEmad Samy Mahmoud Mekdad
Emad Samy Mahmoud Mekdad
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
 
Amq Overview Continuous Quality Assurance
Amq Overview Continuous Quality AssuranceAmq Overview Continuous Quality Assurance
Amq Overview Continuous Quality Assurance
 
Chapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software LifecycleChapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software Lifecycle
 
Mohammed Kharma - A flexible framework for quality assurance and testing of s...
Mohammed Kharma - A flexible framework for quality assurance and testing of s...Mohammed Kharma - A flexible framework for quality assurance and testing of s...
Mohammed Kharma - A flexible framework for quality assurance and testing of s...
 
Software testing
Software testingSoftware testing
Software testing
 
EffectiveSoft QA Services
EffectiveSoft QA ServicesEffectiveSoft QA Services
EffectiveSoft QA Services
 

Mais de Hayim Makabee

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
Hayim Makabee
 

Mais de Hayim Makabee (20)

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarApplications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT Webinar
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Blue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseBlue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use Case
 
Managing your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarManaging your Reputation Gvahim Webinar
Managing your Reputation Gvahim Webinar
 
Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)
 
Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)
 
Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile Development
 
Adaptable Designs for Agile Software Development
Adaptable Designs for Agile  Software DevelopmentAdaptable Designs for Agile  Software Development
Adaptable Designs for Agile Software Development
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software Design
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
The SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsThe SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design Patterns
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in Israel
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
 
The Role of the Software Architect
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software Architect
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
 

Último

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Último (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Software Quality Attributes

  • 1. Software Quality Attributes Hayim Makabee International Association of Software Architects in Israel
  • 2. About Me:  Education:  Experience of 20 years in the Israeli software industry.  Today:
  • 3. Software Quality Attributes  Quality of software systems = Collection of software quality attributes.  System requirements => Define what is expected regarding these quality attributes.  Software Quality Attributes:  Static  Dynamic
  • 4. Static Quality Attributes  Static quality attributes reflect the system’s structure and organization.  Static quality attributes are directed related to:  The architecture and design of the software system.  The way the system was implemented (its source code).  Static quality attributes are not visible to the end-user but they affect the system’s development and maintenance costs.
  • 5. Examples of Static Attributes  Modularity  Coupling  Cohesion  Testability  Maintainability  Extensibility  Reusability
  • 6. Testing Static Quality Attributes  Inspection:  Design Reviews  Code Reviews  Pair Programming
  • 7. Static Code Analysis  Coding Style:  Naming  Documentation  Software Quality Metrics:  Complexity  Coupling
  • 8. Dynamic Quality Attributes  Dynamic quality attributes reflect the behavior of the system during its execution.  Dynamic quality attributes are directly related to:  The system’s architecture, design and source code.  The system’s configuration and deployment parameters.  The system’s environment and the platform on which it is running.  Dynamic quality attributes exist at runtime, and are visible to the end-user.
  • 9. Examples of Dynamic Attributes  Latency  Throughput  Robustness  Scalability  Fault-Tolerance
  • 10. Testing Dynamic Quality Attributes  Code Profilers:  Memory Usage  Execution Time
  • 11. Non-Functional Testing  Performance Tests  Load/Stress Tests  Robustness Tests  Simulators  Bombers  Log Players
  • 12. Quality Attributes and Architectural Tradeoffs  Architectural Decision: Stateless vs. Stateful Servers. Load Balancer Server 1 Server 2 Server 3 DB
  • 13. Summary  Quality of software systems = Collection of software quality attributes.  Static quality attributes reflect the system’s structure and organization.  Dynamic quality attributes reflect the behavior of the system during its execution.  Quality attributes require diverse testing methods and tools.  Quality attributes may drive architectural tradeoffs.