Beruflich Dokumente
Kultur Dokumente
Engineering
Ali Idri
Idri,, Ph.D.
ENSIAS, Rabat, Maroc
Maroc
Université
Universit é Mohamed V
E-mail: ali.idri@um5.ac.ma
1 © Ali Idri/ESE/2016-2017
Pré--requis
Pré
Concepts de base du génie logiciel
Cycle de développement et/ou de maintenance
Analyser? Concevoir ? Programmer? Tester?
Analyse de données
2 © Ali Idri/ESE/2016-2017
Objectifs
3 © Ali Idri/ESE/2016-2017
References
N. Fenton and S. L. Pfleeger,
Software Metrics: A Rigorous and Practical Approach
International Thomson Computer Press, 1999
Barry W. Boehm,
* Software Engineering Economics
Prentice-Hall, 1981
* Software Cost Estimation with COCOMOII
Hardcover, 2000
4 © Ali Idri/ESE/2016-2017
Historique
1968, « La Crise de Logiciels »
Coûts très élevés
Fiabilité décroissante
Qualité faible
Etc.
Génie Logiciel
Ensemble de méthodes pour le développement et la
maintenance d’un logiciel
6 © Ali Idri/ESE/2016-2017
Software Measurement
DeMarco, 1982:
You cannot control what you cannot measure.
Lord Kelvin :
When you can measure what you are speaking about, and
express it in number, you know some thing about it.
Maxwell:
To measure is to know.
Objectifs
Evaluer pour comprendre
7 © Ali Idri/ESE/2016-2017
Related Work
8 © Ali Idri/ESE/2016-2017
A
A. input (score)
B. if score < 45 B
V(G)= 9-7+1=3
9 © Ali Idri/ESE/2016-2017
1979, Albrecht « Function Points -FP- »
FP mesure la taille fonctionnelle (les fonctionnalités)
d’un logiciel
10 © Ali Idri/ESE/2016-2017
Calculer le nombre UFP (Unadjusted Function
Points)
5 3
UFP=∑∑wij xij
i=1 j =1
Calculer le Nombre FP
11 © Ali Idri/ESE/2016-2017
1981, Barry Boehm «COnstrutive COst MOdel»
1981, Henry and Cafura,
Mesure la complexité d’un module au niveau de la
conception
12 © Ali Idri/ESE/2016-2017
Entités Logicielles
Processus : Ce sont les activités effectuées durant le
cycle de vie d’un logiciel: processus de spécification, de
conception, de tests, de codage, etc.
Relation
Les ressources effectuent (ou utilisées par) un processus pour
obtenir un produit
13 © Ali Idri/ESE/2016-2017
Attributs d’un logiciel
Interne : Il est mesuré uniquement en termes
d’entité à laquelle il est relié et indépendamment de
son environnement
Exemples:
LOC: Line Of Code, Attribut = longueur d’un programme
Productivity of developers
14 © Ali Idri/ESE/2016-2017
LOC RELY
Produit Ressource
Produit
15 © Ali Idri/ESE/2016-2017
Measurement and Measure
A Measurement is the process by which numbers
or symbols are assigned to an entity in order to
characterize an attribute
16 © Ali Idri/ESE/2016-2017
ENTREES PROCESSUS SORTIES
Instance
Equations,
d’entité Règles, Définitions,
Attribut Hypothèses, Etapes Tables de nombres
17 © Ali Idri/ESE/2016-2017
Direct and Indirect Measure
Direct measure of an attribute involves no other
attributes
Examples
LOC measure
Software Reliability
R = 1- rate of a failure
rate of failure = ∑ ϕ i ( E i )
i
R = P(Ti>t)
18 © Ali Idri/ESE/2016-2017
Representation Condition
Representation condition asserts that a measurement
mapping M must map entities into numbers and
empirical relations into numerical relations in such a
way that the empirical relations are preserved by the
numerical ones
Example
Real world
Number system
1.72
1.63
1.95
X is tall M(x)>1.80
20 © Ali Idri/ESE/2016-2017
MA: S×ℜ
×ℜ → P×ℵ
×ℵ
∀(s1, s2,..,sn)∈S n
(s1, s2,..,sn) ∈ R ⇔ (MA(s1), MA(s2),.., MA(sn))∈
∈N
21 © Ali Idri/ESE/2016-2017
Example
Entity is the software failures, Attribute is the criticality
Initially, we identify three types of failures:
Delayed response
Incorrect output
Data loss
A candidate measure M can be defined as:
Delayed response 6
Incorrect output 4
11
Data loss
Delayed response 2
6-4=4-
Incorrect output 4 2
6
Data loss
23 © Ali Idri/ESE/2016-2017
Example of other numerical systems
Entity = Programmer
Attribute = competence
Suppose that we have established only one empirical
relation R that consists of:
Z 12
X Y 4 6
W 2
X and Y are more competent than W
Z is more competent than X and Y
24 © Ali Idri/ESE/2016-2017
Existence of numerical systems
∀(x, y) ∈ C 2 xRy or y R x
∀(x, y,z) ∈ C3 if xRy then xR z or zRy
25 © Ali Idri/ESE/2016-2017
Exercises : Validation of some software metrics
FP measure?
Productivity measure?
26 © Ali Idri/ESE/2016-2017
V(G)=4 V(G)=4
27 © Ali Idri/ESE/2016-2017
Mesure FP
28 © Ali Idri/ESE/2016-2017
Productivité d’un programmeur
Prod(p)=#LOC/temps
Prod(p)=#funtion points/temps
Signification d’un FP
Conversion d’un FP en #LOC
29 © Ali Idri/ESE/2016-2017
Measurement scales and scale types
Measurement scale = (Empirical relations, Mapping,
Numerical relations)
Scale types
Nominal, Ordinal, Interval, Ratio, Absolute
30 © Ali Idri/ESE/2016-2017
Scale type Admissible Operations Examples
transformation G
Nominal Any one-to-one Distinction Labeling, classifying
31 © Ali Idri/ESE/2016-2017
Exercise
Entity is the software failures, Attribute is the criticality
R1 = failure is delayed-response
R2 = failure is incorrect-output
R3 = failure is data-loss
32 © Ali Idri/ESE/2016-2017
Software Metrics Challenges
Software engineering is still a young science
33 © Ali Idri/ESE/2016-2017