0% found this document useful (0 votes)
3 views16 pages

TD CQML FF

The document is a course material for a software quality control and metrics class at the University of Ngaoundere, authored by Aboubakar Oumarou. It covers various aspects of software quality, including definitions, characteristics, measurement scales, and evaluation processes, as well as the differences between quality assurance and quality control. Additionally, it provides exercises related to estimating code size and calculating function points.

Uploaded by

geniusabou.2018
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)
3 views16 pages

TD CQML FF

The document is a course material for a software quality control and metrics class at the University of Ngaoundere, authored by Aboubakar Oumarou. It covers various aspects of software quality, including definitions, characteristics, measurement scales, and evaluation processes, as well as the differences between quality assurance and quality control. Additionally, it provides exercises related to estimating code size and calculating function points.

Uploaded by

geniusabou.2018
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
You are on page 1/ 16

REPUBLIC OF CAMEROON

REPUBLIQUE DU CAMEROUN
PEACE-WORK-FATHERLAND
PAIX-TRAVAIL-PATRIE
**************
**************
MINISTRY OF HIGER EDUCATION
MINISTERE DE L’ENSEIGNEMENT SUPERIEURE
UNIVERSITY OF NGAOUNDERE
UNIVERSITE DE NGAOUNDERE
UNIVERSITY INSTITUTE OF TECHNOLOGY
INSTITUT UNIVERSITAIRE DE TECHNOLOGIE

TD01 du Cours Controle Qualite et Metriques Logicielles

Mention : Génie Informatique

Parcours : Génie Logiciel

Written by :

ABOUBAKAR OUMAROU

Matricule : 22GLO004IU

TEACHER

Mr Atatchim Foujin Brice B.

A
Academic Year

2024 / 2025
1) Why is the notion of quality vague?
The concept of quality is vague because it is subjective and depends on the perspective of
each individual or organization. What is considered quality for one person may not be for another.
Furthermore, quality can be influenced by factors such as context, needs, and expectations.

2) Why do we say that quality is not a one-dimensional concept ?


Quality is not a one-dimensional concept as it encompasses several aspects and
characteristics.It can be evaluated according to different criteria such as functionality,
reliability, performance, usability, maintainability, etc. Each criterion brings a different
dimension to the overall quality

3) Define quality according to:

a) IEEE
According to the IEEE (Institute of Electrical and Electronics Engineers), quality is the
degree to which a system, component, or process meets specified requirements and user needs
or expectations.

b) Crosby
According to Philip Crosby, quality is conformity to requirements. He emphasizes the
prevention of defects rather than their correction after the fact.

c) ISO
According to ISO (International Organization for Standardization), quality is the ability of
a set of intrinsic characteristics to satisfy requirements.

d) Pressman
According to Roger Pressman, quality is conformance to explicitly stated functional and
performance requirements, documented development standards, and implicit characteristics
expected of any professionally developed software.

4) What is software quality assurance? How does it differ from software quality

control?

Software quality assurance (QA) is a set of planned and systematic activities implemented
within a quality management system to ensure that software products and services meet
specified quality requirements.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


1
Difference between QA and quality control:

 QA is a proactive process focused on preventing defects, while quality control is a reactive


process focused on defect detection.
 QA aims to ensure that software development processes are efficient and produce quality
products, while quality control aims to verify whether software products meet specified
requirements.
 QA is a comprehensive process that encompasses all quality-related activities, while
quality control is a specific activity that focuses on inspection and testing.

5) Why is software quality control considered part of software quality assurance?


Quality control is considered a part of quality assurance because it helps verify whether the
processes implemented within QA are effective and produce the expected results. Quality control
provides valuable information to improve processes and ensure the quality of software products.

6) In what situations should the quality of software be assessed?


The quality of software should be assessed in the following situations:

 Before going into production to ensure that it meets the requirements and expectations of
the users.
 During development to identify and correct defects as early as possible.
 After production to monitor quality and identify potential problems.
 During maintenance to ensure that changes do not introduce new defects.

