Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

SQE

ASSIGNMNET # 1

TOPIC : MCCALL'S QUALITY MODEL

SUBMITTED TO:ENGR WAJEEHA BATOOL


SUBMITTED BY:SAMEER HANI
DATE:14-09-2023

TASK 1

0|Page
Report on McCall's Quality Model

Executive Summary
The success of a software product and the pleasure of users are both strongly impacted by quality, which
is a crucial component of software development. John D. McCall created the McCall's Quality Model in
the 1970s, which offers a formal framework for evaluating and gauging the quality of software products.
The McCall's Quality Model, its elements, and its applicability to current software development
processes are all covered in this study.

Introduction
In order to address the difficulties of assessing and enhancing software quality, McCall's Quality Model is
a framework for software quality that has been around since the early days of software engineering.
Eleven important software quality variables are identified by the model and are grouped into three
groups: product operation, product revision, and product transfer. Each element stands for a crucial,
measurable, and evaluable aspect of software quality.

Components of McCall's Quality Model

Product Operation Factors


1. Correctness:
This criterion assesses whether the program operates as planned and without bugs or mistakes.
Correctness is essential to the software's dependability and usefulness.

2. Reliability:
The software's capacity to operate consistently and reliably under various circumstances is
measured by reliability. It entails quantifying the incidence and severity of failures.

3. Efficiency:
The software's efficiency in using system resources like the CPU, memory, and disk space is
measured by efficiency. It strives to achieve required performance while optimizing resource
use.

4. Integrity:
Integrity is concerned with the safety and defense of data stored within the software. It resolves
concerns about unwanted access and data privacy.

Product Revision Factors

1|Page
5. Maintainability:
How simple it is to update and alter the program to satisfy evolving requirements is measured by
maintainability. It takes into account things like modular design and code readability.

6. Flexibility:
The software's adaptability to new demands and modifications without requiring a significant
amount of rework is examined. It and maintainability go hand in hand.

7. Testability:
Testability assesses how easily flaws in the program can be found and fixed through testing. It
involves elements like test coverage and code tracability.

8. Portability:
The software's portability is determined by its capacity to function without major adjustments
on many hardware and software platforms.

Product Transition Factors


9. Reusability:
The ability of software components to be reused in other projects or applications is measured
by reusability. It encourages efficiency and cost-cutting.

10. Interoperability:
The interoperability of a piece of software is measured by how well it can communicate and
operate in concert with other systems and software elements.

11. Adaptability:
How well the program can be modified to accommodate various users' requirements and
environmental factors is referred to as adaptability.

Relevance in Contemporary Software Development


McCall's Quality Model remains relevant in contemporary software development for several reasons:

1. Comprehensive Evaluation:
The model offers a thorough framework for assessing software quality, taking into account a
number of factors that have an immediate influence on user happiness and system
performance..

2. Measurable Metrics:
Organizations are able to evaluate and monitor the quality of their software objectively because
to the model's ability to transform each quality element into quantifiable measures.

2|Page
3. Alignment with Agile and DevOps:
Each quality element in the model may be converted into quantifiable measures, enabling
enterprises to evaluate and monitor the caliber of their software with objectivity.

4. Continuous Improvement:
Organizations may identify areas for improvement and set priorities for efforts to improve
software quality over time by utilizing McCall's Quality Model.

Conclusion
A useful approach for assessing and raising software quality is McCall's Quality Model. It is a valuable
tool for modern software development processes because of its systematic approach, which includes 11
important quality aspects. Organizations may guarantee that their software satisfies user expectations,
operates dependably, and continues to be adaptable to new requirements by taking into account the
model's components, eventually resulting in the success of their software products.

TASK 2
Certainly, let's apply McCall's Quality Model to identify and list characteristics of the Uber mobile
application.

Product Operation Factors


1. Correctness:
- The Uber app needs to correctly show the drivers who are available and their expected arrival time.
- It must accurately determine travel costs based on variables like demand, distance, and time.
- Both drivers and passengers should be able to use the app to get precise GPS-based directions.
2. Reliability:
- In order to guarantee continuous service availability, Uber should have a stable and dependable server
infrastructure.
- Passenger and driver reviews need to be trustworthy measures of the level of a service.
- The app must securely process payments and provide receipts.
3. Efficiency:
- The app should effectively connect passengers with drivers who are available, cutting down on wait
times.
- It should effectively utilize GPS data to optimize routes and cut down on travel time.
- Requests for rides should be processed and confirmed by Uber quickly.
4. Integrity:
- User data should be securely encrypted and guarded, including personal data and payment
information.
- The software needs safeguards against dishonest behavior like using phony drivers or passengers.
Product Revision Factors

3|Page
5. Maintainability:
- The software architecture of Uber should be upgradable to support ongoing changes and new
additions.
- The app should be flexible enough to accommodate new market demands and regulatory changes.
- For ease of design updates, the user interface should be freely upgradeable.
6. Flexibility:
- Uber should have the freedom to launch new services or alter current ones, like Uber Eats or Uber
Pool.
- To serve various markets, the app should have variable payment options and promotions.
7. Testability:
- Uber's codebase has to be organized and modular to make automated testing easier.
- Regression testing should make sure that new upgrades don't break any already-functioning features.
8. Portability:
The Uber app should function without a hitch on all mobile operating systems, including iOS and
Android. It ought to function well on a variety of mobile devices with various screen sizes and
resolutions.
Product Transition Factors
9. Reusability:
- The dispatch and routing algorithms utilized by Uber, as well as the parts used to handle payments, may
be used to other on-demand service applications.

10. Interoperability:
- Third-party services like Google Maps for navigation and payment gateways for transactions should
work with the Uber app.
- Passengers should be able to integrate messaging applications or share their trip information with
contacts.
11. Adaptability:
- Uber should have the flexibility to adjust to shifting market conditions and legal constraints, such as
modifications to transportation regulations.
- The app need to handle foreign currencies and be offered in a variety of languages.
Uber must take into account a wide range of quality variables in order to offer a dependable, effective,
and secure ride-sharing service, as shown by an evaluation of Uber using McCall's Quality Model. This
study aids the development team at Uber in setting priorities for ongoing application enhancements that
address the changing demands of both drivers and riders.

4|Page

You might also like