0% found this document useful (0 votes)
49 views5 pages

Comparing Software Quality Models

The document discusses various software quality models, including McCall's Model, Boehm Model, FURPS Model, and ISO 9126-1 Quality Model, which provide standardized ways to measure software quality. Each model outlines different quality attributes such as maintainability, usability, reliability, and performance, emphasizing the importance of meeting user expectations and adapting to changing environments. These models serve as frameworks for evaluating and improving software products in the rapidly evolving software industry.

Uploaded by

Edwin Ngige
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)
49 views5 pages

Comparing Software Quality Models

The document discusses various software quality models, including McCall's Model, Boehm Model, FURPS Model, and ISO 9126-1 Quality Model, which provide standardized ways to measure software quality. Each model outlines different quality attributes such as maintainability, usability, reliability, and performance, emphasizing the importance of meeting user expectations and adapting to changing environments. These models serve as frameworks for evaluating and improving software products in the rapidly evolving software industry.

Uploaded by

Edwin Ngige
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

Lecture 3: Software Quality Attributes: Comparison of Various

Software Quality Models


([Link] )
Software Quality Models are a standardized way of measuring a software product. With the increasing
trend in software industry, new applications are planned and developed every day. This eventually
gives rise to the need for reassuring that the product so built meets at least the expected standards.

Following are some models that explains what kind of quality criteria may be followed.

a) Mc Call's Model - Mccall Model is the first quality model developed, which defines a layout
of the various aspects that define the product's quality. It defines the product quality in the
following manner – Product Revision, Product Operation, Product Transition.

i) Product Revision
It encompasses the revision perspective identifiers quality factors that changes or enhances the
ability to change the software product in the future according to the needs and requirements of
the user.

 Maintainability- If there are defects in the software that are found in the later stage,
this feature allows finding and fixing the defects.
 Flexibility- The ability to make changes in the software product according to the
business demands.
 Testability- This enables the software product to validate the requirements.

ii) Product Transition:


Transition perspective enables the software to adapt itself in new environments. The
identification of the quality factor which enables the ability of adaption of the software in the
new environment is known as product transition. For example example, our creator created the
software named human. The creator incorporated ability to this software that enhances it to
adapt in the new environment.

 Portability- This is the ability to transfer a software from one environment to


another environment.
 Re-usability- The software components can be used in different contexts.
 Interoperability- The ease or the comfort zone in which all the components of
the software works together.

iii) Product Operations:

The software can run successfully in the market if it according to the specifications of the user
and also it should run smoothly without any defects. The product operation perspective
influences the extent to which the software fulfills its specifications-
 Correctness- The functionality should match the specification.
 Reliability- The extent to which the system fails.
 Efficiency- It enhances the usage of system resource.
 Usability- The software should be easy to use. Difficult software is tedious to
work upon and difficulty irks the user.

b) Boehm Model - This model describes how easily and reliably a software product can be used.
This model actually elaborates the aspects of McCall model in detail. It begins with the
characteristics that resorts to higher level requirements. The model's general utility is divided
into various factors - portability, efficiency and human engineering, which are the refinement of
factors like portability and utility. Further maintainability is refined into testability,
understandability and modifiability.

The Boehm software quality model attempts to quantify software quality through a series of
attribute indicators. Boehm's quality model includes hardware attributes that are not in the
McCall model. The Boehm model is also similar to McCall's quality model, using a hierarchical
quality model structure, including high-level attributes, middle-level attributes and original
attributes.
High-level attributes mainly focus on 3 issues:
 As-Is Utility: It defines the way a utility signifies the as-is utility. It creates a question of
how easily, reliably and efficiently an as-is can be utilized.
 Maintainability: This aspect decides how convenient it is to understand, change or re-
evaluate a process.
 Portability: This aspect helps in deciding an effective way to change an environment.

The middle attribute contains 7 quality elements:


 Portability (General utility characteristics)
 Reliability (As-is utility characteristics)
 Efficiency (As-is utility characteristics)
 Usability (As-is utility characteristics, Human Engineering)
 Testability (Maintainability characteristics)
 Understandability (Maintainability characteristics)
 Flexibility (Maintainability characteristics, Modifiability)

It can be seen that the Boehm model is somewhat similar to the McCall model. The difference is that
the McCall model mainly focuses on the accurate measurement of high-level attributes ("As-is utility"),
while the Boehm model is based on a wider range of attributes, and maintains the maintainability.
More attention.
The factors can result into creation of other measurable properties. These are as follows:

Device Independence. Device efficiency.


