0% found this document useful (0 votes)
29 views2 pages

ISO Standards for Software Quality

The document outlines the importance of software quality, defining it through various specifications and characteristics such as functional suitability, reliability, performance efficiency, usability, security, compatibility, maintainability, and portability. It references ISO standards, specifically ISO 9126 and ISO 25010, which provide frameworks for evaluating software quality. Key aspects include how well software meets user needs, operates under specified conditions, and adapts to different environments.

Uploaded by

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

ISO Standards for Software Quality

The document outlines the importance of software quality, defining it through various specifications and characteristics such as functional suitability, reliability, performance efficiency, usability, security, compatibility, maintainability, and portability. It references ISO standards, specifically ISO 9126 and ISO 25010, which provide frameworks for evaluating software quality. Key aspects include how well software meets user needs, operates under specified conditions, and adapts to different environments.

Uploaded by

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

SOFTWARE QUALITY Functional Suitability

§ how well a product or system is able to provide functions that


Quality meet the stated and implied needs
§ generally agreed to be ‘ a good thing’
• Functional Completeness: Refers to the set of
THE IMPORTANCE OF SOFTWARE QUALITY functions that covers all of the specified tasks and user
• Increasingly criticality of software objectives.
• The intangibility of software
• Accumulating errors during software Development • Functional Correctness: Refers to how well a product or
system provides the correct results with the needed
DEFINING SOFTWARE QUALITY degree of precision.

For any software system there should be THREE • Functional Appropriateness: Refers to how well
SPECIFICATIONS: functions are able to accomplish specified tasks and
• Functional specification describing what the system is to do objectives.
• Quality specification concerned with how well the function
are to operate Reliability
• Resource specification concerned with how much is to be § how well a system, product, or component performs
spent on the system specified functions under specified conditions

