SlideShare a Scribd company logo
F U N C T I O N A L / N O N F U N C T I O N A L R E Q U I R E M E N T S A N D
S O F T W A R E A R C H I T E C T U R E M E A S U R E O F T E A M
E M P H A S I S O N T R A D E O F F D E C I S I O N S
A D N A N M A S O O D
S R . S O F T W A R E A R C H I T E C T & D O C T O R A L C A N D I D A T E
B L O G . A D N A N M A S O O D . C O M
A D N A N . M A S O O D @ O W A S P . O R G
System Quality Attributes
about software engineering
about software industry
architect software
architecture software
architecture software programs
design and software
design and user experience
design for user experience
design user experience
enterprise architect
enterprise architects
enterprise it architect
it quality assurance
management quality system
program quality
quality assurance
quality assurance for software
quality assurance in software
quality assurance software
quality in software
quality program
quality software
quality system
quality systems management
requirements software
software architect
software architect software
software architects
software architectural
software architecture software
software business
software development cycle
software engineering
software engineering by
software for quality assurance
software for software engineering
software metrics
software quality
software quality assurance
software quality assurance software
system architect
systems quality
systems quality management
Definition
“Software Quality Attributes are the benchmarks that
describe system’s intended behavior within the
environment for which it was built. The quality
attributes provide the means for measuring the
fitness and suitability of a product. Software
architecture has a profound affect on most qualities
in one way or another, and software quality
attributes affect architecture.”
Functional Requirements
 In general, functional requirements define what a
system is supposed to do
 usually in the form of "system shall do <requirement>“
 Functional requirements define specific behavior or
functions.
 The plan for implementing functional requirements
is detailed in the system design.
Non-Functional Requirements
 Non-functional requirements define how a system is
supposed to be.
 Non-functional requirements specify criteria that
can be used to judge the operation of a
system, rather than specific behaviors.
 The plan for implementing non-functional
requirements is detailed in the system
architecture.
System Quality Attributes
 Non-functional requirements specify system
quality attributes.
 Other terms for non-functional requirements are:
 Constraints
 Quality attributes
 Quality goals
 Quality-of-service (QoS) requirements
 Non-behavioral requirements
 Informally, these are known as the “-ilities"
System Quality Attributes
Business Perspective
 Suitability: Functionality is suitable to all end users
 Compliance: Functionality is compliant with applicable regulatory
guideline
 Certifiability: System is able to be certified to some standard by an
independent third party
• Conformance: Conformance to industry and operational
standards
 Accessibility: The user interface can be accessed and utilized by differently
abled users
 Adaptability: Ability to change the system components to meet
new business needs
 Extensibility & Modifiability: Ability to easily add new features
and customizations
 Replaceability: Ability to replace system in the future
 Reporting: The system supports generating various reports
System Quality Attributes
Security Perspective
 Security: System is secure:
confidentiality, integrity, availability, accountability and
assurance
 Privacy: System does not reveal (or allow revealing) of
information to improper parties
 Non-exploitability: The system, its components, and its
configurations are hardened against known and
unknown security vulnerabilities
 Accountability: The system records all user interactions
and data changes
 Auditability: The system makes accountability
information available to managers and operators
System Quality Attributes
Performance Perspective
 Efficiency: System does not waste valuable resources
 Performance: Perceived response is immediate
 Scalability: Able to handle increased usage on the
appropriate amount of resources, able to add resources
quickly and easily to handle increases in demand
 Responsiveness: The system responds to interactions
with minimal delay and/or latency
 Capacity: The system can handle sudden peaks and
surges in demand
 Throughput: The system can handle a specified number
of interactions or transactions within a specified duration
without undesirable degradation in terms of other
qualities
System Quality Attributes
Configuration Perspective
 Configurability: Ease of making configuration changes
 Integrity: The system, its configuration, and its data
cannot be changed by unauthorized
parties(including accidental or deliberate
misconfiguration)
• Deployability: Ease of
installation, reinstallation, and updating
 Portability: System supports changes in choice of
underlying technologies and architectures (such as
database platform, operating system platform, etc.)
 Interoperability & Compatibility: Functionality
