Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

KALAIVANI A/P VADIVALU (P112628)

PENGURUSAN PERISIAN (TTTE 6504)

FINAL ASSESSMENT

1
Software Product Quality Model
1. A) Introduction
Software product quality model is used to determine which quality features will be
considered when assessing the properties of a software product. The quality of the system is
determined when it fulfils the needs and requirement of the stakeholder and provides value to
the organization as in a whole. Therefore, in order to attain the optimised benefit of the
software product, undergoing product quality checks are essential to ensure the product is
certified for usage. There are many models in the market that can be adapted accordingly to
the needs since the 70s. However, the models have evolved tremendously since then to cater
the need and demands of the technology growth. The model is important as it a driven factor
for predictability of a software that is implemented. Through applying these models to the
segment of the software we want to evaluate; we are able to identity the errors in the early
stages and rectify it. Consequently, this reduces rework, increase productivity and enhance
overall performance. However, it is known that there is no one model that fits the overall
software product instead the chosen model depends on which characterise or properties of the
software we want to evaluate. Therefore, in line to the booming software applications in the
market at the moment, adapting the software product quality model gives rise in assuring that
the product built meets the standard quality by preserving the standards, quality and
performance of the product.

B) Background
The background of both this study is to point out the importance of performing quality
assessment on a software to produce a product that is high in its quality standards. A number
of software product quality models were picked, extracted, analysed, compared and recorded
to show its current use and trend in the market. To maintain the quality of the research,
several criteria was taken into consideration such as keywords used for searching, eliminating
the journals which is not relevant and use of systematic literature review to select and map
only the relevant research paper/journal for a qualitative study. Software Product Quality
Model is a guideline that can be used to measure a software product against a set of standards
that’s has defined in the quality model. Some sample characteristics of software product
quality model that used to assess and evaluate a software are functional suitability, reliability,
performance efficiency, usability, security, compatibility, maintainability, and portability
(Galli et al. 2020; Yan et al. 2019).
When a product is considered high in quality, it means the software can sustain and
give a good performance result when it is being used. At the same time, product quality too is
determined by how far the product can influence and fulfil the needs of customers, serves its
intended purpose and how far it meets the standards set by the industry. The study also
indicates that the quality model has been in the market since the 70s and experts have been
using it since then to assess their product. There are many software product quality model
that we can adapt to assess and evaluate the software but according to the analysis on both
this studies, the top 3 models are ISO/ IEC 9126, ISO/IEC 25010, SQALE and Quamoco.
The selected research work too suggests that continuous engineering is done on the models
for better adaptability and usage. According to these research works, issues such as
inconsistence in the data finding and lack of standard data were some of the threats that was
encountered. Nevertheless. It was overcome by taking some standard measures to maintain
the value and worth of the research. As a conclusion, both authors stresses on delivering a

2
good and high-quality product. This is because, product that has many defects and issues are
much difficult to manage.

C) Comparison and Discussion


Similarity:
i) Both studies agree that due to lack of standard data where there is no one
model that fits the overall software product quality, software product quality
model evaluation is difficult.
ii) Each study aims to suggest the best and systematic model based on their study
which focuses on elements of the model and their architecting.
iii) Both models classify McCall’s quality model and Boehm’s model as one of
the earliest Model
iv) Both concludes that ISO 9126 is a better Model
v) Both research work aimed to produce a quality result by choosing the previous
research work from two standpoints: (1) clarity of presentation and (2)
actuality of the publication.

Differences:
Criteria Software Product Quality Software Quality Models: A
Models, Developments, systematic Mapping Study
Trends, and Evaluation
Research Systematic literature review systematic mapping study following
method the guidelines provided by
Kitchenham
Baseline Scale model Bayer’s model
Architecture
Model
Quality No mentions on quality Mentions the importance of quality
Planning planning Planning in the architecture
perspective of the software product
quality model
Research 1 Research Question: 4 research questions:
Question The research question The research question evolves
revolves around a single around publication trend, research
model that is able to assess types and approaches, meta model
the properties of software elements and architecting quality.
product quality.
Database ACM Digital Library, IEEE, IEEE explore, ACM digital library.
EBSCO Academic Search Springer, and Elsevier
Premier, SCOPUS, Science
Direct, Web of Science.
Previous Uses Score Value to Systematic Mapping
research determine how clearly the
value paper have been defined
evaluation

Table 1: Differences of both the research work

