Vous êtes sur la page 1sur 15

UNIT 1 Software Quality

Contents:
Views of Quality
Hierarchical Modeling
oeh! and McCall"s Models
Quality Criteria
Interrelation
Measuring Quality
Quality Metrics
#$erall Measures of Quality
Quality:
%&ility of the 'roduct(ser$ice to fulfill its function
Hard to define
I!'ossi&le to !easure
)asy to recogni*e in its a&sence
Trans'arent when 'resent
+efinition of Quality:
Characteristics of Quality:
Quality is not a&solute
Quality is !ultidi!ensional
Quality is su&,ect to constraints
Quality is a&out acce'ta&le co!'ro!ises
Quality criteria are not inde'endent- &ut interact with each other causing
conflicts.
Software Quality:
/itchen ha! 01121 &3 refers to software 4uality 5fitness for needs6 and clai!s
4uality in$ol$es !atching e7'ectations.
Two features of a 'iece of 4uality software:
Confor!ance to its s'ecification
8itness for its intended 'ur'ose.
The +e'art!ent of +efense 0+#+- 11293 in the US% defines software 4uality as
5the degree to which the attri&utes of the software ena&le it to 'erfor! its intended
end use6.
Software was 'articularly 'ro&le!atical for the following reasons:
Software has no 'hysical e7istence
The lac: of :nowledge of client needs at the start
The change of client needs o$er ti!e
The ra'id rate of change on &oth hardware and software
The high e7'ectations of custo!ers- 'articularly with res'ect to
ada'ta&ility.
;ithin the software 4uality area- the need to 'ro$ide a solution that !atches user
needs is often considered as 5design 4uality6- whilst ensuring a !atch to the
s'ecification is considered as 5!anufacturing 4uality6.
Views of Quality:
Quality is a !ultidi!ensional construct. It !ay therefore &e considered using a
'olyhedron !eta'hor. ;ithin this !eta'hor- a three<di!ensional solid re'resents
4uality. )ach face re'resents a different as'ect of 4uality such as correctness-
relia&ility- and efficiency.
It has &een classified according to a nu!&er of = $iews" or 'ers'ecti$e. These
$iews are often di$erse and !ay conflict with each other. )ach $iew co!es fro! a
'articular conte7t.
The $iews are generally 'resented in ad$ersarial 'airs such as $ersus designers.
The software 'ro,ect has the following roles
>ro,ect !anager
usiness analyst
I!'le!entation 'rogra!!er
Quality auditor
)nd user
?ine !anager
>ro,ect s'onsor
In an atte!'t to classify different and conflicting $iews of 4uality- @ar$in 0112A3
has suggested fi$e different $iews of 4uality
1. The transcendent $iew
Innate e7cellence
Classical definition
B. The 'roduct<&ased $iew
Higher the 4uality higher the cost
@reater functionality
@reater care in de$elo'!ent
C. The user<&ased $iew
8itness for 'ur'ose
Very hard to 4uantify
A. The !anufacturing $iew
Measures 4uality in ter!s of confor!ance
Dero defects
9. The $alue<&ased $iew
>ro$ides the data with what the custo!er
re4uires at a 'rice.
Quality is 'eo'le:
Quality is deter!ined &y 'eo'le &ecause
It is 'eo'le and hu!an organi*ations who ha$e 'ro&le!s to &e sol$ed &y
co!'uter software
It is 'eo'le who define the 'ro&le!s and s'ecify the
solutions
It is still currently 'eo'le who i!'le!ent designs and
'roduct code.
It is 'eo'le who test code
HI)E%ECHIC%? M#+)? #8 QU%?ITF:
To co!'are 4uality in different situations- &oth 4ualitati$ely and 4uantitati$ely- it
is necessary to esta&lish a !odel of 4uality.
Many !odel suggested for 4uality.
Most are hierarchical in nature.
% 4uantitati$e assess!ent is generally !ade- along with a !ore 4uantified
assess!ent.
Two 'rinci'al !odels of this ty'e- one &y oeh! 011G23 and
one &y McCall in 11GG. % hierarchical !odel of software 4uality is &ased u'on a
set of 4uality criteria- each of which has a set of !easures or !etrics associated
with it.
The issues relating to the criteria of 4uality are:
;hat criteria of 4uality should &e e!'loyedH
How do they inter<relateH
How !ay the associated !etrics &e co!&ined into a !eaningful
o$erall !easure of QualityH
TH) HI)E%ECHIC%? M#+)?S #8 #)HM %N+ MCC%??
TH) @) M#+)? 0MCC%??- 11GG %N+ 112I3 ( 0McCall Model3
This !odel was first 'ro'osed &y McCall in 11GG.
It was later re$ised as the MQ !odel- and it is ai!ed &y syste! de$elo'ers
to &e used during the de$elo'!ent 'rocess.
In early atte!'t to &ridge the ga' &etween users and de$elo'ers- the criteria
were chosen in an atte!'t to reflect user" s $iews as well as de$elo'er" s
'riorities.
The criteria a''ear to &e technically oriented- &ut they are descri&ed &y a
series of 4uestions which define the! in ter!s to non s'ecialist !anagers.
The three areas addressed &y McCall" s !odel 011GG3:
>roduct o'eration: re4uires that it can &e learnt easily- o'erated efficiently %nd it
results are those re4uired &y the users.
>roduct re$ision: it is concerned with error correction and
%da'tation #f the syste! and it is !ost costly 'art of software de$elo'!ent.
>roduct transition: it is an i!'ortant a''lication and it is
distri&uted 'rocessing and the ra'id rate of change in hardware is ?i:ely to
increase.
McCall" s criteria of 4uality defined
)fficiency is concerned with the use of resources e.g.
'rocessor ti!e- storage. It falls into two categories:
e7ecution efficiency and storage efficiency.
Usa&ility is the ease of use of the software.
Integrity is the 'rotection of the 'rogra! fro!
unauthori*ed access.
Correctness is the e7tent to which a 'rogra! fulfils its s'ecification.
Eelia&ility is its a&ility not to fail.
Maintaina&ility is the effort re4uired to locate and fi7 a fault in the
'rogra! within its o'erating en$iron!ent.
8le7i&ility is the ease of !a:ing changes re4uired &y
changes in the o'erating en$iron!ent.
Testa&ility is the ease of testing the 'rogra!s- to ensure that it is error<free
and !eet its s'ecification.
>orta&ility is the effort re4uired to transfer a 'rogra! fro! one
en$iron!ent to another.
Eeusa&ility is the ease of refusing software in a different conte7t.
Intero'era&ility is the effort re4uired to cou'le the
syste! to another syste!.
The oeh! !odel 011G23
It is to 'ro$ide a set of well<defined- well<differentiated characteristics of
software 4uality.
It is hierarchical in nature &ut the hierarchy is e7tended- so that 4uality
criteria are su&di$ided.
%ccording to the uses !ade of the syste! and they are classed into =
general" or = as is" and the utilities are a su&ty'e of the general utilities- to
the 'roduct o'eration.
There are two le$els of actual 4uality criteria- the
inter!ediate le$el &eing further s'lit into 'ri!iti$e
characteristics which are a!ena&le to !easure!ent.
This !odel is &ased u'on a !uch larger set of criteria than McCall" s
!odel- &ut retains the sa!e e!'hasis on technical criteria.
The two !odels share a nu!&er of co!!on characteristics are-
The 4uality criteria are su''osedly &ased u'on the user"s
$iew.
The !odels focus on the 'arts that designers can !ore readily
analy*e.
Hierarchical !odels cannot &e tested or $alidated. It cannot
&e shown that the !etrics accurately reflect the criteria.
The !easure!ent of o$erall 4uality is achie$ed &y a weighted
su!!ation of the characteristics.
oeh! tal:s of !odifia&ility where McCall distinguishes e7'anda&ility fro!
ada'ta&ility and docu!entation- understanda&ility and clarity.
H#; TH) QU%?ITF CEIT)EI% INT)EE)?%T)
The indi$idual !easure of software 4uality 'ro$ided do not 'ro$ide an o$er all
!easure of software 4uality.
The indi$idual !easures !ust &e co!&ined.
The indi$idual !easures of 4uality !ay conflict with each
other.
So!e of these relationshi's are descri&ed &elowJ
Integrity $s. efficiency 0in$erse3 the control of access to data or software re4uires
additional code and 'rocessing leading to a longer runti!e and additional storage
re4uire!ent.
Usa&ility $s. efficiency 0in$erse3 I!'ro$e!ents in the hu!an ( co!'uter interface
!ay significantly increase the a!ount of code and 'ower re4uired.
Maintaina&ility and testa&ility $s. efficiency 0in$erse3 #'ti!i*ed and co!'act
code is not easy to !aintain.
>orta&ility $s. efficiency 0in$erse3 the use of o'ti!i*ed software or syste!
utilities will lead to decrease in 'ro&a&ility.
8le7i&ility- reusa&ility and intero'era&ility $s. efficiency 0in$erse3 the generally
re4uired for a fle7i&le syste!- the use if interface routines and the !odularity
desira&le for reusa&ility will all decrease efficiency.
8le7i&ility and reusa&ility $s. integrity 0in$erse3 the general fle7i&le data
structures re4uired for fle7i&le and reusa&le software increase the security and
'rotection 'ro&le!.
Intero'era&ility $s. integrity 0in$erse3 Cou'led syste! allow !ore a$enues of
access to !ore and different users.
Eeusa&ility $s. relia&ility 0in$erse3 reusa&le software is re4uired to &e general:
!aintaining accuracy and error tolerance across all cases is difficult.
Maintaina&ility $s. fle7i&ility 0direct3 !aintaina&le code arises fro! code that is
well structured.
Maintaina&ility $s. reusa&ility 0direct3 well structured easily !aintaina&le code is
easier to reuse in other 'rogra!s either as a li&rary of routines or as code 'laced
directly within another 'rogra!.
>orta&ility $s. reusa&ility 0direct3 'orta&le code is li:ely to &e free of
en$iron!ent<s'ecific features.
Correctness $s. efficiency 0neutral3 the correctness of code- i.e. its confor!ance to
s'ecification does not influence its efficiency.
M)%SUEIN@ S#8T;%E) QU%?ITF
M)%SUEIN@ QU%?ITF
Quality !easure!ent- where it is considered at all- is usually
e7'ressed in ter!s of !etrics.
Software !etric is a !easura&le 'ro'erty which is an indicator of one or !ore of
the 4uality criteria that we are see:ing to !easure. %s such- there are a nu!&er of
conditions that a 4uality !etric !ust !eet. It !ust:
e clearly lin:ed to the 4uality criterion that it see:s to !easure
e sensiti$e to the different degrees of the criterion
>ro$ide o&,ecti$e deter!ination of the criterion that can &e !a''ed onto a
suita&le scale.
Metrics are not sa!e as direct !easures.
Measure!ent techni4ues a''lied to software are !ore a:in to the social sciences-
where 'ro'erties are si!ilarly co!'le7 and a!&iguous.
% ty'ically !easura&le 'ro'erty on which a !etric !ay &e &ased is structured
ness.
The criteria of 4uality related to 'roduct re$ision- !aintaina&ility- ada'ta&ility and
reusa&ility are all related to structured ness of the source code.
;ell<structured code will &e easier to !aintain or ada't than so called 5s'aghetti
code6.
Structured ness as it si!'lest !ay &e calculated in ter!s of the a$erage length of
code !odules within the 'rogra!s.
S#8T;%E) M)TEICS
Metrics are classified into two ty'es according to whether they are 'redicti$e or
descri'ti$e.
% 'redicti$e !etric is used to !a:e 'redictions a&out the software later in the
lifecycle. Structured ness is used to 'redict the !aintaina&ility of the software
'roduct in use.
% descri'ti$e !etric descri&es the state of the software at
the ti!e of !easure!ent.
+ifferent authors ha$e ta:en different a''roaches to !etrics.
Structured ness is !easured &y 4uestions such as:
Ha$e the rules for transfer of control &etween !odules &een followedH0y(n3
%re !odules li!ited in si*eH0y(n3
+o all !odules ha$e only one e7it 'oint H0y(n3
+o all !odules ha$e only one entry 'ointH0y(n3
% well<structured 'rogra! will 'roduce 'ositi$e answers to such 4uestions.
McCall"s a''roach is !ore 4uantities- using scores deri$ed fro! e4uations such as
;here: nI1 K no of !odules containing one or *ero e7it 'oints only ntot K total
nu!&er of !odules
@enerally- in this a''roach- scores are nor!ali*ed to a
range &etween I and 1- to allow for easier co!&ination and co!'arison.
This a''ears attracti$e- to gi$e un,ustified credi&ility to the results o&tained.
To $alidate this relationshi' and deter!ine whether it is a
linear relationshi' or !ore co!'le7 in nature.
It is also 'ossi&le to $alidate whether the de'endence of !aintaina&ility structured
ness in identical to that of ada'ta&ility or reusa&ility.
;hat !a:es a good !etricH
Se$en criteria for a good !etric- after ;atts 0112G3
#&,ecti$ity the results should &e free fro! su&,ecti$e influences. It !ust not
!atter who the !easurer is.
Eelia&ility the results should &e 'recise and re'eata&le.
Validity the !etric !ust !easure the correct characteristic.
Standardi*ation the !etric !ust &e una!&iguous and allow for co!'arison.
Co!'ara&ility the !etric !ust &e co!'ara&le with other !easures of the sa!e
Criterion.
)cono!y the si!'ler and therefore- the chea'er the !easure is to use- the etter.
Usefulness the !easure !ust address a need- not si!'ly !easure a 'ro'erty for
its own sa:e.
% further i!'ortant feature is consistency.
%uto!ation is also desira&le.
Metrics cited in the literature:
Metrics a$aila&le for each criterion 0after ;atts- 112G3 L
The !etrics cited de'ends to a $ery large e7tent u'on ,ust se$en distinct
!easura&le 'ro'erties: reada&ility- error 'rediction- error detection- co!'le7ity-
and !ean ti!e to failure 0MTT83- !odularity- testa&ility.
1. Eeada&ility as a !easure of usa&ility !ay &e a''lied to docu!entation in order
to assess how such docu!entation !ay assist in the usa&ility of a 'iece of
software.
B. )rror 'rediction as a !easure of correctness this !easure is de'ends u'on the
sta&le software de$elo'!ent en$iron!ent.
C. )rror detection as !easure of correctness
A. Mean ti!e to failure 0MTT83 as a !easure of relia&ility
9. Co!'le7ity as a !easure of relia&ility the assu!'tion under'inning these
!easures is that as co!'le7ity increases- so relia&ility decrease.
M. Co!'le7ity as a !easure of !aintaina&ility is also indicati$e of !aintaina&ility.
G. Eeada&ility of code as a !easure of !aintaina&ility has also &een suggested as a
!easure of !aintaina&ility.
2. Modularity as a !easure of !aintaina&ility increased !odularity is generally
assu!ed to increase !aintaina&ility. 8our !easures ha$e &een suggested. Fau and
Collofello 011G13 !easured 5 sta&ility6 as the nu!&er of !odules affected &y
'rogra! !odification. /entger 011213 defined a four<le$el hierarchy of !odule
ty'es:
Control !odules.
>ro&le!<oriented !odules.
Manage!ent !odules for a&stract data.
Eeali*ation !odules for a&stract data.
1. Testa&ility as a !easure of !aintaina&ility the ease and effecti$eness of testing
will ha$e an i!'act u'on the !aintaina&ility of a 'roduct.
%n o$erall !easure of 4uality
Much of the wor: in this area has &een concerned with si!'le reduction of a set of
scores to a single =figure<of<!erit".
8i$e such !ethods are detailed &y ;atts 0112G3 as 'art of the MQ a''roach.
1. Si!'le scoring: In this !ethod- each criterion is allocated a score. The o$erall
4uality is gi$en &y the !ean of the indi$idual scores.
B. ;eighted scoring: This sche!e allows the user to weight each criterion
according to how i!'ortant they consider the! to &e. )ach criterion is e$aluated
to 'roduce a score &etween I and 1. )ach score is weighted &efore su!!ation and
the resulting figure reflects the relati$e i!'ortance if the different factors.
C. >hased weighting factor !ethod: This is an e7tension of weighted scoring. %
weighting is assigned to a grou' characteristics &efore each indi$idual weighting
is considered.
The 'hased weighting factor !ethod
>roduct o'eration weighted !ean K I.MMI
>roduct transition weighted !ean K I.MCC
#$erall !easure &y >;8 !ethod K 00B(C3 7I.MMI3 N 001(C3 7I.MCC3 K I.M9
A. The /e'ner<Tregoe !ethod 011213: The criteria are di$ided into = essential" and
= desira&le" . % !ini!u! $alue is s'ecified for each essential criterion and any
software failing to reach these scores is designated unsuita&le.
= Suita&le" software is then ,udged &y use of the weighting factor !ethod.
9. The Cologne co!&ination !ethod 0Sch!it*- 11G93: This !ethod is designed
with co!'arati$e e$aluation is !ind. Using the chosen criteria- each 'roduct is
ran:ed in order.
>#?%EITF >E#8I?IN@:
In this sche!e- 4uality is re'resented &y series of ranges fro! <C to NC.
The re4uired 4uality !ay &e re'resented and co!'ared to
the actual 4uality achie$ed.
It is a co!!on 'ro&le! a!ongst software de$elo'ers that they focus u'on
'articular as'ects of 4uality.
;hen a user co!'lains of 'oor 4uality- they tend to i!'ro$e the 'roduct further
in these areas.
#ften the 'roduct has already e7ceeded the user" s e7'ectations in these areas- and
a further i!'ro$e!ent does not i!'ro$e their o$erall $iew of the 4uality of the
'roduct.
This effort wasted.
;orse- the user" s needs still ha$e not &een !et in other critical areas- leading to
tensions &etween the de$elo'ers and users.
Two different outco!es result.
In the first case- usa&ility is i!'ro$ed. Unfortunately- relia&ility and efficiency are
still not u' to the re4uired standard- and usa&ility was already considered
satisfactory.
In the second case- i!'ro$e!ents in relia&ility and efficiency are traded for a
reduction in ada'ta&ility and !aintaina&ility- 'erha's &y= twea:ing" the code.
The conse4uence is that all criteria are now at the re4uired le$el- resulting in an
o$erall 'erce'tion of 4uality and satisfied users.
Question an::
B Mar:s Questions:
1. +efine Quality
B. +efine software 4uality.
C. ;hat are all the 'ro&le!s in !easuring the 4uality of softwareH
A. ;hat are the two 4uality factors that fall under software 4uality areaH
9. ;hat is design 4ualityH
M. ;hat is !eant &y !anufacturing 4ualityH
G. ;hat should &e the ai! of any software 'roduction 'rocessH
1. @i$e so!e insights a&out 4uality.
1I. ;hat are fi$e different $iews of 4uality suggested &y
@ar$inH
11. ;hat are the !ethodologies used in the !anufacturer" s
$iewH
1B. ;hat is $alue < &ased $iewH
1C. ;hat is the 'ur'ose of hierarchical !odelingH
1A. @i$e so!e e7a!'les of 4uality criteria e!'loyed in
software 4uality.
19. ;hat are the !etrics associated with relia&ilityH
1M. @i$e a Sche!atic hierarchical $iew of software 4uality.
1G. @i$e any two e7a!'les of hierarchical !odels.
12. ;rite a&out @) !odel.
11. ;hat are the three areas addressed &y McCall" !odelH
BI. ;hat are all McCall" s criteria of 4ualityH
B1. ;hat is 'orta&ilityH
BB. +efine intero'era&ility
BC. )7'lain oeh!" s !odel.
BA. ;hat are the co!!on characteristics of &oth oeh! and
McCall !odelsH
B9. @i$e the interrelationshi's &etween 4uality criteria.
BM. @i$e few relationshi's that ha$e in$erse relation shi's.
BG. @i$e e7a!'les of direct relationshi'
B2. @i$e an e7a!'le of neutral relationshi' < suggest.
B1. Correctness Vs efficiency<+ifferentiate
CI. +efine software !etric.
C1. ;hat are two ty'es of software !etricH
CB. ;hat is !eant &y 'redicti$e !etricH
CC. +efine descri'ti$e !etric.
CA. ;hat !a:es a good !etricH
C9. ;hat is the o&,ecti$ity criterion for a good !etricH
CM. ;rite down the 'ro&le!s with !etrics
CG. ;hat are the !ethods that are used in o$erall !easure of 4ualityH
C2. )7'lain the si!'le scoring !ethod.
C1. How is weighted scoring !ethod usedH
AI. How does 'hased weighting factor !ethod differ fro! weighted scoring
!ethodH
AB. How is cologne co!&ination !ethod usedH
AC. ;hat is the role of a 'ro,ect !anagerH
AA. +efine Structured ness
A9. ;ho is called the i!'le!entation 'rogra!!erH
AM. ;hat is the role of a 4uality auditorH
AG. ;hat do you !ean &y the transcendent $iewH
A2. ;hat is 'roduct < &ased $iewH
A1. ;hat does user < &ased $iew !eanH
9I. ;hy is software 4uality i!'ortantH
91. +efine Software 4uality assurance.
9B. ;hat are the fi$e !ethods detailed &y watts 0112G3 as
'art of the MQ a''roachH
9C. +efine Quality as defined &y International Standard
#rgani*ation.
9A. ;hat is !eant &y software 4ualityH
99. Quality is confor!ance to re4uire!ents to &oth i!'licit
and e7'licit. )7'lain the ter!s 5 e7'licit6 and 5 i!'licit6 re4uire!ents in the
conte7t of @ar$in" s $iews of 4uality
1M Mar:s Questions:
13 McCall suggest that si!'licity- !odularity- instru!entation and self
descri'ti$eness are software 4uality criteria that is internal characteristics that
'ro!ote e7ternal 4uality testa&ility.
0I3. )7'lain each of the a&o$e four criteria.
0II3. +escri&e the 'ossi&le !easures for each of the criteria.
0III3. +escri&e the 'ossi&le ways in which the !easures
could &e assessed.
B3 )7'lain @ar$in"s fi$e $iews of 4uality.
C3 State and e7'lain- McCal"l s Model of 4uality.
A3 )7'lain &riefly a&out $iews of 4uality.
93 ;hat are the 4uality !etrics- !easuring 4uality a$aila&leH )7'lain.
M3 )7'lain &riefly a&out o$erall !easure of 4uality.
G3 )7'lain a&out the interrelation &etween 4uality criteria and software 'rocess.
23 )7'lain &riefly a&out hierarchical !odeling.
UNIT O I T)ST QU)STI#NS
>%ET O% 09 P B K 1I Mar:s3
1. +efine software 4uality.
B. ;hat are fi$e different $iews of 4uality suggested &y @ar$inH
C. ;hat are the co!!on characteristics of &oth oeh! and McCall !odelsH
A. Correctness Vs efficiency<+ifferentiate.
9. ;hat !a:es a good !etricH
>%ET O
M. I )7'lain &riefly a&out $iews of 4uality 0G3
II State and e7'lain- McCall"s Model of 4uality 023
0#r3
G. I )7'lain how the 4uality criterions are interrelated 023
II )7'lain &riefly a&out o$erall !easure of 4uality 023

Vous aimerez peut-être aussi