[go: up one dir, main page]

0% found this document useful (0 votes)
142 views4 pages

ISO 25010 Software Quality Attributes

Software Quality Attributes (QAs) are non-functional requirements that assess how well software performs under specific conditions, as defined by the ISO/IEC 25010 standard, which outlines eight primary attributes including performance, security, and usability. The document discusses the importance of balancing trade-offs between these attributes in software design and highlights the Architecture Tradeoff Analysis Method (ATAM) as a systematic approach for evaluating architectural decisions. ATAM helps identify risks, document trade-offs, and support informed decision-making in software architecture.

Uploaded by

eman fatima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
142 views4 pages

ISO 25010 Software Quality Attributes

Software Quality Attributes (QAs) are non-functional requirements that assess how well software performs under specific conditions, as defined by the ISO/IEC 25010 standard, which outlines eight primary attributes including performance, security, and usability. The document discusses the importance of balancing trade-offs between these attributes in software design and highlights the Architecture Tradeoff Analysis Method (ATAM) as a systematic approach for evaluating architectural decisions. ATAM helps identify risks, document trade-offs, and support informed decision-making in software architecture.

Uploaded by

eman fatima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

What are Software Quality Attributes?

Software Quality Attributes (QAs) are non-functional requirements that define


how well the software performs under specific conditions, not what it does,
but how it does it.

They serve as the architectural drivers in early design and are often used to
evaluate architectural decisions.

ISO/IEC 25010 Standard (Software Product Quality Model)

The ISO/IEC 25010 defines eight primary quality attributes:

 Performance System response time, throughput, latency,


etc.
 Scalability Ability to handle growth (users, data, transactions)
 Security Protection against threats, data breaches,
unauthorized
access
 Availability System uptime; fault-tolerance, redundancy
 Maintainability Ease of making changes (bug fixes, updates)
 Usability Ease of learning and using the system
 Interoperability Ability to work with other systems
 Reliability Continuity of correct service under defined conditions

Examples

 Netflix uses availability and scalability as key attributes; ensures


millions of users can stream with minimal downtime.

 Banking applications prioritize security, reliability, and auditability.

 Mobile apps focus on usability and performance due to limited screen


size and real-time interaction.

Balancing Trade-offs in Software Design

Why Trade-offs?

Not all quality attributes can be maximized simultaneously. Improving one


attribute often leads to degradation of another.
This is called attribute interaction or architectural trade-offs.

Common Trade-offs

Trade-off Pair Description & Example


Performance vs. Encryption ensures security but adds computational
Security overhead (slower performance).
Availability vs. In distributed systems (like NoSQL databases), high
Consistency availability may reduce strict consistency (CAP
theorem).
Maintainability Highly modular code is easier to maintain but may
vs. Performance introduce overhead at runtime.
Usability vs. More authentication steps enhance security but reduce
Security usability.

Architectural Evaluation

Architectural Evaluation is a systematic assessment of whether a software


system’s architecture satisfies required quality attributes like performance,
availability, modifiability, and security.

Architectural evaluations are typically conducted:

 Before system implementation, to mitigate risk

 During re-architecture or scaling, to validate changes

 For compliance or quality assurance in large enterprises

Techniques to Evaluate Trade-offs

1. ATAM (Architecture Tradeoff Analysis Method)

Structured method for analyzing architectural decisions based on


quality attribute goals.

2. Utility Tree (from SEI)

Helps prioritize quality attributes with scenarios and quantify trade-off


impacts.

3. Scenario-based Design

Define real-world use cases to evaluate how architectural choices


affect different attributes.

ATAM

The Architecture Tradeoff Analysis Method (ATAM) is a scenario-based


evaluation technique developed by the SEI (Software Engineering Institute)
to assess the consequences of architectural decisions on quality attributes.

Purpose
 Identify architectural risks early

 Document trade-offs and sensitivity points

 Support better architectural decisions

Key Concepts in ATAM

 Scenario Description of a situation involving stimulus and


response
(e.g., user load spike)
 Tradeoff Point A decision where improving one quality
degrades another (e.g.,
performance vs. security)
 Sensitivity Point A decision that affects a quality attribute significantly
 Non-functional Quality attributes like scalability, modifiability, etc.
Requirements

ATAM Process Phases

ATAM is conducted over nine steps grouped into four phases:

Phase 1 - Preparation

1. Present ATAM Educate stakeholders about ATAM process and


goals

2. Present Business Drivers Business goals, constraints, quality goals

3. Present Architecture Architects describe the system, design


decisions

Phase 2 - Evaluation

4. Identify Architectural Approaches Patterns, tactics, decisions


used

5. Generate Quality Attribute Utility Tree List of quality goals


ranked by importance and risk

 Example: Availability > Performance >


Modifiability

6. Analyze Architectural Approaches Match scenarios to


architecture; identify risks

Phase 3 - Consolidation
7. Brainstorm and Prioritize Scenarios Stakeholders create
additional scenarios

8. Analyze Tradeoffs Explore how architectural


decisions affect multiple attributes

Phase 4 - Reporting

9. Present Results Document risks, tradeoffs, non-risks, sensitivity


points

Roles in ATAM Evaluation

Evaluation Team Conducts and facilitates ATAM (often external


or SEI-trained)

Software Architects Present architecture and decisions

Project Stakeholders Provide scenarios, priorities, and risks

Domain Experts Validate assumptions and feasibility

ATAM Outputs

 Risk Themes (Recurring architectural concerns)

 Sensitivity and Tradeoff Points

 Prioritized Scenarios

 Utility Tree

 Recommendations

Benefits of Using ATAM

 Early risk identification Reduces cost of late-phase


architectural errors
 Focus on quality attributes Aligns architecture with business
goals
 Stakeholder involvement Ensures requirements are realistic
and complete
 Informed decision-making Documents tradeoffs and rationale
for future
reference

You might also like