The International Organization for Standardization (ISO) has • Maturity: Refers to how well a system, product, or
established a series of ISO and ISO/IEC standards for software component is able to meet your needs for reliability.
quality.
• Availability: Refers to whether a system, product, or
ISO 9126 component is operational and accessible.
§ The ISO/IEC 9126 standard for software product quality
should be used in conjunction with ISO/IEC 14598 for • Fault Tolerance: Refers to how well a system, product,
evaluating software products. or component operates despite hardware and/or
§ international standard proposed to make sure ‘quality of all software faults.
software-intensive products’ which includes a system like
safety-critical where in case of failure of software lives will be • Recoverability: Refers to how well a product or system
in jeopardy can recover data in the event of an interruption or failure.
§ International Electrotechnical Commission have developed
ISO/IEC 9126 standards for software engineering → Product Performance E[iciency
Quality to provide an all-inclusive specification and § the performance related to the amount of resources used
evaluation model for the quality of the software product
• Time Behavior: Refers to the response and processing
ISO 9126–1 software quality model identifies 6 MAIN QUALITY times, and throughput rates of a product or system
CHARACTERISTICS while it’s performing its functions.
• Functionality • Usability • Maintainability
• Reliability • EUiciency • Portability • Resource Utilization: Refers to the amounts and types
of resources used by a product or system while
ISO 25010 performing its functions.
§ the latest version of the software quality model standard,
published in 2011
• Capacity: Refers to the maximum limits of a product or
§ replaces ISO 9126, which was first issued in 1991 and revised system parameter
in 2001
§ expands and reorganizes the software quality characteristics Usability
and sub characteristics, and introduces two new
§ how well a product or system can be used to achieve
perspectives: quality in use and quality in context
specified goals eUectively, eUiciently, and satisfactorily

Quality in Use
• Appropriateness Recognizability: Refers to how well
- the degree to which a software product satisfies the
you can recognize whether a product or system is
needs and goals of its users in a specific situation
appropriate for your needs.

Quality in Context
• Learnability: Refers to how easy it is to learn how to use
- the degree to which a software product adapts to
a product or system.
diUerent environments and conditions

• Operability: Refers to whether a product or system has


The main diUerence between ISO 9126 and ISO 25010 lies in how
attributes that make it easy to operate and control.
they categorize and define non-functional software quality
requirements.
• User Error Protection: Refers to how well a system
protects users against making errors.
ISO 25010 added two additional product quality characteristics to
the six specified in ISO 9126 — adding security and compatibility.
• User Interface Aesthetics: Refers to whether a user
interface is pleasing.
ISO 9126 / ISO 25010 PRODUCT QUALITY CHARACTERISTICS
• Functional Suitability • Performance EUiciency
• Security • Maintainability • Accessibility: Refers to how well a product or system
• Reliability • Usability can be used with the widest range of characteristics and
• Compatibility • Portability capabilities.
Security • Replaceability: Refers to how well a product can
§ how well a product or system protects information and data replace another comparable product.
from security vulnerabilities

• Confidentiality: Refers to how well a product or system


is able to ensure that data is only accessible to those
who have authorized access

• Integrity: Refers to how well a system, product, or


component is able to prevent unauthorized access and
modification to computer programs and/or data

• Non-repudiation: Refers to how well actions or events


can be proven to have taken place.

• Accountability: Refers to the actions of an unauthorized


user can be traced back to them.

• Authenticity: Refers to how well the identity of a subject


or resource can be proved

Compatibility
§ how well a product, system, or component can exchange
information as well as perform its required functions while
sharing the same hardware or software environment

• Co-existence: Refers to how well a product can perform


its required functions eUiciently while sharing a common
environment and resources with products, without
negatively impacting any other product

• Interoperability: Refers to how well two or more


systems, products, or components are able to exchange
information and use that information.

Maintainability
§ how well a product or system can be modified to improve,
correct, or adapt to changes in the environment as well as
requirements

• Modularity: Refers to whether the components of a


system or program can be changed with minimal impact
on the other components

• Reusability: Refers to how well an asset can be used in


more than one system.

• Analysability: Refers to the eUectiveness of an impact


assessment on intended changes. In addition, it also
refers to the diagnosis of deficiencies or causes of
failures, or to identify parts to be modified.

• Modifiability: Refers to how well a product or system


can be modified without introducing defects or
degrading existing product quality.

• Testability: Refers to how eUective the test criteria is for


a system, product, or component. In addition, it also
refers to the tests that can be performed to determine
whether the test criteria has been met

Portability
§ how well a system, product, or component can be transferred
from one environment to another

• Adaptability: Refers to how well a product or system can


be adapted for diUerent or evolving hardware, software,
or other usage environments

• Installability: Refers to how successfully a product or


system can be installed and/or uninstalled

Common questions

Powered by AI

'Portability' enhances software adaptability by ensuring that systems or products can be effectively transferred and operate across diverse environments. It is determined by characteristics such as adaptability, which assesses ease of adjusting to varying hardware and software contexts; installability, evaluating successful installations and removals; and replaceability, which considers the capability to substitute with comparable products. These factors facilitate software flexibility, enabling broader deployment options, efficient resource utilization, and access to wider market segments, thus ensuring long-term relevance and user satisfaction .

ISO 25010 introduced significant innovations by expanding and restructuring software quality characteristics and by recognizing the importance of usability and context-specific adaptability. Unlike ISO 9126, ISO 25010 included security and compatibility as core components, acknowledging emerging threats and the necessity for systems to co-exist and engage with diverse environments. It also introduced 'quality in use' and 'quality in context', reflecting user-centric and situational adaptability, thus better aligning with real-world, user-oriented interactions. These changes provided a more holistic and dynamic framework for evaluating software quality .

'Reliability' is a pivotal component of the software quality model, ensuring that a system, product, or component performs its specified functions under specified conditions. It is measured using several sub-characteristics: maturity assesses how well the system meets reliability needs; availability ensures the system is operational and accessible; fault tolerance evaluates performance despite hardware/software faults; and recoverability examines data recovery capabilities in case of failures. These components collectively ensure that the software maintains functionality, reduces downtime, and recovers gracefully from issues, thus enhancing user trust and satisfaction .

The main differences between ISO 9126 and ISO 25010 lie in their categorization and definition of non-functional software quality requirements. ISO 25010, published in 2011, replaced the ISO 9126 series by expanding and reorganizing the software quality characteristics. While ISO 9126 identified six main characteristics: functionality, usability, maintainability, reliability, efficiency, and portability, ISO 25010 added two additional characteristics: security and compatibility. Furthermore, ISO 25010 introduced new perspectives such as quality in use, which refers to how well a software product satisfies user needs in a specific context, and quality in context, which focuses on adaptability to different environments .

'Compatibility' is crucial in a multi-system environment as it ensures the seamless exchange and functionality of systems working together. Its main components include co-existence, which evaluates how well a system performs alongside others sharing the same environment without degradation, and interoperability, which assesses the ability to exchange and use exchanged information. Compatibility ensures systems can integrate within complex IT ecosystems, minimizing conflicts and enhancing collaborative functionality, leading to streamlined operations and resource efficiency .

'Functional Suitability' is critical to software quality as it assesses how well a software product provides functions that meet stated and implied needs. It includes three sub-characteristics: functional completeness, which ensures the software covers all specified tasks and objectives; functional correctness, which ensures it delivers correct results with precision; and functional appropriateness, which evaluates whether the functions can accomplish specified tasks effectively. These elements ensure that the software meets user requirements and works as intended, directly impacting user satisfaction and software utility .

'Performance Efficiency' is significant in software systems because it relates directly to how well a software performs in terms of resource usage and response time, impacting user satisfaction and operational costs. It is evaluated through time behavior, assessing response and processing times and throughput rates; resource utilization, examining the types and amounts of resources used; and capacity, determining the maximum limits a system can handle. Efficient performance ensures resources are optimized, systems scale effectively, and users experience minimal delays, critical for high-performing applications .

Within ISO 25010, 'Security' ensures software reliability and integrity by protecting information and preventing unauthorized access. It encompasses confidentiality, which restricts data access to authorized users; integrity, which prevents unauthorized modifications; non-repudiation, ensuring actions can be verified; accountability, tracing user actions; and authenticity, verifying identities. By addressing these areas, security bolsters software reliability by reducing vulnerabilities, maintaining data integrity, and ensuring that only legitimate operations occur, thereby safeguarding both user data and system functionality .

'Usability' enhances user experience by making software intuitive and pleasant to use, thereby increasing efficiency and satisfaction. Aspects considered in its evaluation include appropriateness recognizability, which determines if the software meets user needs; learnability, assessing ease of learning the software; operability, ensuring easy operation and control; user error protection, which prevents user mistakes; user interface aesthetics, evaluating interface appeal; and accessibility, accommodating diverse user needs. By addressing these areas, usability ensures that users can achieve their goals effectively and efficiently with minimal effort, leading to higher adoption and satisfaction rates .

'Maintainability' facilitates the evolution and improvement of software systems by allowing them to be modified for improvements, corrections, or adaptations to changing environments and requirements. It is evaluated through characteristics such as modularity, enabling component changes with minimal impact; reusability, promoting the use of assets across different systems; analysability, assessing the impact of changes; modifiability, which allows changes without defects; and testability, supporting effective testing. These aspects ensure that software can adapt to new requirements, fix issues efficiently, and improve over time, extending the system's lifecycle and relevance .

You might also like