7) List the 6 software product quality characteristics proposed by ISO/IEC 9126


The 6 software product quality characteristics proposed by ISO/IEC 9126 are:
1. Functionality
2. Reliability
3. Usability
4. Effectiveness
5. Maintainability
6. Portability

Written by : ABOUBAKAR OUMAROU 22GLO004IU


2
8) Group the following sub-characteristics into characteristics

 Functionality: Suitability, Accuracy, Interoperability, Security


 Reliability: Maturity, Fault tolerance, Recoverability
 Usability: Ease of understanding, Ease of learning, Ease of operation
 Efficiency: Time behavior, Resource behavior
 Maintainability: Ease of analysis, Ease of modification, Stability, Ease of testing
 Portability:
Ease of adaptation, Ease of installation, Compliance with portability rules,
Interchangeability

9) What are the steps in the ISO/IEC 9126 evaluation process?

The steps in the ISO/IEC 9126 evaluation process are:


1. Definition of quality requirements
2. Specification of quality measures
3. Planning the evaluation
4. Execution of the evaluation
5. Analysis of results
6. Quality improvement

10) What are the three sub-steps of evaluation preparation in the ISO/IEC 9126 evaluation
process?
The three sub-steps of evaluation preparation in the ISO/IEC 9126 evaluation process are :

1. Definition of the objective of the evaluation


2. Identification of stakeholders
3. Selection of quality measures

11) What is the objective of the ISO/IEC 14598 standard?


The objective of ISO/IEC 14598 is to provide a framework for evaluating the quality of
software products. It defines a set of processes and metrics for evaluating the quality of software
throughout its life cycle.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


3
12) Define measurement. Why is this definition not precise?
A measurement is a quantification of a characteristic of an object or event. This definition is
imprecise because it does not specify how the quantification is performed or what units of
measurement are used.

13) What is the difference between a calculation and a measurement?


 A measurement is a direct observation of a characteristic of an object or event, while a
calculation is a mathematical manipulation of measurements to obtain a new value.
 A measurement is raw data, while a calculation is derived data.

14) Measuring allows us to understand better and therefore to measure better.


Explain.
Measurement leads to better understanding because it provides objective and quantifiable data
on the characteristics of an object or event. This understanding allows us to identify strengths and
weaknesses, track progress, and make informed decisions. With better understanding, we can
refine measurement methods and obtain more accurate and relevant results .

15) Provide a measurement approach scheme allowing the formulation of empirical


relationships
A measurement approach scheme for formulating empirical relationships could be as follows:
1. Define the objective of the measurement
2. Identify relevant variables
3. Choose the appropriate measures
4. Collect data
5. Analyze the data
6. Formulate empirical relationships
7. Validate empirical relationships

16) Why is a measurement always associated with a model? What is a model?

A measurement is always associated with a model because the model provides a framework
for interpreting data and understanding the relationships between variables. A model is a simplified
representation of reality that allows predictions and decisions to be made.

17) What is a prediction system?


A prediction system is a system that uses data and models to predict future events. It can be used
in many fields, such as finance, medicine, meteorology, etc.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


4
18) What is called a measuring scale?
A measurement scale is a system of classifying data that defines the relationships betweenn
values assigned to objects or events. It determines the mathematical operations that can be
performed on the data.

19) List the 5 types of scale


The 5 types of measurement scale are:
1. Nominal
2. Ordinal
3. Interval
4. Ratio
5. Absolute

20) Each type of scale allows a certain type of transformation. Give for each type of scale a
type of transformation and an example.
• Nominal: Transformation: Replacement of categories by others (bijective).

Example :Change the colors (red, blue, green) to (1, 2, 3).

• Ordinal: Transformation: Monotonically increasing.

Example: Replace the ranks (1st, 2nd, 3rd) by (10, 20, 30). • Interval:

•Transformation: Positive linear (y = ax + b, a ¿ 0).