3
Quality Model Software Product Quality Software Quality
Models, Developments, Trends, Models: A systematic
and Evaluation Mapping Study
McCall’s quality √ √
model
Boehm’s model √ √
ISO 9126 standard √ √
Dromey √ √
Ortega √
DEQUALITE √
model
Finne’s model √
Quamoco √ √
SQALE √

Table 2: Summary of Quality Models depicted by both the research work

Discussion:
The research question in study 1 revolves around whether there is a single model
which can be used to evaluate and assess all the properties in a software product. As such,
critical approaches were considered to deliver the best result. Keywords search was analysed
and identified to produce unified search result in the given fields. Scoring process was
conducted to identify all the relevant documents and eliminate the irrelevant documents. The
threat and limitation of the first journal was, large amount of model exist, however the
challenge is to select the most relevant despite the sophisticated definition. The study had two
main agendas; 1) to search for a single quality model that can be used to against a software
product and 2) a mechanism to manage the significance of the model. Systematic literature
review was conducted to achieve this result. To maintain the standard and quality of the
research, novel approach was implemented in the systematic literature review where scoring
is given to indicate the relevance.
In contrast, the second journal used a systematic mapping method to extract data
pertaining quality data models from meta standpoint. According to author, this helps in
delivering summary of the model’s contribution in the research area and the respective
quality models’ involvement in architecting the quality of data. The extracted papers were
then classified to four smaller research type group; quality models, contribution of the quality
model in solutions, empirical studies on quality models and opinionated paper on the various
types of quality model. To ensure the precision and the consistency of the data, Zotero tool
was used to aid the mapping and extraction process of the relevant papers. These steps and
methods helped in identifying 238 total of primary papers for study and research.
Both studies were conducted specifically based on software product quality
framework. Other related processes such as process model and cost models were not included
in this study as it serves different functionalities. The various type of model was collected via
mapping and literature reviewed, categorised, analysed to produce results on its effectiveness,
usability, and adaptability. However, both studies clearly used diverse method and style to
measure model compatibility and its penetration into the industry and its impact. Although
different approaches and ideas were shared regarding the main criteria and characteristics of
the Software Product Quality in both the studies, the main ideology was to compare and

4
identify the adaptability and the robustness of the model in the current age and pace of time.
Most of the Models that were discussed in both the studies illustrated that they have adapted
the ISO 9126 basic criteria in the means of either tailoring or developing a new model. In
addition, the quality of the research also depended on the filtration criteria, searching
mechanism, research database and also evaluation criteria. Although the market and industry
now are flooded with a huge amount of quality Model, only few is reliable when it comes to
properties of the software product quality. Studies also suggested that a mechanism be
developed to measure these models according to their relevance and suitability.

The characteristics of the Software Product Quality Model below assist engineers in
determining which model to adapt to assess a particular software is summarised as below.
No Model Characteristics
1 McCall’s quality conceives product quality under three perspectives: Product
model operation, Product revision, and Product transition
2 Boehm’s model The quality characteristics are based on three primary
dimensions for general utility of any software package: As
is utility, maintainability, and portability.
ISO 9126 standard three types of quality: internal quality, external quality and
quality in us
Dromey quality attribute, product component, and quality carrying
product property.
Kitchenham structure model that defines the model elements and their
relationships, and a content model that identifies a set of
entities linked in accordance with that structure.
SQUID model product behaviour, statement of quality requirements,
quality characteristic, quality sub characteristic, internal
software property, and measure
Ortega quality characteristic, sub-quality characteristic, and quality
metrics for product and process.
DEQUALITE model e quality attribute, quality metric, design pattern/ design
rule, and product or system.
Finne’s model quality attribute, use case, information system, contributor
and metric
Quamoco quality aspect, product factor, entity, and evaluation
(measure).
Table 3: Sources from table above depicted from (Galli et al. 2020) and (Nistala et
al. 2019)

D) Conclusion
From the research contributed in both the studies it is well known that the experts,
users and researches has shown great value of interest in ISO/ IEC 9126, ISO/IEC 25010,
SQALE and Quamoco quality model specifically. The trend was verified using criteria such
as number of times it was searched, number of publications/journals that it was depicted in
and its relevance score. The acceptance of ISO/IEC models lies in its decomposition
flexibility to adapt the change in the project specification. Where else, the SQALE model has
been highly in demand because of its fast and modest integration mechanism and the