Accuracy. Accessibility.
Completeness. Communicativeness.
Robustness. Self-descriptiveness.
Consistency. Legibility.
Accountability Augment-ability.
The attributes can be mapped as follows

c) FURPS Model -This model categorises requirements into functional and non-functional
requirements. The term FURPS is an acronym for Functional requirement(F) which relies on
expected input and output, and in non-functional requirements (U) stands for Usability which
includes human factors, aesthetic, documentation of user material of training, (R) stands for
reliability(frequency and severity of failure, time among failure), (P) stands for Performance that
includes functional requirements, and finally (S) stands for supportability that includes backup,
requirement of design and implementation etc.

 Functionality - Capability (Size & Generality of Feature Set), Reusability (Compatibility,


Interoperability, Portability), Security (Safety & Exploitability)
 Usability (UX) - Human Factors, Aesthetics, Consistency, Documentation,
Responsiveness
 Reliability - Availability (Failure Frequency (Robustness/Durability/Resilience), Failure
Extent & Time-Length (Recoverability/Survivability)), Predictability (Stability), Accuracy
(Frequency/Severity of Error)
 Performance - Speed, Efficiency, Resource Consumption (power, ram, cache, etc.),
Throughput, Capacity, Scalability
 Supportability (Serviceability, Maintainability, Sustainability, Repair Speed) - Testability,
Flexibility (Modifiability, Configurability, Adaptability, Extensibility, Modularity),
Installability, Localizability

The model, developed at Hewlett-Packard was first publicly elaborated by Grady and
Caswell. FURPS+ is now widely used in the software industry. The + was later added to the model
after various campaigns at HP to extend the acronym to emphasize various attributes

d) ISO 9126-1 Quality Model -This model has two primary categories – internal and external
quality attributes and quality in use attributes. The internal quality attributes are the properties
of the system the evaluation of which can be done without executing it. Whereas the external
quality attributes are those that are evaluated by observing the system during execution.
Like every software, ISO 926 software model has distinct qualities. These are laid on following basis:
i) Functionality: It is a key aspect of any product or service. It is due to this the software is
able to fulfill a task and keep to its purpose. It is defined as a software product that helps
to meet the needs of the clients. A functionality of software is dependent on its complexity.
For example: an ATM machine. This is further divided in other categories are as follows:
 Suitability.
 Accuracy.
 Interoperability.
 Security.
 Functional compliance.
 Reliability
ii) Reliability: This characteristic determines the capability of software to sustain its use
when put under different circumstances.
iii) Usability: The usability of software is highly dependent on the functional uses of
software. For example: ATM machine is used to withdraw cash. According to the usability
of an ATM; the ATM is not affected or influenced by any amounts entered by the user.
This is further divided into other sub-categories and these are as follows:
 Maturity.
 Fault Tolerance.
 Recoverability.
 Reliability Compliance.
iv) Efficiency: This feature of the model is more concerned by resources of the system when
used for providing a desired functionality. This type of feature is defined by amount of
disk space, memory and network. This is further divided into other sub-categories and
these are as follows:
 Understandability.
 Learner ability.
 Operability.
 Attractiveness.
 Usability Compliance.
v) Maintainability: This property of maintainability of the software model is used to
recognize and fix a defect accordingly. The model is inspected for the faults and these can
be identified easily. In accordance to this the cause and effect of maintainability of software
is a concern. This is further divided into other sub-categories and these are as follows:
 Analyzability.
 Resource Utilization.
 Stability.
 Testability.
 Changeability.
vi) Portability: According to this feature, capable software should easily adapt to the
environmental changes frequently as possible. The designing of an object and the practices
of its implementation are highly dependent on this feature. This standard method is further
divided in few categories:
 Adaptability.
 Install ability.
 Co-existence.
 Replaceability.
 Portability compliance.

Common questions

Powered by AI

The FURPS model extends previous models by providing a structured categorization of requirements into functional and non-functional components, introducing elements like usability, performance, and supportability. Unlike McCall’s and Boehm’s models, FURPS explicitly differentiates between functional requirements (e.g., input and output expectations) and non-functional requirements (e.g., usability and performance), thus offering a more granular approach. Moreover, it integrates additional focus areas such as supportability, emphasizing maintenance and serviceability, which builds upon, but more specifically categorizes, the broader maintainability concepts found in Boehm’s and McCall’s models .

