SlideShare a Scribd company logo
Quality Attributes in Software
Architecture
QualityAttributes in SoftwareArchitecture
Nov 2011
Gang Tao
Confidential
Levels of RequirementBusiness
Requirements
Vision and Scope
Documents
User
Requirements
Quality
Attributes
Other
Nonfunctional
Requirements
Use Cases
Functional
Requirements
Software Requirements
Specification
Confidential
Quality Attributes
Responsiveness
Confidential
Responsiveness
• Responsiveness is defined as how quickly a system
responds to user input.
• Long delays can be a major cause of user frustration, or let the user
believe the system is broken or that a command or input has been
ignored.
• Responsiveness is not same as performance.
Confidential
Responsive Matters
Confidential
Responsiveness
• All Operations Must Be Responsive
Click Me
Under normal IO load, any operation must
return to the user within 3 seconds.
Confidential
A Case Study
• getVersion() methods cause serious performance
downgrade.
Confidential
What causes the performance issue?
• Complexity
• Indirection
• Repetitions
• Bad Design
• I/O
• … …
Confidential
Price of Optimization
• Loss Readability
• Increase Complexity
• Hard to maintain and extend
• Introduce conflict
• … …
Confidential
SAP Standard Reference
Scalability
Confidential
Scalability
• Scalability refers to a systems ability to handle increased
adversity in its environment in a manner that is graceful and
predictable.
• Adversity comes in two dimensions:
• Increased managed content
• Decreased system resources
Confidential
Scale Up VS Scale Out
Confidential
Scalability Considerations
• Increased Managed Content Must Scale Appropriately
• Maintain Viability as System Resources Decrease
• UI Data Presentation Scaling
• Load Sharing Considerations
Usability
Confidential
Usability
Confidential
Usability
• Usability is the customer’s ability to get work done with the
system in an efficient and pleasing manner.
• A usable system should build on skills a user already has
and not require new or unique knowledge to use the system.
• Each new function the user encounters should follow a
similar pattern so that once a user has learned one function
others are intuitive to learn.
Confidential
Usability Notions
• More efficient to use—takes less time to accomplish a
particular task
• Easier to learn—operation can be learned by observing the
object
• More satisfying to use
Confidential
Usability Composition
• Learnability
• How easy is it for users to accomplish basic tasks the first time they
encounter the design?
• Efficiency
• Once users have learned the design, how quickly can they perform tasks?
• Memorability
• When users return to the design after a period of not using it, how easily
can they re establish proficiency?
• Errors
• How many errors do users make, how severe are these errors, and how
easily can they recover from the errors?
• Satisfaction
• How pleasant is it to use the design?
Confidential
Rule One – Don’t Make Me Think
Confidential
Rule Two - Know Your Users
Confidential
Rule Three – Be Consistent
• Be Consistent
• Things that look the same should act the same.
• Things that look different should act different.
Confidential
Usability VS. User Experiences
• Free Discussion
Confidential
Case Study & Samples
Confidential
Some References of Usability
• [1]《Designing Interfaces》,中文版名为《Designing Interfaces中文版》
• [2]《Usability Engineering》,中文版名为《可用性工程》
• [3]《The Design of Everyday Things》,中文版名为《设计心理学》
• [4]《About Face 3》,中文版名为《交互设计精髓》
• [5]《Designing Web Interfaces》,中文版名为《Web界面设计》
• [6]《Designing the Obvious》,中文版名为《一目了然——Web软件显性设计之路》
• [7]《Communicating Design》,中文版名为《设计沟通十器》
• [8]《Don’t Make Me Think》,中文版名为《点石成金:访客至上的网页设计秘笈》
• [9]《Designing From Both Sides of the Screen》,内外兼修的设计,尚未出版文版
• [10]《UI Design for Programmers》,程序员之用户界面设计,尚未出版中文版
• [11]《The Inmates are Running the Asylum》,中文版名为《交互设计之路——让高科
技产品回归人性》
Security
Confidential
Security
• Security is defined as being protected against danger or loss
Confidential
Security Model
Authentication Authorization
Audit Encryption
Confidential
Refereneces
• OWASP Top Ten
• Seven Pernicious Kingdoms
• Sans Top 25
• Common Weakness Enumerations
Accessibility
Confidential
Accessibility
• “accessibility“ refers to the possibility for everyone, including
and especially people with disabilities, to access and use
technology and information products.
Confidential
Case Study : Choose the right color
Serviceability
Confidential
Serviceability
• Serviceability refers to the ability to monitor systems, identify
issues, perform root cause analysis, and provide
maintenance in order to solve a problem and restore the
system to a functioning state.
Confidential
Serviceability
• Diagnostic Infrastructure Should Not Be Intrusive
• Issues that arise on a customer site that require engineering
involvement should be able to be diagnosed without requiring that the
affected system gets taken off line, new binaries get installed, or a
debugger gets installed.
Confidential
Serviceability
• Solutions Must Support a Customer-Centric Service
Model
• Common issues are able to be root-caused and addressed by
customers or entry level technical service representatives over the
phone.
• Meaningful log messages, alerts, and trouble-shooting trees all must
be considered to be mandatory and complementary components for
servicing a system.
Confidential
Cost of Service
Customer Self Service
Web Remote Support,
BBS/MSN
Phone/Email Support
On Site Support
Extensibility
Confidential
Extensibility
• With extensibility, the design and implementation takes into
consideration future growth.
Confidential
Extensibility Considerations
• Design and Implement With Scale in Mind
• Producers of Interfaces Must Support the Ability to
Minimize the Amount of Data Returned to a Client
• Clients Should Minimize Data Traffic and Network
Requests
• Business Logic Must Be Centralized
• Revision Compatibility Focus
Distributability
Confidential
Distributability
• Distributability is defined as the ability to manage a group of
systems as one unit and to perform management from any
location in the network.
• Decide whether a component will run in process, in a
separate process on the same machine, or on a remote
machine.
Confidential
Layers and Tiers
• Layers are a means of logical separation, and are an
architectural pattern to separate concerns
• Tiers are the physical separation of an application.
Confidential
Distributed Architecture
• Web Service
• CORBA
Maintainability
Confidential
Maintainability
• Maintainability means the ease with which a system can be
modified in order to correct defects, meet new functionality,
make maintenance easier, or cope with a changing
environment.
Confidential
Maintainability Tips
• Adhere to Coding Standards
• Avoid duplication
• Story Telling with your code
• Keep your code simple
Portability
Confidential
Portability
• Portability is defined as the ability to reuse features and
utility source code, across multiple Operating systems.
• By having an OS abstraction layer that implements platform specific
utilities, such as locks and shared memory.
• Can also be achieved by compiling different segments of code,
depending on the platform the software is to be run on.
Reliability
Confidential
Reliability (Availability)
• Reliability is defined as the ability of a system, to function
correctly, under any reasonable circumstance.
• Reasonable can include adverse situations, in which unexpected (but
supported) usage occurs.
• For Storage systems, this includes putting extreme I/O load on the
system, but expecting the system to be manageable.
Confidential
Availability
MTBF – Mean Time Between Failure
MTTR – Mean Time to Recovery
Availability= MTBF/(MTBF+MTTR)
Confidential
Reliability Consideration
• All errors must be handled in a graceful manner
• The Storage System must be manageable, without external
dependencies.
• There should be NO single point of failure
Testability
Confidential
Testability
• Software testability is the degree to which a software
artifact (i.e. a software system, software module,
requirements- or design document) supports testing in a
given test context.
Confidential
Testability of Software Components
• Controllability: The degree to which it is possible to control the state of
the component under test (CUT) as required for testing.
• Observability: The degree to which it is possible to observe
(intermediate and final) test results.
• Isolateability: The degree to which the component under test (CUT) can
be tested in isolation.
• Separation of concerns: The degree to which the component under test
has a single, well defined responsibility.
• Understandability: The degree to which the component under test is
documented or self-explaining.
• Automatability: The degree to which it is possible to automate testing of
the component under test.
• Heterogeneity: The degree to which the use of diverse technologies
requires to use diverse test methods and tools in paralle
Confidential
Testability of Requirements
• consistent
• complete
• unambiguous
• quantitative
• verifiable in practice
Compatibility
Confidential
Compatibility
• Backward
• Forward
Summary
Confidential
Quality Attributes Relationship Matrix
Responsive
ness
ReliabilitySecurityUsability Extensibility
Reliability
Security
Extensibility
Usability
Responsive
ness
Negative Impact
No Impact
Positive Impact
Confidential
Quality Model
• McCall/GE Quality Model
• ISO 9126
Confidential
Business Qualities
• Time to Market
• Cost and Benefit
• Project Lifetime
• Target Market
• Rollout schedule
• Integration with Legacy System
Confidential
Symptoms of Bad Architecture
• Rigidity
• the system is hard to change because every change forces many
other changes.
• Fragility
• changes cause the system to break in conceptually unrelated places.
• Immobility
• it’s hard to disentangle the system into reusable components.
• Viscosity
• doing things correctly is harder than doing things incorrectly.
• Opacity
• the code is hard to read and understand. It does not express its intent
well.