Example: Conversion from Celsius to Fahrenheit.

• Ratio: Transformation: Similarity (y = ax, a ¿ 0).

Example: Conversion from meters to centimeters.

• Absolute: Transformation: Identity (y = x).

Example: Number of occurrences of a event.

21) Why should objective measures be chosen as a priority?

Objective measures should be chosen as a priority because they are based on verifiable facts
and data , making them more reliable and less susceptible to bias. Objective measures allow for
more accurate and comparable results.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


5
22) In choosing a measurement scale, when are subjective measures acceptable?
Subjective measures are acceptable when the aspect being measured is inherently subjective
(e.g. , user satisfaction) or when objective measures are difficult to obtain. It is important to clearly
define the evaluation criteria and to ensure that the evaluators are competent and impartial.

23) What does software measurement validation consist of?


Validating a software metric involves verifying whether the metric measures what it is intended
to measure and whether it is useful in achieving the stated objectives. This involves ensuring that
the metric is reliable, valid, and relevant.
24) What does the validation of a prediction system consist of in a given environment?
Validating a prediction system involves evaluating its ability to correctly predict future events
in a given environment. This involves comparing the system's predictions with actual results and
measuring the system's accuracy, reliability, and robustness.

25) List 5 internal attributes for the following products: Specification, Design Code.

• Specification: Completeness, Consistency, Unambiguity, Traceability, Verifiability

• Design: Modularity, Coupling, Cohesion, Complexity, Reusability

• Code: Readability, Maintainability, Performance, Testability, Portability

26) What is the most commonly used measure of physical code size?

The most commonly used measure of physical code size is the number of lines of code (LOC).

27) Why is the number of lines of code (LOC) said to be an ambiguous measure?

Lines of code (LOC) is an ambiguous measure because it can vary considerably depending
on coding style, comments, blank lines, and code complexity. moreover, it does not take into
account the quality of the code.

28) What is the most common definition given to a line of code?

The most common definition of a line of code is a line of text containing an executable
instruction or statement, excluding comments and blank lines.

29) What is the difference between CLOC and NCLOC?

• CLOC (Comment Lines of Code): Number of lines of code containing comments.

• NCLOC (Non-Comment Lines of Code): Number of lines of code that do not contain a comments.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


6
30) Give two other measures used for the physical size of the code.

Two other measures used for physical code size are:

• Number of characters

• Number of tokens (keywords, operators, identifiers)

31) Give the disadvantage and advantage of using page count as a measure of the physical
size of a specification or design .

• Advantage: Easy to measure and understand.

• Disadvantage: Does not take into account the information density and complexity of the content.

32) Why is it difficult to find a measure similar to LOC or CHAR for a specification or
design?
It is difficult to find a measure similar to LOC or CHAR for a specification or design because
these documents often contain text, diagrams, and tables, making it difficult to quantify their
physical size in a meaningful way.

33) De Marco proposes a software development method using 3 views. For each view, provide
the associated diagrams and atomic objects.
The three views proposed by De Marco are:
• Functional view: Data flow diagram (DFD), atomic objects: processes, data streams, external
entities, data storage.
• Behavioral view: State transition diagram, atomic objects: states,transitions, events.
• Structural view: Entity-relationship diagram (E/A), atomic objects: entities, attributes
relationships.

34) Size can also be viewed in terms of functionality. What two metrics are used?
The two metrics used to measure size in terms of functionality are:
• Function Points (FP)
• Use Case Points (UCP)

Written by : ABOUBAKAR OUMAROU 22GLO004IU


7
35) List the types of elements taken into account in the calculation of the unadjusted function
account UFC. Give its calculation formula
The types of items taken into account in the calculation of the unadjusted function account
(UFC) are:
• External inputs (EE)
• External outputs (SE)
• External Requests (ER)
• Internal Files (IF)
• External Files (EF)
The formula for calculating the UFC is:

5
UFC = �=1
�� × ��
Where wi is the weight of each element type and ci is the number of elements of that type.