Portability in McCall's Model is viewed through the product transition lens, focusing on adapting software to different environments. Boehm’s Model also recognizes portability but expands it to consider how effectively a product can change environments and its generalized utility. FURPS treats portability under reusability aspects, linking it to compatibility and interoperability. Usability is seen in McCall’s Model as ensuring the software runs smoothly per user specifications, while Boehm relates usability with human engineering, placing more emphasis on the ease of use and user interaction aspects. FURPS, in contrast, provides a specific non-functional usability category which includes human factors and aesthetics, offering a broader perspective than the other models. Each model thus offers a varied depth and scope of complexity concerning these attributes .

In McCall’s Model, maintainability is focused broadly on identifying and fixing defects and accommodating future changes, emphasizing flexibility and testability. Boehm’s Model takes this further by breaking maintainability into more distinct elements, such as testability, understandability, and modifiability, offering a more nuanced perspective on how easily software can be maintained. This extended detailing in Boehm's Model allows a more targeted and granular approach, identifying specific areas of improvement in a software’s maintainability, while McCall provides a more general view that might not capture such intricacies .

The functional and non-functional requirements categorization in FURPS effectively differentiates between what the software should do (functional) and how it should perform (non-functional), creating a clear structure for addressing all aspects of software expectations. This enables distinct attention to the technical and user experience aspects, advocating clearer planning and design paths. Functional requirements focus the development on meeting precise user and system needs, while non-functional considerations like usability, reliability, and performance assure user satisfaction and system durability. However, this categorization might oversimplify certain aspects by not recognizing the interdependencies between categories, possibly leading to oversight if not considered holistically in design .

Using a hierarchical structure in models like McCall’s and Boehm’s provides a clear framework to break down high-level software quality concerns into more manageable attributes, fostering a deeper analysis and understanding. This structure allows for a detailed exposition of how higher-level factors such as reliability and efficiency are supported by specific attributes, improving the traceability of quality issues. However, it can also lead to complexity, as the interdependencies among levels can complicate implementation and evaluation, potentially requiring significant expertise to navigate effectively. Despite these challenges, such a structure facilitates a comprehensive assessment, providing a complete perspective on how each facet contributes to the overall quality .

While both McCall's and Boehm's Models aim to evaluate software quality, they differ in their structural approach and emphasis on certain attributes. McCall’s Model primarily focuses on product revision, product operation, and product transition, emphasizing maintainability, correctness, and portability as key indicators of quality. In contrast, Boehm’s Model expands on these by offering a more detailed breakdown into attributes such as reliability, human engineering, and efficiency. Both models share similarities in using hierarchical structures to illustrate quality attributes and emphasize the importance of maintaining software quality through various factors like maintainability and portability .

ISO 9126-1 may be criticized for its complexity, as it categorizes quality attributes into internal, external, and quality-in-use categories, which might not be as straightforward compared to the simplicity of FURPS's division between functional and non-functional requirements. Moreover, ISO 9126-1 relies heavily on quantitative assessment, which can be resource-intensive and complicated in implementation, potentially limiting its practicality for smaller projects. Unlike FURPS’s clearer emphasis on differentiating between usability and performance as distinct categories, ISO 9126-1 has overlapping categories that might cause confusion in implementation .

In ISO 9126-1, 'functional compliance' is treated as a subset of functionality, focusing on how well a software meets predefined specifications and standards without execution. In the FURPS model, functionality is part of the functional requirements, but it also relates to the effectiveness of inputs and outputs, security, and general feature set capability. While both models regard compliance broadly, ISO 9126-1 emphasizes it as a criterion met during execution, whereas FURPS incorporates it into a broader context of functional capability tied heavily with user requirements and performance expectations .

FURPS structures performance as a discrete category focused on speed, efficiency, resource consumption, throughput, and scalability, offering a direct perspective on resource-focused metrics. It includes not just efficiency but also relies heavily on capacity and scalability as critical indicators of performance. On the other hand, ISO 9126-1 considers performance efficiency as the primary indicator, focusing more specifically on resource utilization under certain operations, such as disk space and memory, which provide a narrower scope. This structured difference indicates FURPS's broader inclusion of resource and performance dynamics versus ISO's targeted efficiency assessment .

ISO 9126-1 addresses reliability through categories such as maturity, fault tolerance, and recoverability, which focus on the software's capability to perform under various conditions without failure. This model emphasizes robustness and the software’s ability to recover from failures, with explicit reliability compliance. In contrast, FURPS considers reliability regarding the frequency and severity of failures, time between failures, and stability, emphasizing predictability and error frequency. The emphasis in FURPS is on understanding and improving the system's durability and resilience, providing a broader view than ISO’s compliance-centric approach .

You might also like