5
automation ability it furnishes. Quamoco on the other hand is a common evolved quality
meta-model that co-relates the quality features and quality measurement for a better
adaptability. The valuable insights gained from the comprehensive study conducted on the
quality models and its meta-model’s analysis helps researchers and experts to take one step
forward and think ahead of the current definition. By doing so, it can bring significant change
and enhancements and shift the perspective of software product quality model paradigm. The
ultimate aim of study is to assemble and give a proper categorization, rank them according to
its relevance to research interest and organizational acceptance. The result is this can be used
as a working benchmark for other organizations or industry to consider adapting in their
organizational culture to give the best benefit. This is because the data depicted and
represented are from real time scenarios which are then mapped and presented to convey the
real idea. It is also noticed that the evaluation of the quality model is a challenging task as
there is a scarcity of available data to perform the task.
The importance of software product quality model has been extensive elaborated in
the studies through explanation as well as graphical representation for the benefit of
sustainability of a software product in the market in the long run. Therefore, it has made a
strong ground stand that it is vital for every software product go through as series of quality
checking by adapting certain model to ensure security and confidence to the user as well as
the client. It is also like giving a green light or the go signal to tell that the product is now
ready to be used. Nevertheless, the model that is being choose makes a great impact too,
hence requires experts’ intervention to make the needful assessment. Organization too must
make this a mandatory practise so that potential risks or issues detected are at earlier stage
instead of final where the impact and lost can be at great stake. Continuous improvement
towards the model too is vital in this speed light technological world thus it is encouraged
that practitioners continue to conduct research in helping the community to stay intact with
latest model.

E) References

1) Nistala, P., Nori, K.V. & Reddy, R. 2019. Software quality models: A systematic mapping
study. Proceedings - 2019 IEEE/ACM International Conference on Software and System
Processes, ICSSP 2019 125–134.

2) Galli, T., Chiclana, F. & Siewe, F. 2020. Software Product Quality Models, Developments,
Trends, and Evaluation. SN Computer Science 1(3) https://doi.org/10.1007/s42979-020-
00140-z.

6
2. A)

Diagram 1: WBS for E-Quary Simulation Learning System

2. B)
Estimation cost for this project can be proposed by using the Cocomo model. Cocomo stands
for Constructive Cost Model. Cocomo was first developed by Barry W. Boehm in 1981. For
this E-Learning based software, Cocomo Model using Function Points has been selected.
Function Point was developed by Allan Albrecht of IBM in 1977 to measure the standard
worth of software, as a unit of software worth. Function Point measures functionality from
user’s point of view like what the user receives from the software and what the user requests
from the software. It focuses on what functionality is being delivered. As for tools and
techniques, project management software was selected as using a computerized tool is easier
and systematic. Furthermore, it also supports the top-down estimates which will be adapted in

7
the cost estimation of the project. Below is the cost estimation project for this E-Quarry
Simulation Learning System:

Diagram 2: Cost Estimation


2. C) Define the following:
a. the project objectives.
The change that will happen as an outcome of the project team’s effort is defined as Project
Objective. It also states at high level the actions that the project team will take in order to
address the Business Objective. Project Objective is a statement that defines the tangible and
measurable “What”.
The Project progress and milestones is defined by the project objective. A clear objective of
the projects paints a clear path for project successes. A project objective should be straight to
the point without ambiguity to craft a clear vision and understanding for everyone involved in
the project. With this being said, project objective is the result or outcome that we strive for
to achieve at the end of the venture at a more specific level. A good project objective must be
measurable, have a definitive timeline and most importantly logic, realistic and attainable. It
must also meet the time, budget and requirement. The purpose of project objective is laying
out what the team is designated to deliver. It provides clarity needed around expectation, it
helps to build the project plan, helps to understand what to deliver for the stake holder,
guidance to the project team and helps to check if the project in check to avoid scop creep. As
a project can get complicated and more complex along the way, project objective can helps
set a boundary so that everyone is on the same page. Project objective gives purpose and

8
justification to the project. A good defined project objective too can be used as a benchmark
to measure the success of the project and provide direction. This too helps the project team to
be engaged and motivated. As in (https://www.wrike.com/project-management-
guide/faq/what-is-smart-in-project-management/) we can also use the SMART project
objective method where each alphabet represents a key point; S for Specific, M for
measurable, A for Attainable, R for Relevant and T for Time. These key words can be use a
guide to write the project objective to ensure that all important points are covered.

b. the quality expectations and plan.