36) Give the formula for calculating the number of function points FP
The formula for calculating the number of function points (FP) is:
FP = UF C × CAF
Where UFC is the unadjusted function count and CAF is the complexity adjustment factor.

37) Define the following class sets: Parents(c), Children(c), Ancestors(c), Descendents(c).
• Parents(c): Set of classes that are the direct parents of class c.

• Children(c): Set of classes that are the direct children of class c.

• Ancestors(c): Set of classes which are the parents of class c, the parents of its parents, and so on.
• Descendents(c): Set of classes which are the children of class c, the children of its children, and
so on.

38) What is the Depth of Inheritance Tree (DIT)?


The Depth of Inheritance Tree (DIT) is a metric that measures the maximum depth of a class's
inheritance tree. It represents the number of ancestor classes, a class has up to the root

Written by : ABOUBAKAR OUMAROU 22GLO004IU


8
Exercise 1

1. Give an estimate of the physical size of the code in LOC.


Let S1 = 1050, S2 = 570, S3 = 240 and ɑ = 2. The estimate of the physical code size in LOC
is given by:

LOC = � ��
�=1
The total design size is S = S1+S2+S3 = 1050 + 570 + 240 = 1860.
=ɑ×S
= 2 × 1860
= 3720 LOC.

2. If the average number of characters per line is 21. Give an estimate of the physical size in
CHAR.

if the average number of characters per line is 21, then the physical size in CHAR is CHAR
= LOC × 21
= 3720 × 21
= 78120 CHAR.

3. The size of the documentation in pages is 1820, give an estimate of the physical size of the
code in LOC using the Walston & Felix formula.

The Walston & Felix formula is LOC = a × Sb where a = 2.4 and b = 1.05.
In this case, S = 1820. So,
LOC = 2.4 × 18201.05 ≈ 2.4 × 2000
= 4800 LOC.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


9
Exercise 2

Determine the elements involved in the calculation of the UFC (make a diagram).

The elements involved in the UFC calculation are external inputs (EI), external outputs (EO),
external requests (ER), internal files (IF), and external files (EF). A diagram represent these
elements as boxes connected by arrows indicating information flow.

# external inputs = 1(Document file),


# external outputs = 2(# Erro Message),
# external requests = 2(Requests ≠ Erro),
# internal files = 1 (Document contain),
# external files = 1 (Document file)

Element Number Complexity

external input 1 Simple = 3

external outputs 2 Average = 3

external requests 2 Simple = 3

external files 1 Simple = 7

internal files 1 Simple = 7

Considering the weighting table above, calculate the UFC:

��
��� = �=�
��_�������_����_� ∗ �����_�

Then UFC = 1*3+2*5+2*3+1*7+1*7

= 23

Written by : ABOUBAKAR OUMAROU 22GLO004IU


10
Calculate the number of function points FP.

FC = UFC * TFC

Determines TFC = 0.65 + 0.01 �=1


��

Let F2 = 1, F4 = 3, F6 = 0, F7 = 2, Then, TFC


= 0.65 + 0.01 (1+2+3)
= 0.71

Exercise 3

Determine the McCabe cyclomatic complexity for the following flow graph:

The formula is V (F) = e - N + 2. where E is the number of edges and N is the number of
nodes

 If

V(F) = 3 - 3 + 2
= 2

 If elsre

V(F) = 4 - 4 + 2

= 2

 While do

V(F) = 3 - 3 + 2

= 2

 Do While

V(F) = 3 - 3 + 2

= 2

Written by : ABOUBAKAR OUMAROU 22GLO004IU


11
 Sequential Procedure

V(F) = 3 - 3 + 2

= 2

Exercise 4

Calculate the following coupling measures: c(M1, M2), c(M1, M3), c(M2, M4)

 c(M1, M2) = 2 + 2 = 4

 c(M1, M3) = 3 + 2 = 5

 c(M2, M4) = 3 + 2 = 5