interoperates with other systems easily
System Quality Attributes
Operations Perspective
 Availability & Fault Tolerance: System continues operating properly in the event of failure by
one or more of its components
 Isolation: System survives and gracefully handles situations in which dependent “downstream”
systems become unavailable
 Continuity: System recovers from failures in surrounding environment
 Disaster Recoverability: The system, its data, and its configuration can be completely and
quickly recovered from backups and configuration management repositories, even in the event
of a catastrophic loss of a data center
 Operability: System can readily be kept in a functioning and operating
condition by manual or automated means
• Maintainability: System upgrades can quickly and safely be performed with a
minimum of downtime
• Monitorability: Ability for operators to easily see how the system is operating
• Alerting: The system notifies operators of faults and exceptional conditions
• Maturity: System components are proven stable by others
• Stability and Reliability: The system exhibits infrequent failures
System Quality Attributes
Data Perspective
 Durability: The system does not lose critical operational data, whether “in-
flight” or “at-rest”
 Reversibility: Undesirable system and data changes can be reversed quickly
and easily with minimal disruption to the business
 Cacheability: The data is structured with appropriate separation of volatile
(changing) and non-volatile data to support caching
 Archivability: Older data can be relocated to separate data stores
 Partitionability: The system supports splitting like-kind data across
multiple databases (for scalability, risk mitigation, etc.)
 Idempotency: Interactions performed twice result in same change as if
performed once
 Concurrency: The system supports a high degree of simultaneous
interactions with the database without degrading in performance or
sacrificing data integrity (ex: optimistic locking, snapshot isolation)
 Backup : The database and message queues support being backed up
without the system being taken offline
System Quality Attributes
Diagnostics Perspective
 Supportability: System operators can quickly and easily
identify faults and perform root cause analysis within an
environment of controlled access to information and
restricted privileges
 Instrumentability: System is capable of recording various
operational metrics that can be analyzed and reported
on
 Traceability: System can be configured to record its own
interactions with itself in order to aid support personnel
in diagnosing problems
• Logging: The system logs external and
interactions with configurable degrees of detail
System Quality Attributes
Enhancement Perspective
 Analyzability: Ability to figure out how the
system functions
 Documentability: Ability to communicate
about the system in writing
 Understandability: Able to use system with little
training
 Learnability: Supports learning of system functionality
with little external interfacing
• Testability: Ability to create repeatable and
specific tests of the system and potential for
some to be automated
Software Quality Attributes Ratings Tool
http://www.gettingagile.com/wp-content/uploads/2009/05/softwarequalityattributes-ratingtool.xls OR
http://bit.ly/1aIPeU1
References
Getting Agile
http://www.gettingagile.com/2009/05/17/survey-for-
software-quality-attributes-where-should-we-focus/
MSDN – Quality Attributes
http://msdn.microsoft.com/en-us/library/ee658094.aspx
Implementing System Quality Attributes
http://msdn.microsoft.com/en-us/library/bb402962.aspx
Operational Aspects of a System – ACM Queue
http://queue.acm.org/blogposting.cfm?id=56822
about software engineering
about software industry
architect software
architecture software
architecture software programs
design and software
design and user experience
design for user experience
design user experience
enterprise architect
enterprise architects
enterprise it architect
it quality assurance
management quality system
program quality
quality assurance
quality assurance for software
quality assurance in software
quality assurance software
quality in software
quality program
quality software
quality system
quality systems management
requirements software
software architect
software architect software
software architects
software architectural
software architecture software
software business
software development cycle
software engineering
software engineering by
software for quality assurance
software for software engineering
software metrics
software quality
software quality assurance
software quality assurance software
system architect
systems quality
systems quality management

More Related Content

What's hot

Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Nishkarsh Gupta
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
Nishu Rastogi
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Sachithra Gayan
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
Benoy Ramachandran
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software quality
Utkarsh Agarwal
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activites
Golu Gupta
 