More Related Content

PPTX
Quality Attributes In Software Architecture & Design Patterns
PPTX
System testing
PPT
TESTING STRATEGY.ppt
PDF
SE2018_Lec 18_ Design Principles and Design Patterns
PPTX
The benefits of software reuse
PPTX
Software Testing Basics
PPTX
Quality attributes
PPTX
Mc call's software quality model
Quality Attributes In Software Architecture & Design Patterns
System testing
TESTING STRATEGY.ppt
SE2018_Lec 18_ Design Principles and Design Patterns
The benefits of software reuse
Software Testing Basics
Quality attributes
Mc call's software quality model

What's hot (20)

PPTX
Software quality assurance
PPTX
Software Quality Attributes
PDF
What is Integration Testing? | Edureka
PPT
requirements analysis and design
PPT
Introduction to Software Engineering
PPTX
Lecture 01 Introduction to Software Engineering
PPTX
Software Architecture
PPTX
Software testing principles
PPTX
Software quality assurance
PPTX
PPTX
Cost of software quality ( software quality assurance )
PPT
Software design
PPTX
Software testing & Quality Assurance
PPT
Software Requirements in Software Engineering SE5
PPTX
PPT
Pressman ch-1-software
PPTX
Design Pattern in Software Engineering
PPTX
Waterfall Model
PPTX
Sqa plan
PPTX
The Spiral Model
Software quality assurance
Software Quality Attributes
What is Integration Testing? | Edureka
requirements analysis and design
Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Software Architecture
Software testing principles
Software quality assurance
Cost of software quality ( software quality assurance )
Software design
Software testing & Quality Assurance
Software Requirements in Software Engineering SE5
Pressman ch-1-software
Design Pattern in Software Engineering
Waterfall Model
Sqa plan
The Spiral Model
Ad