Determine a global measure of the system coupling.

A global measure of the system coupling could be the sum of all couplings:

4 + 5 + 5 = 14.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


12
Assignment of “Systemes de Relations Numeriques”

1. How do you determine if one system of numerical relationships is better than another?

To determine whether one system of numerical relations is better than another, several criteria
must be evaluated :
a) Fidelity to the empirical structure

The numerical system must faithfully reflect the relationships observed in the empirical
system. This means that numerical relationships (e.g., order, differences, ratios) must correspond to
empirical relationships (e.g., greater than, more intense than).
b) Isomorphism
An ideal number system is isomorphic to the empirical system, that is, there is a one-to-one
correspondence between the elements and relations of the two systems. The closer the number
system is to isomorphism, the better it is.

c) Predictive power

A good numerical system allows for accurate predictions about empirical relationships. If a
numerical system can predict results that hold true in the real world, it is considered better.

d) Simplicity and parsimony

A simple and easy-to-use numerical system is preferable to a complex one, provided that it
maintains sufficient fidelity to the empirical structure.

e) Robustness

The digital system must be robust to small variations in empirical data. A system that changes
radically with small modifications is less reliable.

f) Practical utility

The digital system must be useful for solving real-world problems and making informed
decisions. A system that provides relevant and actionable information is more valuable.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


13
2. Can we always find a system of numerical relations ?

No, it is not always possible to find a system of numerical relations for any empirical system.
Several conditions must be met:

a) Measurability

The empirical system must be measurable, that is, it must be possible to assign numbers to
the elements of the system in a consistent and meaningful way. Some empirical systems may be
too complex or too subjective to be measured precisely.

b) Relational structure

The empirical system must have a clear and well-defined relational structure. If the
relationships between elements are unclear or inconsistent, it will be difficult to find a numerical
system that faithfully represents them.

c) Axiomatization

It must be possible to axiomatize empirical relationships, that is, to describe them using a set
of axioms or formal rules. If the relationships are too complex or too irregular, it will be difficult to
axiomatize them.

´
d) Measurement scale

The type of measurement scale (nominal, ordinal, interval, ratio) must be appropriate for the
empirical relationships. If the measurement scale is too small (e.g., nominal), it will be difficult to
represent more complex relationships (e.g., differences or ratios).

Written by : ABOUBAKAR OUMAROU 22GLO004IU


14
3. What to do when there are different possible representations in the same system of
empirical relations?
When there are different possible representations in the same system of empirical relations,
it is important to choose the most appropriate representation based on the objectives of the analysis
and the properties of the different representations.
´
a) Evaluation of the properties of representations
Each representation can have different properties (e.g., linearity, monotonicity, sensitivity to
extreme values). It is necessary to evaluate these properties and choose the representation that best
matches the characteristics of the empirical system.

b) Choice of the appropriate measurement scale

Different representations may involve different scales of measurement. One must choose the
scale of measurement that is most appropriate for the empirical relationships and that allows the
desired mathematical operations to be performed.

c) Analysis of the sensitivity of the results

It is important to analyze the sensitivity of the results to different representations. If the


results are very different depending on the chosen representation, caution should be exercised in
interpretation and consideration should be given to using multiple representations to verify the
robustness of the conclusions.

d) Use of admissible transformations In some measurement scales

(e.g., interval, ratio), it is possible to carry out admissible transformations (e.g., linear
transformations) without changing the empirical relationships. These transformations should be
used to simplify the representation or to make it easier to interpret.

e) Empirical validation

It is important to empirically validate different representations by comparing their


predictions with real data. The representation that provides the most accurate predictions is
generally the most appropriate.

f) Consideration of the objectives of the analysis

The choice of representation may depend on the objectives of the analysis. For example, if the
objective is to compare differences, a representation that preserves differences should be chosen. If
the objective is to compare ratios, a representation that preserves ratios should be chosen.

Written by : ABOUBAKAR OUMAROU 22GLO004IU


15

You might also like