Software Architecture Design Decisions
Software Architecture Design DecisionsSoftware Architecture Design Decisions
Software Architecture Design Decisions
Afaq Mansoor Khan
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
Rajeev Sharan
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
Abhimanyu Mishra
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
software-engineering-book
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
Syed Zaid Irshad
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
Nethan Shaik
 
5. scm
5. scm5. scm
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
Kittitouch Suteeca
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Rajeev Sharan
 
Sdlc
SdlcSdlc

What's hot (20)

Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software quality
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activites
 
Software Architecture Design Decisions
Software Architecture Design DecisionsSoftware Architecture Design Decisions
Software Architecture Design Decisions
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
5. scm
5. scm5. scm
5. scm
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Sdlc
SdlcSdlc
Sdlc
 

Similar to System Quality Attributes for Software Architecture

System quality attributes
System quality attributes System quality attributes
System quality attributes
Adil Mehmoood
 
System testing
System testingSystem testing
System testing
Sifat Hossain
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
Usman Khan
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
Nur Islam
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Mubashir Yasin
 
The most important characteristics that comprise the software qualit.pdf
The most important characteristics that comprise the software qualit.pdfThe most important characteristics that comprise the software qualit.pdf
The most important characteristics that comprise the software qualit.pdf
annapurnnatextailes
 
Ch2
Ch2Ch2
Ch2
Ch2Ch2
SEPM_MODULE 2 PPT.pptx
SEPM_MODULE 2 PPT.pptxSEPM_MODULE 2 PPT.pptx
SEPM_MODULE 2 PPT.pptx
VaishaliBagewadikar
 
VTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLCVTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLC
Priya Diana Mercy
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
udhayaveenaa
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
SIMONTHOMAS S
 
Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable Systems
Kamalika Guha Roy
 
Document defect tracking for improving product quality and productivity
Document   defect tracking for improving product quality and productivityDocument   defect tracking for improving product quality and productivity
Document defect tracking for improving product quality and productivity
ch_tabitha7
 
How to choose the best IT infrastructure monitoring tool for your business
How to choose the best IT infrastructure monitoring tool for your businessHow to choose the best IT infrastructure monitoring tool for your business
How to choose the best IT infrastructure monitoring tool for your business
DevLabs Global
 
What is Platform Observability? An Overview
What is Platform Observability? An OverviewWhat is Platform Observability? An Overview
What is Platform Observability? An Overview
Kumar Kolaganti
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
Nishant Worah
 
Sda 3
Sda   3Sda   3
Document Control in FDA Regulated Environments - When and how to automate
Document Control in FDA Regulated Environments - When and how to automateDocument Control in FDA Regulated Environments - When and how to automate
Document Control in FDA Regulated Environments - When and how to automate
Jeff Thomas
 
QUALITY OF EMBEDDED SYSTEM
QUALITY OF EMBEDDED SYSTEMQUALITY OF EMBEDDED SYSTEM
QUALITY OF EMBEDDED SYSTEM
itsRoddur
 

Similar to System Quality Attributes for Software Architecture (20)

System quality attributes
System quality attributes System quality attributes
System quality attributes
 
System testing
System testingSystem testing
System testing
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
The most important characteristics that comprise the software qualit.pdf
The most important characteristics that comprise the software qualit.pdfThe most important characteristics that comprise the software qualit.pdf
The most important characteristics that comprise the software qualit.pdf
 
Ch2
Ch2Ch2
Ch2
 
Ch2
Ch2Ch2
Ch2
 
SEPM_MODULE 2 PPT.pptx
SEPM_MODULE 2 PPT.pptxSEPM_MODULE 2 PPT.pptx
SEPM_MODULE 2 PPT.pptx
 
VTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLCVTU - MIS Module 4 - SDLC
VTU - MIS Module 4 - SDLC
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable Systems
 
Document defect tracking for improving product quality and productivity
Document   defect tracking for improving product quality and productivityDocument   defect tracking for improving product quality and productivity
Document defect tracking for improving product quality and productivity
 
How to choose the best IT infrastructure monitoring tool for your business
How to choose the best IT infrastructure monitoring tool for your businessHow to choose the best IT infrastructure monitoring tool for your business
How to choose the best IT infrastructure monitoring tool for your business
 