Quality expectation defines the quality that is expected of a product. It is a statement or
declaration that is laid out to ensure that the quality expected is met and delivered. The
expectation of the quality from the customers are captured at the initial phase of the project,
the planning phase. During this phase the requirements and criteria of the quality is collected
and documented. It used as a benchmark throughout the project lifecycle to ensure the quality
of the product meets its quality standard to minimize the possible risks. Quality is usually
given the utmost priority in the software development phases because it helps to detect any
error or defect through the development proses. By Doing so, fixes can be given at early
stages which in return can avoid loss of time and cost. A product of high quality and standard
too is an asset to the company in optimising productivity and efficiency, promote growth and
contributes to the revenue.
In an effective software development phase, various aspects of quality need to be given
attention to achieve the business objectives. In line to this, many organizations have adapted
the ISO standards as a benchmark to measure the quality expectation that has been set.
Furthermore, since every development of the software project is unique and need to be
accomplished within the stipulated time frame to meet the objective, every angle of the
quality expectation must be carefully evaluated to harvest a software that is high in quality
and standards.
One of the modules under project management plan is the project quality plan. It is a
framework that summarizes the tools, tasks, and processes that is required by the project team
to carry out the project to attain the quality expectations of a project. The project quality plan
can be written in 5 steps below to achieve the goal of the project.
i) Identify the quality standards of the project.
Project team must be able to grasp the quality standards that has been imposed by
the stakeholders and work towards achieving them using the appropriate tools and
method.
ii) Each project team’s roles and responsibility clearly defined and articulated.
The clarity on who does what is extremely important to avoid job redundancy or
even worse when a particular quality task doesn’t have an assignee. A back up is
plan is also managed here to ensure tasks is still executed when a team member is
not available.
iii) Acceptance criteria are properly defined for every project deliverable.
This is crucial as it measure whether the quality standard which was captured in
the requirement defined has been met before proceeding with the next step. This is
also a very important step in quality control and monitoring.

iv) Project Quality Plan must be documented

9
The quality plan is a very specific. It contains all information pertaining the action
which has been taken to address the quality standard. It consist of some of the
major key points such as deliverables, quality standards, tools, roles and
responsibilities, quality assurance plan and quality control plan.
v) Getting the plan approved
Upon drafting the plan, the final step is to get the plan approved by the project
team, client and the senior management. This is to ensure everyone agrees on
what is required and expected and work towards achieving it as a team. It is also
important to take note that once the approval is obtained, the plan has to be readily
available as it will be referred to time to throughout the project.

d. Identify and list the quality metrics that need to be tracked. Explain how the metrics
can be measured (at least two quality metrics).
Software metrics comprises of software quality metrics. In another word, software quality
metrics is a subset of Software metrics. Software quality metrics emphasizes on the quality
characteristics of product, process, and project.
Quality metrics is a process where quality is measured against a quality standard to ensure the
quality is meeting its expectation. Tracking of the quality metrics is important so that we can
identity the loopholes in the process or product at an early stage and correct the defects as
soon as possible.
Quality Metrics that needs to be tracked are Code Quality, Reliability, Performance,
Usability, Correctness, Maintainability, Integrity and Security. These metrics can be
measured using:
i) FAN IN/FAN OUT:
FAN IN: Measure of the number of functions that call another function (Example: X)
FAN OUT: How many functions are called by function X.
If FAN IN shows a high number, that means the other parts are dependent highly on X.
Slightest change to X will have effect on the rest of the part. If FAN OUT shows a high
value, this means the overall density of X could be high due to the control logic required to
synchronize with the called components.
Example is as below (“x @ github.com” n.d.)

Fan In = Number of Ingoing dependencies


Fan Out = Number of Outgoing Dependencies

10
Sample calculation from (“calculate-the-information-flow-index-of-individual-modules-
30193190 @ www.expertsmind.com” n.d.)

Total information flow = IF (main) + IF (A) + IF (B) + IF (C) + IF (I) + IF (m)


+ IF (n) + IF (x) + IF (y)
= 16 + 16 + 16 + 4 + 0 + 1 + 0 + 1 + 0
= 54

ii) LENGTH OF CODE – Length of code is used to measure the magnitude of the program
or software. Usually, the more complex the component of the code, the program or software
is more prone to error. In short, length of code is used to detect and identify the error
proneness in a program. To measure this, cyclomatic complexity can be used. Since
cyclomatic complexity is measured on method level, it makes much easier for developers to
detect complex codes and it’s risk. Example of cyclomatic complexity and its risk evaluation
is as below:
>50 → Very Risky
21 – 50 → Risky
11 To 20 → Moderate

