SlideShare uma empresa Scribd logo
1 de 15
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

Mais conteúdo relacionado

Mais procurados (20)

Ch18 service oriented software engineering
Ch18 service oriented software engineeringCh18 service oriented software engineering
Ch18 service oriented software engineering
 
Software quality
Software qualitySoftware quality
Software quality
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
 
Ch24 quality management
Ch24 quality managementCh24 quality management
Ch24 quality management
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Quality attributes sadhana
Quality attributes sadhanaQuality attributes sadhana
Quality attributes sadhana
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Component-based Software Engineering
Component-based Software EngineeringComponent-based Software Engineering
Component-based Software Engineering
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Ch5 - System Modeling
Ch5 - System ModelingCh5 - System Modeling
Ch5 - System Modeling
 
Ch9 evolution
Ch9 evolutionCh9 evolution
Ch9 evolution
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Ch13 security engineering
Ch13 security engineeringCh13 security engineering
Ch13 security engineering
 

Semelhante a System Quality Attributes for Software Architecture

Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & qualityNur Islam
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringMubashir 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.pdfannapurnnatextailes
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2SIMONTHOMAS S
 
Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsKamalika 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 productivitych_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 businessDevLabs Global
 
What is Platform Observability? An Overview
What is Platform Observability? An OverviewWhat is Platform Observability? An Overview
What is Platform Observability? An OverviewKumar Kolaganti
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 
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 automateJeff Thomas
 
QUALITY OF EMBEDDED SYSTEM
QUALITY OF EMBEDDED SYSTEMQUALITY OF EMBEDDED SYSTEM
QUALITY OF EMBEDDED SYSTEMitsRoddur
 
Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014Md Imran
 

Semelhante a System Quality Attributes for Software Architecture (20)

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
 
Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014Project on multiplex ticket bookingn system globsyn2014
Project on multiplex ticket bookingn system globsyn2014
 

Mais de 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, PhDAdnan 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 IntroductionAdnan 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 ApproachAdnan Masood
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAdnan Masood
 
Belief Networks & Bayesian Classification
Belief Networks & Bayesian ClassificationBelief Networks & Bayesian Classification
Belief Networks & Bayesian ClassificationAdnan Masood
 
Bayesian Networks and Association Analysis
Bayesian Networks and Association AnalysisBayesian Networks and Association Analysis
Bayesian Networks and Association AnalysisAdnan 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 IntroductionAdnan 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 ComparisonAdnan 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 GroupAdnan 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
 

Mais de 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...
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

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