What is Platform Observability? An Overview
What is Platform Observability? An OverviewWhat is Platform Observability? An Overview
What is Platform Observability? An Overview
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Sda 3
Sda   3Sda   3
Sda 3
 
Document Control in FDA Regulated Environments - When and how to automate
Document Control in FDA Regulated Environments - When and how to automateDocument Control in FDA Regulated Environments - When and how to automate
Document Control in FDA Regulated Environments - When and how to automate
 
QUALITY OF EMBEDDED SYSTEM
QUALITY OF EMBEDDED SYSTEMQUALITY OF EMBEDDED SYSTEM
QUALITY OF EMBEDDED SYSTEM
 

More from Adnan Masood

Spark with Azure HDInsight - Tampa Bay Data Science - Adnan Masood, PhD
Spark with Azure HDInsight  - Tampa Bay Data Science - Adnan Masood, PhDSpark with Azure HDInsight  - Tampa Bay Data Science - Adnan Masood, PhD
Spark with Azure HDInsight - Tampa Bay Data Science - Adnan Masood, PhD
Adnan Masood
 
Data science with Windows Azure - A Brief Introduction
Data science with Windows Azure - A Brief IntroductionData science with Windows Azure - A Brief Introduction
Data science with Windows Azure - A Brief Introduction
Adnan Masood
 
Restructuring Technical Debt - A Software and System Quality Approach
Restructuring Technical Debt - A Software and System Quality ApproachRestructuring Technical Debt - A Software and System Quality Approach
Restructuring Technical Debt - A Software and System Quality Approach
Adnan Masood
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Adnan Masood
 
Belief Networks & Bayesian Classification
Belief Networks & Bayesian ClassificationBelief Networks & Bayesian Classification
Belief Networks & Bayesian Classification
Adnan Masood
 
Bayesian Networks and Association Analysis
Bayesian Networks and Association AnalysisBayesian Networks and Association Analysis
Bayesian Networks and Association Analysis
Adnan Masood
 
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Adnan Masood
 
Bayesian Networks - A Brief Introduction
Bayesian Networks - A Brief IntroductionBayesian Networks - A Brief Introduction
Bayesian Networks - A Brief Introduction
Adnan Masood
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
Adnan Masood
 
SOLID Principles of Refactoring Presentation - Inland Empire User Group
SOLID Principles of Refactoring Presentation - Inland Empire User GroupSOLID Principles of Refactoring Presentation - Inland Empire User Group
SOLID Principles of Refactoring Presentation - Inland Empire User Group
Adnan Masood
 
Brief bibliography of interestingness measure, bayesian belief network and ca...
Brief bibliography of interestingness measure, bayesian belief network and ca...Brief bibliography of interestingness measure, bayesian belief network and ca...
Brief bibliography of interestingness measure, bayesian belief network and ca...
Adnan Masood
 

More from Adnan Masood (11)

Spark with Azure HDInsight - Tampa Bay Data Science - Adnan Masood, PhD
Spark with Azure HDInsight  - Tampa Bay Data Science - Adnan Masood, PhDSpark with Azure HDInsight  - Tampa Bay Data Science - Adnan Masood, PhD
Spark with Azure HDInsight - Tampa Bay Data Science - Adnan Masood, PhD
 
Data science with Windows Azure - A Brief Introduction
Data science with Windows Azure - A Brief IntroductionData science with Windows Azure - A Brief Introduction
Data science with Windows Azure - A Brief Introduction
 
Restructuring Technical Debt - A Software and System Quality Approach
Restructuring Technical Debt - A Software and System Quality ApproachRestructuring Technical Debt - A Software and System Quality Approach
Restructuring Technical Debt - A Software and System Quality Approach
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Belief Networks & Bayesian Classification
Belief Networks & Bayesian ClassificationBelief Networks & Bayesian Classification
Belief Networks & Bayesian Classification
 
Bayesian Networks and Association Analysis
Bayesian Networks and Association AnalysisBayesian Networks and Association Analysis
Bayesian Networks and Association Analysis
 
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
 