Similar to Quality attributes in software architecture (20)

PPTX
Analyzing Software Architectures: A Semantic Model
PPTX
PDF
XP-Manchester 2013 Software Architecture for Agile Developers Intro
PPTX
Softwarearchitecture in practice unit1 2
PPTX
System Quality Attributes for Software Architecture
PPTX
Usability modeling and measurement
PPTX
Neeraj mohan18352035
PPT
Introduction to Human computer interaction
PPT
Software Quality
PDF
C0371019027
PPT
Non Functional Testing
PDF
Software Architecture and Design Introduction
PPTX
A summary of software architecture guide
PPT
HCI 66.pptsgsdgdgwdgfsdfgsdfgsdfgsdgsdgsdgsdg
PPT
ahsdjHDHVdjhvHDVSJADHSAVDHVNCDSHVJHVSJHCVASDHVJSAHVJSV
PPTX
Quality of software
PDF
Application Security, in Six Parts (HackPra 2012)
DOCX
Quality Attributes of Web Software Applications ∗
PDF
3. 1 req elicitation
PPT
Testing Types Presentation
Analyzing Software Architectures: A Semantic Model
XP-Manchester 2013 Software Architecture for Agile Developers Intro
Softwarearchitecture in practice unit1 2
System Quality Attributes for Software Architecture
Usability modeling and measurement
Neeraj mohan18352035
Introduction to Human computer interaction
Software Quality
C0371019027
Non Functional Testing
Software Architecture and Design Introduction
A summary of software architecture guide
HCI 66.pptsgsdgdgwdgfsdfgsdfgsdfgsdgsdgsdgsdg
ahsdjHDHVdjhvHDVSJADHSAVDHVNCDSHVJHVSJHCVASDHVJSAHVJSV
Quality of software
Application Security, in Six Parts (HackPra 2012)
Quality Attributes of Web Software Applications ∗
3. 1 req elicitation
Testing Types Presentation
Ad

More from Gang Tao (10)

PPTX
Scale machine learning deployment
PDF
Critical thinking
PDF
Cloud monitoring
PDF
Big Data Computing Architecture
PDF
Splunk Spark Integration
PDF
Regression
PPTX
Bayesian Classification
PDF
Great bychoice
PDF
Data Science Introduction
PPTX
Now you see it
Scale machine learning deployment
Critical thinking
Cloud monitoring
Big Data Computing Architecture
Splunk Spark Integration
Regression
Bayesian Classification
Great bychoice
Data Science Introduction
Now you see it

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPT
Introduction Database Management System for Course Database
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Introduction to Artificial Intelligence
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
ISO 45001 Occupational Health and Safety Management System
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Design an Analysis of Algorithms II-SECS-1021-03
Introduction Database Management System for Course Database
Operating system designcfffgfgggggggvggggggggg
How Creative Agencies Leverage Project Management Software.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Upgrade and Innovation Strategies for SAP ERP Customers
CHAPTER 2 - PM Management and IT Context
ManageIQ - Sprint 268 Review - Slide Deck
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms I-SECS-1021-03
Introduction to Artificial Intelligence
Adobe Illustrator 28.6 Crack My Vision of Vector Design

Quality attributes in software architecture