11
1 To 10 → Simple
Example below depicted from (“1d1003f42eb8eb8c79000fd6e6469cf1d3b6253a @ www.c-
sharpcorner.com” n.d.)

1. private static void GetFormattedEmployeeDetails(Employee employee)


2. {
3. if (employee != null)
4. {
5. if (string.IsNullOrWhiteSpace(employee.FirstName) && string.IsNullOrWhiteSpace(
employee.LastName))
6. {
7. //Build full name
8. }
9. if (string.IsNullOrWhiteSpace(employee.Address1) && string.IsNullOrWhi
teSpace(employee.Address2) &&
10. string.IsNullOrWhiteSpace(employee.Address3) && string.IsNullOrWhite
Space(employee.City) &&
11. string.IsNullOrWhiteSpace(employee.Country) && string.IsNullOrWhiteS
pace(employee.Zipcode))
12. {
13. //Build complete address
14. }
15. if (string.IsNullOrWhiteSpace(employee.Email))
16. {
17. //Check Valid Email..Regex check
18. }
19. if (string.IsNullOrWhiteSpace(employee.Phone))
20. {
21. //Do Something
22. }
23. }
24. }

From this out, we can conclude that Cyclomatic 12 means it is a “moderate risk” where else,
35 indicates that is code is “risky”

Reference:

1) e6206cda67c971af3e7eebae949d5e84e2307148 @ www.fool.com. (t.th.).


https://www.fool.com/the-blueprint/project-quality-plan/.
2) Yan, M., Xia, X., Zhang, X., Xu, L., Yang, D. & Li, S. 2019. Software quality
assessment model: a systematic mapping study. Science China Information Sciences
62(9): 1–18.

12
3) Galli, T., Chiclana, F. & Siewe, F. 2020. Software Product Quality Models,
Developments, Trends, and Evaluation. SN Computer Science 1(3)
https://doi.org/10.1007/s42979-020-00140-z.
4) Wolski, M., Walter, B., Kupiński, S. & Chojnacki, J. 2018. Software quality model
for a research-driven organization—An experience report. Journal of Software:
Evolution and Process 30(5): 1–14.
5) Ardil, C. 2020. Software Product Quality Evaluation Model with Multiple Criteria
Decision Making Analysis 14(12): 486–502.
6) Carroll, N. & Richardson, I. 2015. Software Quality Plan : A Review Report
Translational Research and Patient Safety in Europe Software Quality Plan : A
Review Report Work Task leader : Ita Richardson . Authors : Noel Carroll and Ita
Richardson Reviewers : Vasa Curcin and Nikolaos Mastello (January 2016)
7) Neri, H.R. & Travassos, G.H. 2018. Measuresoftgram 1–4.
8) Saini, G.L., Panwar, D., Kumar, S. & Singh, V. 2020. A systematic literature review
and comparative study of different software quality models. Journal of Discrete
Mathematical Sciences and Cryptography 23(2): 585–593.
9) No, G. 2009. Ms iso 9001 reg. no. ar 2845 (November 2008): 1–2.
10) Abraham, S.M. & Gupta, N.V. 2016. Importance of Quality Metrics: A Review.
International Journal of Pharmaceutical Quality Assurance 7(1): 15–16.
11) Nistala, P., Nori, K.V. & Reddy, R. 2019. Software quality models: A systematic
mapping study. Proceedings - 2019 IEEE/ACM International Conference on Software
and System Processes, ICSSP 2019 125–134.
12) 687474703a2f2f696d616765732e736c696465706c617965722e636f6d2f31362f34393
5353936362f736c696465732f736c6964655f37302e6a7067 @
camo.githubusercontent.com. (t.th.).
https://camo.githubusercontent.com/91651d2943313252cc49763f03c7bc7af0c4ae8d7
90045a4c55c8ffdca857915/687474703a2f2f696d616765732e736c696465706c617965
722e636f6d2f31362f343935353936362f736c696465732f736c6964655f37302e6a706
7.
13) x @ github.com. (t.th.). https://github.com/nitinjaiswal/sca-and-dca/blob/master/x.md.
14) calculate-the-information-flow-index-of-individual-modules-30193190 @
www.expertsmind.com. (t.th.). http://www.expertsmind.com/questions/calculate-the-
information-flow-index-of-individual-modules-30193190.aspx.
15) 1d1003f42eb8eb8c79000fd6e6469cf1d3b6253a @ www.c-sharpcorner.com. (t.th.).
https://www.c-sharpcorner.com/article/measure-your-code-using-code-metrics/.

13

You might also like