Bayesian Networks - A Brief Introduction
Bayesian Networks - A Brief IntroductionBayesian Networks - A Brief Introduction
Bayesian Networks - A Brief Introduction
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
SOLID Principles of Refactoring Presentation - Inland Empire User Group
SOLID Principles of Refactoring Presentation - Inland Empire User GroupSOLID Principles of Refactoring Presentation - Inland Empire User Group
SOLID Principles of Refactoring Presentation - Inland Empire User Group
 
Brief bibliography of interestingness measure, bayesian belief network and ca...
Brief bibliography of interestingness measure, bayesian belief network and ca...Brief bibliography of interestingness measure, bayesian belief network and ca...
Brief bibliography of interestingness measure, bayesian belief network and ca...
 

Recently uploaded

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 

Recently uploaded (20)

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 

System Quality Attributes for Software Architecture

  • 1. F U N C T I O N A L / N O N F U N C T I O N A L R E Q U I R E M E N T S A N D S O F T W A R E A R C H I T E C T U R E M E A S U R E O F T E A M E M P H A S I S O N T R A D E O F F D E C I S I O N S A D N A N M A S O O D S R . S O F T W A R E A R C H I T E C T & D O C T O R A L C A N D I D A T E B L O G . A D N A N M A S O O D . C O M A D N A N . M A S O O D @ O W A S P . O R G System Quality Attributes about software engineering about software industry architect software architecture software architecture software programs design and software design and user experience design for user experience design user experience enterprise architect enterprise architects enterprise it architect it quality assurance management quality system program quality quality assurance quality assurance for software quality assurance in software quality assurance software quality in software quality program quality software quality system quality systems management requirements software software architect software architect software software architects software architectural software architecture software software business software development cycle software engineering software engineering by software for quality assurance software for software engineering software metrics software quality software quality assurance software quality assurance software system architect systems quality systems quality management
  • 2. Definition “Software Quality Attributes are the benchmarks that describe system’s intended behavior within the environment for which it was built. The quality attributes provide the means for measuring the fitness and suitability of a product. Software architecture has a profound affect on most qualities in one way or another, and software quality attributes affect architecture.”
  • 3. Functional Requirements  In general, functional requirements define what a system is supposed to do  usually in the form of "system shall do <requirement>“  Functional requirements define specific behavior or functions.  The plan for implementing functional requirements is detailed in the system design.
  • 4. Non-Functional Requirements  Non-functional requirements define how a system is supposed to be.  Non-functional requirements specify criteria that can be used to judge the operation of a system, rather than specific behaviors.  The plan for implementing non-functional requirements is detailed in the system architecture.
  • 5. System Quality Attributes  Non-functional requirements specify system quality attributes.  Other terms for non-functional requirements are:  Constraints  Quality attributes  Quality goals  Quality-of-service (QoS) requirements  Non-behavioral requirements  Informally, these are known as the “-ilities"
  • 6. System Quality Attributes Business Perspective  Suitability: Functionality is suitable to all end users  Compliance: Functionality is compliant with applicable regulatory guideline  Certifiability: System is able to be certified to some standard by an independent third party • Conformance: Conformance to industry and operational standards  Accessibility: The user interface can be accessed and utilized by differently abled users  Adaptability: Ability to change the system components to meet new business needs  Extensibility & Modifiability: Ability to easily add new features and customizations  Replaceability: Ability to replace system in the future  Reporting: The system supports generating various reports
  • 7. System Quality Attributes Security Perspective  Security: System is secure: confidentiality, integrity, availability, accountability and assurance  Privacy: System does not reveal (or allow revealing) of information to improper parties  Non-exploitability: The system, its components, and its configurations are hardened against known and unknown security vulnerabilities  Accountability: The system records all user interactions and data changes  Auditability: The system makes accountability information available to managers and operators
  • 8. System Quality Attributes Performance Perspective  Efficiency: System does not waste valuable resources  Performance: Perceived response is immediate  Scalability: Able to handle increased usage on the appropriate amount of resources, able to add resources quickly and easily to handle increases in demand  Responsiveness: The system responds to interactions with minimal delay and/or latency  Capacity: The system can handle sudden peaks and surges in demand  Throughput: The system can handle a specified number of interactions or transactions within a specified duration without undesirable degradation in terms of other qualities
  • 9. System Quality Attributes Configuration Perspective  Configurability: Ease of making configuration changes  Integrity: The system, its configuration, and its data cannot be changed by unauthorized parties(including accidental or deliberate misconfiguration) • Deployability: Ease of installation, reinstallation, and updating  Portability: System supports changes in choice of underlying technologies and architectures (such as database platform, operating system platform, etc.)  Interoperability & Compatibility: Functionality interoperates with other systems easily
  • 10. System Quality Attributes Operations Perspective  Availability & Fault Tolerance: System continues operating properly in the event of failure by one or more of its components  Isolation: System survives and gracefully handles situations in which dependent “downstream” systems become unavailable  Continuity: System recovers from failures in surrounding environment  Disaster Recoverability: The system, its data, and its configuration can be completely and quickly recovered from backups and configuration management repositories, even in the event of a catastrophic loss of a data center  Operability: System can readily be kept in a functioning and operating condition by manual or automated means • Maintainability: System upgrades can quickly and safely be performed with a minimum of downtime • Monitorability: Ability for operators to easily see how the system is operating • Alerting: The system notifies operators of faults and exceptional conditions • Maturity: System components are proven stable by others • Stability and Reliability: The system exhibits infrequent failures
  • 11. System Quality Attributes Data Perspective  Durability: The system does not lose critical operational data, whether “in- flight” or “at-rest”  Reversibility: Undesirable system and data changes can be reversed quickly and easily with minimal disruption to the business  Cacheability: The data is structured with appropriate separation of volatile (changing) and non-volatile data to support caching  Archivability: Older data can be relocated to separate data stores  Partitionability: The system supports splitting like-kind data across multiple databases (for scalability, risk mitigation, etc.)  Idempotency: Interactions performed twice result in same change as if performed once  Concurrency: The system supports a high degree of simultaneous interactions with the database without degrading in performance or sacrificing data integrity (ex: optimistic locking, snapshot isolation)  Backup : The database and message queues support being backed up without the system being taken offline
  • 12. System Quality Attributes Diagnostics Perspective  Supportability: System operators can quickly and easily identify faults and perform root cause analysis within an environment of controlled access to information and restricted privileges  Instrumentability: System is capable of recording various operational metrics that can be analyzed and reported on  Traceability: System can be configured to record its own interactions with itself in order to aid support personnel in diagnosing problems • Logging: The system logs external and interactions with configurable degrees of detail
  • 13. System Quality Attributes Enhancement Perspective  Analyzability: Ability to figure out how the system functions  Documentability: Ability to communicate about the system in writing  Understandability: Able to use system with little training  Learnability: Supports learning of system functionality with little external interfacing • Testability: Ability to create repeatable and specific tests of the system and potential for some to be automated
  • 14. Software Quality Attributes Ratings Tool http://www.gettingagile.com/wp-content/uploads/2009/05/softwarequalityattributes-ratingtool.xls OR http://bit.ly/1aIPeU1
  • 15. References Getting Agile http://www.gettingagile.com/2009/05/17/survey-for- software-quality-attributes-where-should-we-focus/ MSDN – Quality Attributes http://msdn.microsoft.com/en-us/library/ee658094.aspx Implementing System Quality Attributes http://msdn.microsoft.com/en-us/library/bb402962.aspx Operational Aspects of a System – ACM Queue http://queue.acm.org/blogposting.cfm?id=56822 about software engineering about software industry architect software architecture software architecture software programs design and software design and user experience design for user experience design user experience enterprise architect enterprise architects enterprise it architect it quality assurance management quality system program quality quality assurance quality assurance for software quality assurance in software quality assurance software quality in software quality program quality software quality system quality systems management requirements software software architect software architect software software architects software architectural software architecture software software business software development cycle software engineering software engineering by software for quality assurance software for software engineering software metrics software quality software quality assurance software quality assurance software system architect systems quality systems quality management