Professional Documents
Culture Documents
Submitted To:Engr Wajeeha Batool Submitted By:Sameer Hani DATE:14-09-2023
Submitted To:Engr Wajeeha Batool Submitted By:Sameer Hani DATE:14-09-2023
ASSIGNMNET # 1
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.
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.
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.
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.
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.
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