12.07.2015 Views

mapping between iso 9126 on software product quality metrics and ...

mapping between iso 9126 on software product quality metrics and ...

mapping between iso 9126 on software product quality metrics and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MAPPING BETWEEN ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> ON SOFTWARE PRODUCT QUALITYMETRICS AND ISO 12207 ON SOFTWARE LIFE CYCLE PROCESSESRAFA E. AL-QUTAISHÉcole de Technologie Supérieure (ÉTS)University of Québec1100 Notre-Dame St., M<strong>on</strong>tréal, QC, H3C 1K3,Canadarafa.al-qutaish.1@ens.etsmtl.caHAMED J. AL-FAWAREHDept. of Computer ScienceZarqa Private UniversityP. O. Box 2000, Zarqa 13110,Jordanfawareh@zpu.edu.joABSTRACTNowadays, the Internati<strong>on</strong>al Organizati<strong>on</strong> for St<strong>and</strong>ardizati<strong>on</strong> (ISO) is working <strong>on</strong> the next generati<strong>on</strong> of the <strong>software</strong><strong>product</strong> <strong>quality</strong> st<strong>and</strong>ards which will be referred to as Software Product Quality Requirements <strong>and</strong> Evaluati<strong>on</strong> (SQuaRE– ISO 25000 series). However, this series of st<strong>and</strong>ards will replace the current versi<strong>on</strong> of ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> Internati<strong>on</strong>alSt<strong>and</strong>ard which c<strong>on</strong>sists of inventories of proposed <strong>metrics</strong> to measure the <strong>quality</strong> of the internal, external, <strong>and</strong> in-use<strong>software</strong> <strong>product</strong>. For each of these <strong>metrics</strong> there is a cross-reference <strong>on</strong> where they could be applied (measured) duringthe ISO 12207 Software Life Cycle Processes <strong>and</strong> activities (SLCP). This paper provides a <str<strong>on</strong>g>mapping</str<strong>on</strong>g> <str<strong>on</strong>g>between</str<strong>on</strong>g> those twost<strong>and</strong>ards to highlights the weaknesses of these cross-references <strong>and</strong> proposes a number of suggesti<strong>on</strong>s to address them.Keywords: Software Measurement, Software Quality Metrics, Software Life Cycle Processes (SLCP), ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>, ISO12207.1. INTRODUCTIONMeasurements have a l<strong>on</strong>g traditi<strong>on</strong> in natural sciences.At the end of the 19 th century the physicist, LordKelvin, formulated the following about measurement:“When you can measure what you are speaking about,<strong>and</strong> express it into numbers, you know some thing aboutit. But when you can not measure it, when you can notexpress it in numbers, your knowledge is of a meager<strong>and</strong> unsatisfactory kind: It may be the beginning ofknowledge, but you have scarcely in your thoughtsadvanced to stage of science” [20].Moreover, Roberts [21] points out in his book aboutmeasurement theory that: “A major difference <str<strong>on</strong>g>between</str<strong>on</strong>g>well-developed sciences such as physics <strong>and</strong> some of theless well-developed sciences such as psychology orsociology is the degree to which things are measured”.In the area of <strong>software</strong> engineering, the c<strong>on</strong>cept of<strong>software</strong> measurement (or what is comm<strong>on</strong>ly called<strong>software</strong> “<strong>metrics</strong>”) is not new. Since 1972, a number ofso-called <strong>software</strong> “<strong>metrics</strong> 1 ”, or “measures”, have beendeveloped. From the wide range of <strong>software</strong> measures,four basic theories have been the source of the majorityof the research c<strong>on</strong>ducted <strong>on</strong> <strong>software</strong> measurement.Some of these measures have been defined by Halstead[7, 8], Albrecht [3], DeMarco [5], <strong>and</strong> McCabe [19].1 While the term “<strong>metrics</strong>” is used in ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>, the useof this term will be ab<strong>and</strong><strong>on</strong>ed <strong>and</strong> replaced by“measures” in the upcoming new ISO 25000 as aninitial step towards harm<strong>on</strong>izing the <strong>software</strong>engineering measurement terminology with the ISO15939. [11]The definiti<strong>on</strong> of a “measure” is an empiricalobjective assignment of a number or a symbol to anentity to characterize a specific attribute [6]. Moreover,Ince et al. [11] have defined the <strong>software</strong> “<strong>metrics</strong>” asnumerical values of <strong>quality</strong> which can be used tocharacterized how good or bad that the <strong>product</strong> is interms of properties such as its pr<strong>on</strong>eness to error. InAdditi<strong>on</strong>, “<strong>metrics</strong>” defined in [10] as quantitativemeasures of the degree to which a system, comp<strong>on</strong>ent,or process possesses a given attribute, while within theISO 15939, it was defined as a variable to which a valueis assigned as a result of measurements [15].In order to st<strong>and</strong>ardize the <strong>software</strong> <strong>product</strong> <strong>quality</strong>measurement process, in 1991, the ISO published itsfirst internati<strong>on</strong>al c<strong>on</strong>sensus <strong>on</strong> the terminology for the<strong>quality</strong> characteristics for <strong>software</strong> <strong>product</strong> evaluati<strong>on</strong>;this st<strong>and</strong>ard was called as Software Product Evaluati<strong>on</strong>- Quality Characteristics <strong>and</strong> Guidelines for Their Use(ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>: 1991) [14].From 2001 to 2004, the ISO published an exp<strong>and</strong>edversi<strong>on</strong>, c<strong>on</strong>taining both the ISO <strong>quality</strong> models <strong>and</strong>inventories of proposed measures for these models (ISO<str<strong>on</strong>g>9126</str<strong>on</strong>g> parts 1, 2, 3, <strong>and</strong> 4) [12, 16-18].Recently, the ISO has recognized a need for furtherenhancement of ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> Internati<strong>on</strong>al St<strong>and</strong>ard,primarily as a result of advances in the fields ofinformati<strong>on</strong> technologies <strong>and</strong> changes in envir<strong>on</strong>ment[4]. Therefore, the ISO is now working <strong>on</strong> the nextgenerati<strong>on</strong> of <strong>software</strong> <strong>product</strong> <strong>quality</strong> st<strong>and</strong>ards [22],which will be referred to as Software Product QualityRequirements <strong>and</strong> Evaluati<strong>on</strong> (SQuaRE – ISO 25000series). This series of st<strong>and</strong>ards will replace the current


ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> Internati<strong>on</strong>al St<strong>and</strong>ard. However, manyresearches have focused <strong>on</strong> some weaknesses <strong>on</strong> thecurrent ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> <strong>and</strong> even <strong>on</strong> the draft versi<strong>on</strong>s of theupcoming new ISO 25000 series of st<strong>and</strong>ards (SQuaRE)[1, 2].The current versi<strong>on</strong> of the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> c<strong>on</strong>sists ofinventories of proposed <strong>metrics</strong> to measure the <strong>quality</strong>of the internal, external, <strong>and</strong> in-use <strong>software</strong> <strong>product</strong>.However, for each of these <strong>metrics</strong> there is a crossreference<strong>on</strong> where they could be applied (measured)during the ISO 12207 Software Life Cycle Processes<strong>and</strong> activities (SLCP). This paper provides a <str<strong>on</strong>g>mapping</str<strong>on</strong>g><str<strong>on</strong>g>between</str<strong>on</strong>g> these two st<strong>and</strong>ards to highlights theweaknesses of these cross-references <strong>and</strong> proposes away to address them.This paper is organized as follows: secti<strong>on</strong> 2 presentsan overview of the related <strong>software</strong> engineeringst<strong>and</strong>ards, that is, ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> <strong>and</strong> ISO 12207. Secti<strong>on</strong> 3shows a detailed <str<strong>on</strong>g>mapping</str<strong>on</strong>g> of the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> <strong>metrics</strong> towhere they could be measured during the Software LifeCycle Processes (SLCP) provided by ISO 12207.Secti<strong>on</strong> 4 discusses the results of this <str<strong>on</strong>g>mapping</str<strong>on</strong>g>. Finally,Secti<strong>on</strong> 5 c<strong>on</strong>cludes the paper with some comments <strong>and</strong>suggesti<strong>on</strong>s.2. RELATED SOFTWAREENGINEERING ISO STANDARDS2.1 ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>The ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> series of st<strong>and</strong>ards now c<strong>on</strong>sists of <strong>on</strong>eInternati<strong>on</strong>al St<strong>and</strong>ard [12] <strong>and</strong> three Technical Reports[16-18]:1. ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-1: Quality Model [12].2. ISO TR <str<strong>on</strong>g>9126</str<strong>on</strong>g>-2: External Metrics [16].3. ISO TR <str<strong>on</strong>g>9126</str<strong>on</strong>g>-3: Internal Metrics [17].4. ISO TR <str<strong>on</strong>g>9126</str<strong>on</strong>g>-4: Quality in Use Metrics [18].The first document of the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> series – QualityModel – c<strong>on</strong>tains two-parts <strong>quality</strong> model for <strong>software</strong><strong>product</strong> <strong>quality</strong> [12]:1. Internal <strong>and</strong> external <strong>quality</strong> model.2. Quality in use model.The first part of the two-parts <strong>quality</strong> modeldetermines six characteristics in which they aresubdivided into twenty-seven subcharacteristics forinternal <strong>and</strong> external <strong>quality</strong>, as in Figure 1 [12]. Thesesubcharacteristics are a result of internal <strong>software</strong>attributes <strong>and</strong> are noticeable externally when the<strong>software</strong> is used as a part of a computer system. Thesec<strong>on</strong>d part of the two-part model indicates four <strong>quality</strong>in use characteristics, as in Figure 2 [12].External <strong>and</strong> Internal Quality1. Functi<strong>on</strong>ality2. Reliability3. Usability4. Efficiency5. Maintainability6. Portability1.1 Suitability1.2 Accuracy1.3 Interoperability1.4 Security1.5 Functi<strong>on</strong>alityCompliance2.1 Maturity2.2 FaultTolerance2.3 Recoverabilit2.4 ReliabilityCompliance3.1 Underst<strong>and</strong>ability3.2 Learnability3.3 Operability3.4 Attractiveness3.5 UsabilityCompliance4.1 TimeBehavior4.2 ResourceUtilizati<strong>on</strong>4.3 EfficiencyCompliance5.1 Analyzability5.2 Changeability5.3 Stability5.4 Testability5.5 MaintainabilityCompliance6.1 Adaptability6.2 Installability6.3 Co-existence6.4 Replaceability6.5 PortabilityComplianceFigure 1: ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> Quality Model for External <strong>and</strong> Internal Quality (Characteristics <strong>and</strong> Subcharacteristics) [12].Quality in use1. Effectiveness 2. Productivity 3. Safety 4. Satisfacti<strong>on</strong>Figure 2: ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> Quality Model for Quality in Use (characteristics) [12].The sec<strong>on</strong>d, third, <strong>and</strong> fourth documents of the ISO<str<strong>on</strong>g>9126</str<strong>on</strong>g> series provide the following informati<strong>on</strong> [16]:1. Sets of <strong>metrics</strong> for each external <strong>quality</strong> subcharacteristic,internal <strong>quality</strong> subcharacteristic,<strong>and</strong> <strong>quality</strong> in usecharacteristic.2. Explanati<strong>on</strong>s of how to apply <strong>and</strong> use thesesets of <strong>metrics</strong>.3. Examples of how to apply these <strong>metrics</strong>during the <strong>software</strong> <strong>product</strong> lifecycle.2.2 ISO 12207It c<strong>on</strong>sists of processes, activities for each process, <strong>and</strong>tasks for each activity [9, 13]. Figure 3 shows the<strong>software</strong> life cycle processes, the number of activities ineach process, <strong>and</strong> the number of tasks in each process.The full list of the process, activities, <strong>and</strong> tasks can beseen in ISO 12207 <strong>and</strong> IEEE/EIA 12207 (the IEEE/EIA12207 is the IEEE versi<strong>on</strong> of the ISO 12207).


The ISO 12207 <strong>software</strong> life cycle processes aregrouped into three broad classes: primary; supporting;<strong>and</strong> organizati<strong>on</strong>al. Primary processes are the primemovers in the life cycle; they are acquisiti<strong>on</strong>, supply,development, operati<strong>on</strong>, <strong>and</strong> maintenance. Supportingprocesses are documentati<strong>on</strong>, c<strong>on</strong>figurati<strong>on</strong>management, <strong>quality</strong> assurance, joint review, audit,verificati<strong>on</strong>, validati<strong>on</strong>, <strong>and</strong> problem resoluti<strong>on</strong>. Asupporting process supports another process inperforming a specialized functi<strong>on</strong>. Organizati<strong>on</strong>alprocesses are management, infrastructure,improvement, <strong>and</strong> training. An organizati<strong>on</strong> mayemploy an organizati<strong>on</strong>al process to establish, c<strong>on</strong>trol,<strong>and</strong> improve a life cycle process.Groups5.PrimaryProcesses6.SupportingProcesses7.Organizati<strong>on</strong>alProcessesProcesses5.1 Acquisiti<strong>on</strong>5.2 Supply5.3 Development5.4 Operati<strong>on</strong>5.5 Maintenance6.1 Documentati<strong>on</strong>6.2 C<strong>on</strong>figurati<strong>on</strong> Management6.3 Quality Assurance6.4 Verificati<strong>on</strong>6.5 Validati<strong>on</strong>6.6 Joint Review6.7 Audit6.8 Problem Resoluti<strong>on</strong>7.1 Management7.2 Infrastructure7.3 Improvement7.4 TrainingNumber ofActivities5Number ofTasks237 2413 554 96 244 76 64 162 132 103 82 82 25 123 53 63 4Figure 3: ISO 12207 Software Life Cycle Processes, Activities, <strong>and</strong> Tasks.3. MAPPING BETWEEN ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>AND ISO 12207For each metric of the internal, external, <strong>and</strong> in-use<strong>metrics</strong>, the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> parts 2, 3, <strong>and</strong> 4 provides thefollowing informati<strong>on</strong>:• Metric name.• Purpose of the metric.• Method of applicati<strong>on</strong>.• Measurement formula.• Interpretati<strong>on</strong> of Measured value.• Metric scale type.• Measure type.• Input to measurement.• ISO 12207 SLCP Reference.• Target audience.Within the following subsecti<strong>on</strong>s, detailed <str<strong>on</strong>g>mapping</str<strong>on</strong>g>s<str<strong>on</strong>g>between</str<strong>on</strong>g> the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> <strong>quality</strong> <strong>metrics</strong> of the Internal,external, <strong>and</strong> in-use <strong>software</strong> <strong>product</strong> <strong>and</strong> the ISO12207 <strong>software</strong> life cycle processes <strong>and</strong> activities willbe provided. In more details, this <str<strong>on</strong>g>mapping</str<strong>on</strong>g> will focus <strong>on</strong>an investigati<strong>on</strong> of the “ISO 12207 Software Life CycleProcesses (SLCP) References” provided by ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>for each of its <strong>metrics</strong>.3.1 INTERNAL QUALITY METRICSWithin the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-3 <strong>on</strong> <strong>software</strong> <strong>product</strong> internal<strong>quality</strong> <strong>metrics</strong>, there is 70 <strong>metrics</strong>. These <strong>metrics</strong> canbe applied during the <strong>software</strong> life cycle. Internal<strong>quality</strong> defined in ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-1 as the totality ofcharacteristics of the <strong>software</strong> <strong>product</strong> from an internalview. Internal <strong>quality</strong> is measured <strong>and</strong> evaluated againstthe internal <strong>quality</strong> requirements. Details of <strong>software</strong><strong>product</strong> <strong>quality</strong> can be improved during codeimplementati<strong>on</strong>, reviewing <strong>and</strong> testing, but thefundamental nature of the <strong>software</strong> <strong>product</strong> <strong>quality</strong>represented by internal <strong>quality</strong> remains unchangedunless redesigned [12].Figure 4 shows the number of internal <strong>quality</strong><strong>metrics</strong> which can be applied (measured) during each of


the ISO 12207 <strong>software</strong> life cycle processes. Forexample, within the “verificati<strong>on</strong> process” (of the“supporting processes”) 59 <strong>metrics</strong> can be applied(measured). As an example, Appendix A shows adetailed structure of the <strong>software</strong> <strong>product</strong> internal<strong>quality</strong> <strong>metrics</strong>’ names <strong>and</strong> where they can be measuredduring the <strong>software</strong> life cycle processes or activitiesal<strong>on</strong>g with the corresp<strong>on</strong>ding characteristic <strong>and</strong>subcharacteristic for each of those <strong>metrics</strong>. In thisappendix, <strong>on</strong>ly the <strong>software</strong> life processes/activitieswhich have internal <strong>quality</strong> <strong>metrics</strong> are menti<strong>on</strong>ed.However, from Figure 4 we can note that there is no<strong>metrics</strong> which could be measured during 4 out of 5primary life cycle processes. This means that there is noany metric from ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> external <strong>quality</strong> <strong>metrics</strong>could be useful during the acquisiti<strong>on</strong>, supply,operati<strong>on</strong>, <strong>and</strong> maintenance primary life cycleprocesses. Moreover, there is no <strong>metrics</strong> which could bemeasured during 3 out of 8 of the supporting life cycleprocesses; that is, documentati<strong>on</strong>, c<strong>on</strong>figurati<strong>on</strong>management, <strong>and</strong> audit processes.5. Primary Life Cycle Processes 6. Supporting Life Cycle Processes5.1 Acquisiti<strong>on</strong> (0 Metric)6.1 Documentati<strong>on</strong> (0 Metric)5.2 Supply (0 Metric)6.2 C<strong>on</strong>figurati<strong>on</strong> Management (0 Metric)5.3 Development6.3 Quality Assurance (2 Metrics)(1 Metric in Software Qualificati<strong>on</strong>6.4 Verificati<strong>on</strong> (59 Metrics)Testing activity)6.5 Validati<strong>on</strong> (13 Metrics)5.4 Operati<strong>on</strong> (0 Metric)6.6 Joint review (59 Metrics)5.5 Maintenance (0 Metric)6.7 Audit (0 Metric)6.8 Problem Resoluti<strong>on</strong> (4 Metrics)Figure 4: The ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-3 Internal Quality Metrics <strong>and</strong> where they could be measured in the SLCP.3.2 EXTERNAL QUALITY METRICSWithin the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-2 <strong>on</strong> <strong>software</strong> <strong>product</strong> external<strong>quality</strong> <strong>metrics</strong>, there is 110 <strong>metrics</strong>. These <strong>metrics</strong> canbe applied during the <strong>software</strong> life cycle. External<strong>quality</strong> defined in ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-1 as the totality ofcharacteristics of the <strong>software</strong> <strong>product</strong> from an externalview. It is the <strong>quality</strong> when the <strong>software</strong> is executed,which is typically measured <strong>and</strong> evaluated while testingin a simulated envir<strong>on</strong>ment with simulated data usingexternal <strong>metrics</strong>. During testing, most faults should bediscovered <strong>and</strong> eliminated. However, some faults maystill remain after testing. As it is difficult to correct the<strong>software</strong> architecture or other fundamental designaspects of the <strong>software</strong>, the fundamental design usuallyremains unchanged throughout testing [12].Figure 5 shows the number of external <strong>quality</strong><strong>metrics</strong> which can be applied (measured) during each ofthe ISO 12207 <strong>software</strong> life cycle processes. Forexample, within the “operati<strong>on</strong> process” of the “primaryprocesses”, 93 <strong>metrics</strong> can be applied (measured).5. Primary Life Cycle Processes 6. Supporting Life Cycle Processes5.1 Acquisiti<strong>on</strong> (0 Metric)6.1 Documentati<strong>on</strong> (0 Metric)5.2 Supply (0 Metric)6.2 C<strong>on</strong>figurati<strong>on</strong> Management5.3 Development(0 Metric)(7 Metrics in Software Integrati<strong>on</strong> activity)6.3 Quality Assurance (14 Metrics)(100 Metric in Software Qualificati<strong>on</strong> Testing activity)6.4 Verificati<strong>on</strong> (0 Metrics)(7 Metrics in System Integrati<strong>on</strong> activity)6.5 Validati<strong>on</strong> (47 Metrics)5.4 Operati<strong>on</strong> (93 Metric)6.6 Joint review (0 Metric)5.5 Maintenance (48 Metric)6.7 Audit (0 Metric)6.8 Problem Resoluti<strong>on</strong> (1 Metric)Figure 5: The ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-2 External Quality Metrics <strong>and</strong> where they could be measured in the SLCP.3.3 QUALITY IN USE METRICSWithin the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-2 <strong>on</strong> <strong>software</strong> <strong>product</strong> <strong>quality</strong> inuse <strong>metrics</strong>, there is 15 <strong>metrics</strong>. These the 15 <strong>metrics</strong>can be applied during the <strong>software</strong> life cycle. Quality inUse defined in ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-1 as the user’s view of the<strong>quality</strong> of the <strong>software</strong> <strong>product</strong> when it is used in aspecific envir<strong>on</strong>ment <strong>and</strong> a specific c<strong>on</strong>text of use. Itmeasures the extent to which users can achieve theirgoals in a particular envir<strong>on</strong>ment, rather than measuringthe properties of the <strong>software</strong> itself. The term ‘user’


efers to any type of intended users, including bothoperators <strong>and</strong> maintainers, <strong>and</strong> their requirements canbe different. [12].Figure 6 shows the number of <strong>quality</strong> in use <strong>metrics</strong>which can be applied (measured) during each of the ISO12207 <strong>software</strong> life cycle processes. For example,during the “<strong>software</strong> qualificati<strong>on</strong> testing” activity ofthe “development process” of the “primary processes”,12 <strong>metrics</strong> can be applied (measured).5. Primary Life Cycle Processes 6. Supporting Life Cycle Processes5.1 Acquisiti<strong>on</strong> (0 Metric)6.1 Documentati<strong>on</strong> (0 Metric)5.2 Supply (0 Metric)5.3 Development(12 Metric in Software Qualificati<strong>on</strong> Testing activity)5.4 Operati<strong>on</strong> (15 Metric)5.5 Maintenance (0 Metric)6.8 Problem Resoluti<strong>on</strong> (0 Metrics)6.2 C<strong>on</strong>figurati<strong>on</strong> Management(0 Metric)6.3 Quality Assurance (0 Metrics)6.4 Verificati<strong>on</strong> (0 Metrics)6.5 Validati<strong>on</strong> (11 Metrics)6.6 Joint review (0 Metrics)6.7 Audit (0 Metric)Figure 6: The ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-4 Quality in Use Metrics <strong>and</strong> where they could be measured in the SLCP.4. DISCUSSION OF THE MAPPINGIn ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-3, there are some external <strong>quality</strong> <strong>metrics</strong> –as in Table 1 - which have been referred to be appliedduring the “integrati<strong>on</strong>” activity of the “developmentprocess” of the “primary processes”. But, within the“development” process, there are two activities relatedto the “integrati<strong>on</strong>”, that is, “system integrati<strong>on</strong>” <strong>and</strong>“<strong>software</strong> integrati<strong>on</strong>”. However, this document (ISO<str<strong>on</strong>g>9126</str<strong>on</strong>g>-3) did not specify during which “integrati<strong>on</strong>”activity those <strong>metrics</strong> can be applied (measured).Table 1: Some External Quality Metrics.1- Estimated latent fault 2- Incorrect operati<strong>on</strong>densityavoidance3- Failure density 4- Availabilityagainst test cases5- Failure resoluti<strong>on</strong> 6- Mean down time7- Fault density 8- Mean recovery time9- Fault removal 10- Restartability11- Mean time <str<strong>on</strong>g>between</str<strong>on</strong>g>failures (MTBF)12- User supportfuncti<strong>on</strong>al c<strong>on</strong>sistency13- Breakdown 14- Restore effectiveness15- Failure avoidance 16- RestorabilityIt is clearly noted that through the ISO 12207“organizati<strong>on</strong>al processes” n<strong>on</strong>e of the 195 <strong>quality</strong><strong>metrics</strong> - found in ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> series of internati<strong>on</strong>alst<strong>and</strong>ards - can be applied (measured).As menti<strong>on</strong>ed in ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-1, the <strong>quality</strong> in use<strong>metrics</strong> should be measured during the executi<strong>on</strong> of the<strong>software</strong> <strong>product</strong> in an actual working envir<strong>on</strong>ment.However, in Figure 6 we can see that there is 12 <strong>metrics</strong>which could be measured through the “<strong>software</strong>qualificati<strong>on</strong> testing” activity. But since ISO 12207menti<strong>on</strong>ed that the “<strong>software</strong> qualificati<strong>on</strong> testing”activity is a part of the “development process” Thus, it’sstrange <strong>and</strong> make no sense to measure the 12 <strong>metrics</strong>The “joint review process” of the “supportingprocesses” c<strong>on</strong>sists of three activities; <strong>on</strong>e of theseactivities is the “technical reviews” activity. The“technical reviews” activity c<strong>on</strong>tains <strong>on</strong>e task that is,“Technical reviews shall be held to evaluate the<strong>software</strong> <strong>product</strong>s or services under c<strong>on</strong>siderati<strong>on</strong> <strong>and</strong>provide evidence that: a) they are complete . . . ” [9].Now, if we go back to Figure 4, we will find that thereis 59 internal <strong>quality</strong> <strong>metrics</strong> that could be measuredduring the “joint review” process. Whereas, fromFigures 5 <strong>and</strong> 6, it is seen that there is no any external<strong>quality</strong> or <strong>quality</strong> in use <strong>metrics</strong> that can be appliedduring “joint review” process.5. CONCLUSIONThe current editi<strong>on</strong> of the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> c<strong>on</strong>sists ofinventories of proposed <strong>metrics</strong> to measure the <strong>quality</strong>of the internal, external, <strong>and</strong> in-use <strong>software</strong> <strong>product</strong>.However, for each of these <strong>metrics</strong> there is a crossreference<strong>on</strong> where it could be applied (measured)during the ISO 12207 <strong>software</strong> life cycle processes <strong>and</strong>activities. This paper provided a <str<strong>on</strong>g>mapping</str<strong>on</strong>g> <str<strong>on</strong>g>between</str<strong>on</strong>g> thosetwo st<strong>and</strong>ards to investigate the cross-references<str<strong>on</strong>g>between</str<strong>on</strong>g> them. Based <strong>on</strong> this <str<strong>on</strong>g>mapping</str<strong>on</strong>g>, the followingcomments <strong>and</strong> suggesti<strong>on</strong>s for the upcoming new ISO25000 series of st<strong>and</strong>ards (SQuaRE) can be c<strong>on</strong>cluded:- There is no any metric can be measured duringthe “organizati<strong>on</strong>al processes”.- A number of external <strong>quality</strong> <strong>metrics</strong> wherementi<strong>on</strong>ed in ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-2 to be measured duringthe “integrati<strong>on</strong>” activity. However, within theISO 12207 there are two activities labeled“system integrati<strong>on</strong>” <strong>and</strong> “<strong>software</strong> integrati<strong>on</strong>”.This will make the user of the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>c<strong>on</strong>fused.


- Many of the ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> <strong>quality</strong> <strong>metrics</strong> referred toprocesses. However, as known, each process inISO 12207 c<strong>on</strong>tains a number of differentactivities. Thus, it is more usable for the ISO<str<strong>on</strong>g>9126</str<strong>on</strong>g> users to refer to the activities of the ISO12207. This can be d<strong>on</strong>e using cross-referencenumbers from ISO 12207. For example, thecross-reference number 5.3.9 is referring to“primary processes”, “development process”, <strong>and</strong>“<strong>software</strong> qualificati<strong>on</strong> testing” activity,respectively.In additi<strong>on</strong> to the <str<strong>on</strong>g>mapping</str<strong>on</strong>g> in this paper, it is a goodidea to investigate where to collect the data for each ofthe ISO <str<strong>on</strong>g>9126</str<strong>on</strong>g> <strong>quality</strong> <strong>metrics</strong> in the ISO 12207 <strong>software</strong>life cycle processes <strong>and</strong> activities. This will save time<strong>and</strong> assure that the data have been completely collectedbefore the measurement of the <strong>metrics</strong> is performed.REFERENCES[1] Abran, A., Al-Qutaish, R. E., <strong>and</strong> Desharnais, J.M., "Harm<strong>on</strong>izati<strong>on</strong> Issues in the Updating of theISO St<strong>and</strong>ards <strong>on</strong> Software Product Quality,"Metrics News Journal, Vol. 10, No. 2, pp. 35-44,2005.[2] Abran, A., Al-Qutaish, R. E., Desharnais, J. M.,<strong>and</strong> Habra, N., "An Informati<strong>on</strong> Model forSoftware Quality Measurement with ISOSt<strong>and</strong>ards," in Proceedings of the Internati<strong>on</strong>alC<strong>on</strong>ference <strong>on</strong> Software Development (SWDC-REK'05), Reykjavik, Icel<strong>and</strong>, pp. 104-116, 2005.[3] Albrecht, A. J., "Measuring Applicati<strong>on</strong>Development Productivity," in Proceedings of theIBM Applicati<strong>on</strong> Development JointSHARE/GUIDE Symposium, M<strong>on</strong>etary,California, pp. 83-92, 1979.[4] Azuma, M., "SQuaRE: The next Generati<strong>on</strong> ofISO/IEC <str<strong>on</strong>g>9126</str<strong>on</strong>g> <strong>and</strong> 14598 Internati<strong>on</strong>al St<strong>and</strong>ardsSeries <strong>on</strong> Software Product Quality," inProceedings of the European Software C<strong>on</strong>trol<strong>and</strong> Metrics C<strong>on</strong>ference (ESCOM), L<strong>on</strong>d<strong>on</strong>, UK,pp. 337-346, 2001.[5] DeMarco, T., C<strong>on</strong>trolling System Projects,McGraw-Hill, New York, USA, 1982.[6] Fent<strong>on</strong>, N. E. <strong>and</strong> Pfleeger, S. L., SoftwareMetrics: A Rigorous <strong>and</strong> Practical Approach, 2 nded., PWS Publishing Company, Bost<strong>on</strong>, USA,1997.[7] Halstead, M. H., Elements of Software Science,Elsevier North-Holl<strong>and</strong>, New York, 1977.[8] Halstead, M. H., "Natural Laws C<strong>on</strong>trollingAlgorithm Structure," ACM SIGPLAN Notices,Vol. 7, No. 2, pp. 19-26, 1972.[9] IEEE, IIEEE/EIA-12207: Informati<strong>on</strong> Technology– Software Life Cycle Processes, the Institute ofElectrical <strong>and</strong> Electr<strong>on</strong>ics Engineers, New York,USA, 1996.[10] IEEE, Std. 610.12-1990: St<strong>and</strong>ard Glossary ofSoftware Engineering Terminology, the Instituteof Electrical <strong>and</strong> Electr<strong>on</strong>ics Engineers, NewYork, USA, 1990.[11] Ince, D. S., Sharp, H., <strong>and</strong> Woodman, M.,Introducti<strong>on</strong> to Software Project Management <strong>and</strong>Quality Assurance, McGraw-Hill, New York,USA, 1993.[12] ISO/IEC, ISO/IEC <str<strong>on</strong>g>9126</str<strong>on</strong>g>-1: Software Engineering- Product Quality - Part 1: Quality Model,Internati<strong>on</strong>al Organizati<strong>on</strong> for St<strong>and</strong>ardizati<strong>on</strong>,Geneva, Switzerl<strong>and</strong>, 2001.[13] ISO/IEC, ISO/IEC 12207: Informati<strong>on</strong>Technology - Software life cycle processes,Internati<strong>on</strong>al Organizati<strong>on</strong> for St<strong>and</strong>ardizati<strong>on</strong>,Geneva, Switzerl<strong>and</strong>, 1995.[14] ISO/IEC, ISO/IEC IS <str<strong>on</strong>g>9126</str<strong>on</strong>g>, Software ProductEvaluati<strong>on</strong> - Quality Characteristics <strong>and</strong>Guidelines for Their Use, Internati<strong>on</strong>alOrganizati<strong>on</strong> for St<strong>and</strong>ardizati<strong>on</strong>, Geneva,Switzerl<strong>and</strong>, 1991.[15] ISO/IEC, ISO/IEC IS 15939: SoftwareEngineering - Software Measurement Process,Internati<strong>on</strong>al Organizati<strong>on</strong> for St<strong>and</strong>ardizati<strong>on</strong>,Geneva, Switzerl<strong>and</strong>, 2002.[16] ISO/IEC, ISO/IEC TR <str<strong>on</strong>g>9126</str<strong>on</strong>g>-2: SoftwareEngineering - Product Quality - Part 2: ExternalMetrics, Internati<strong>on</strong>al Organizati<strong>on</strong> forSt<strong>and</strong>ardizati<strong>on</strong>, Geneva, Switzerl<strong>and</strong>, 2003.[17] ISO/IEC, ISO/IEC TR <str<strong>on</strong>g>9126</str<strong>on</strong>g>-3: SoftwareEngineering - Product Quality - Part 3: InternalMetrics, Internati<strong>on</strong>al Organizati<strong>on</strong> forSt<strong>and</strong>ardizati<strong>on</strong>, Geneva, Switzerl<strong>and</strong>, 2003.[18] ISO/IEC, ISO/IEC TR <str<strong>on</strong>g>9126</str<strong>on</strong>g>-4: SoftwareEngineering - Product Quality - Part 4: Quality inUse Metrics, Internati<strong>on</strong>al Organizati<strong>on</strong> forSt<strong>and</strong>ardizati<strong>on</strong>, Geneva, Switzerl<strong>and</strong>, 2004.[19] McCabe, T. J., "A Complexity Measure," IEEETransacti<strong>on</strong> <strong>on</strong> Software Engineering, vol. 2, No.4, pp. 308-320, 1976.[20] Pressman, R. S., Software Engineering: APractiti<strong>on</strong>er's Approach, 3 rd ed., McGraw-Hill,New York, USA, 1992.[21] Roberts, F. S., Measurement Theory, withApplicati<strong>on</strong>s to Decisi<strong>on</strong> Making, Utility, <strong>and</strong> theSocial Sciences, Add<str<strong>on</strong>g>iso</str<strong>on</strong>g>n Wesley, New York,USA, 1979.[22] Suryn, W., Abran, A., <strong>and</strong> April, A., "ISO/IECSQuaRE: The Sec<strong>on</strong>d Generati<strong>on</strong> of St<strong>and</strong>ards forSoftware Product Quality," in Proceedings of the7 th IASTED Internati<strong>on</strong>al C<strong>on</strong>ference <strong>on</strong> SoftwareEngineering <strong>and</strong> Applicati<strong>on</strong>s, California, USA,2003.


APPENDIX AISO <str<strong>on</strong>g>9126</str<strong>on</strong>g>-3 INTERNAL QUALITY METRICS AND WHERE THEY COULD BE APPLIED(MEASURED) IN ISO 12207 PROCESSES AND ACTIVITIES5-Primary Processes:5.3 Development:9) Software qualificati<strong>on</strong> testing:1. Functi<strong>on</strong>al specificati<strong>on</strong> stability (1.1 2 )5.4 Operati<strong>on</strong>:1. Functi<strong>on</strong>al specificati<strong>on</strong> stability (1.1)6-Supporting Processes:6.3 Quality Assurance:1. Functi<strong>on</strong>al specificati<strong>on</strong> stability (1.1)2. Test adequacy (2.1)6.4 Verificati<strong>on</strong>:1. Computati<strong>on</strong>al accuracy (1.2)2. Precisi<strong>on</strong> (1.2)3. Data exchangeability (data format based) (1.3)4. Interface c<strong>on</strong>sistency (protocol) (1.3)5. Functi<strong>on</strong>al Compliance (1.5)6. Intersystem st<strong>and</strong>ard compliance (1.4)7. Fault detecti<strong>on</strong> (2.1)8. Fault removal (2.1)9. Test adequacy (2.1)10. Failure avoidance (2.2)11. Incorrect operati<strong>on</strong> avoidance (2.2)12. Restorability (2.3)13. Restorati<strong>on</strong> Effectiveness (2.3)14. Reliability Compliance (2.4)15. Completeness of descripti<strong>on</strong> (3.1)16. Dem<strong>on</strong>strati<strong>on</strong> capability (3.1)17. Evident functi<strong>on</strong>s (3.1)18. Functi<strong>on</strong> underst<strong>and</strong>ability (4.1)19. Completeness of user documentati<strong>on</strong> <strong>and</strong>/orhelp facility (3.2)20. Input validity checking (3.3)21. User operati<strong>on</strong> cancellability (3.3)22. User operati<strong>on</strong> Undoability (3.3)23. Customizability (3.3)24. Physical accessibility (3.3)25. Operati<strong>on</strong> status m<strong>on</strong>itoring capability (3.3)26. Operati<strong>on</strong>al c<strong>on</strong>sistency (3.3)27. Message Clarity (3.3)28. Interface element clarity (3.3)29. Operati<strong>on</strong>al error recoverability (3.3)30. Attractive interacti<strong>on</strong> (3.4)6.5 Validati<strong>on</strong>:1. Functi<strong>on</strong>al adequacy (1.1)2. Functi<strong>on</strong>al implementati<strong>on</strong> completeness (1.1)3. Functi<strong>on</strong>al implementati<strong>on</strong> coverage (1.1)4. Functi<strong>on</strong>al specificati<strong>on</strong> stability (1.1)5. Access auditability (1.4)6. Access c<strong>on</strong>trollability (1.4)7. Data corrupti<strong>on</strong> preventi<strong>on</strong> (1.4)31. User Interface appearance customizability (3.4)32. Usability Compliance (3.5)33. Resp<strong>on</strong>se time (4.1)34. Throughput time (4.1)35. Turnaround time (4.1)36. I/O Utilizati<strong>on</strong> (4.2)37. I/O Utilizati<strong>on</strong> Message Density (4.2)38. Memory utilizati<strong>on</strong> (4.2)39. Memory utilizati<strong>on</strong> message density (4.2)40. Transmissi<strong>on</strong> Utilizati<strong>on</strong> (4.2)41. Efficiency Compliance (4.3)42. Activity recording (5.1)43. Readiness of diagnostic functi<strong>on</strong> (5.1)44. Change recordability (5.2)45. Change impact (5.3)46. Modificati<strong>on</strong> impact localizati<strong>on</strong> (5.3)47. Completeness of built-in test (5.4)48. Aut<strong>on</strong>omy of testability (5.4)49. Test progress observability (5.4)50. Maintainability Compliance (5.5)51. Adaptability of data structures (6.1)52. Organizati<strong>on</strong>al Envir<strong>on</strong>ment adaptability (6.1)53. Hardware Envir<strong>on</strong>mental Adaptability (H/W,network) (6.1)54. System <strong>software</strong> Envir<strong>on</strong>mental adaptability (OS,c<strong>on</strong>current applicati<strong>on</strong>) (6.1)55. Porting User Friendliness (6.1)56. C<strong>on</strong>tinued use of Data (6.3)57. Functi<strong>on</strong>al inclusiveness (6.3)58. Available co-existence (6.4)59. Portability Compliance (6.5)8. Data encrypti<strong>on</strong> (1.4)9. Failure avoidance (2.2)10. Incorrect operati<strong>on</strong> avoidance (2.2)11. Ease of setup retry (6.2)12. Installati<strong>on</strong> effort (6.2)13. Installati<strong>on</strong> flexibility (6.2)2 This number refers to the characteristic-number.subcharacteristic-number which can be taken from Figure 1. Forexample, the number 1.1 refers to the “Functi<strong>on</strong>ality” characteristic <strong>and</strong> “Suitability” subcharacteristic which meansthat this metric (Functi<strong>on</strong>al specificati<strong>on</strong> stability) is used to measure the “Suitability” subcharacteristic in which it is apart of the “Functi<strong>on</strong>ality” of any <strong>software</strong> <strong>product</strong>, this <strong>metrics</strong> could be measured during the “Software qualificati<strong>on</strong>testing” activity of the “development” process. Throughout these Appendices, the Software Quality Metrics nameshave been written in italic f<strong>on</strong>ts.


6.6 Joint Review:1. Functi<strong>on</strong>al adequacy (1.1)2. Functi<strong>on</strong>al implementati<strong>on</strong> completeness (1.1)3. Functi<strong>on</strong>al implementati<strong>on</strong> coverage (1.1)4. Computati<strong>on</strong>al accuracy (1.2)5. Precisi<strong>on</strong> (1.2)6. Data exchangeability (data format based) (1.3)7. Interface c<strong>on</strong>sistency (protocol) (1.3)8. Access auditability (1.4)9. Access c<strong>on</strong>trollability (1.4)10. Data corrupti<strong>on</strong> preventi<strong>on</strong> (1.4)11. Functi<strong>on</strong>al Compliance (1.4)12. Intersystem st<strong>and</strong>ard compliance (1.4)13. Fault detecti<strong>on</strong> (2.1)14. Fault removal (2.1)15. Failure avoidance (2.2)16. Incorrect operati<strong>on</strong> avoidance (2.2)17. Restorability (2.3)18. Restorati<strong>on</strong> Effectiveness (2.3)19. Reliability Compliance (2.4)20. Completeness of descripti<strong>on</strong> (3.1)21. Dem<strong>on</strong>strati<strong>on</strong> capability (3.1)22. Evident functi<strong>on</strong>s (3.1)23. Functi<strong>on</strong> underst<strong>and</strong>ability (3.1)24. Completeness of user documentati<strong>on</strong> <strong>and</strong>/orhelp facility (3.2)25. Input validity checking (3.3)26. User operati<strong>on</strong> cancellability (3.3)27. User operati<strong>on</strong> Undoability (3.3)28. Customizability (3.3)29. Physical accessibility (3.3)30. Operati<strong>on</strong> status m<strong>on</strong>itoring capability (3.3)6.8 Problem Resoluti<strong>on</strong>:1. Functi<strong>on</strong>al specificati<strong>on</strong> stability (1.1)2. Test adequacy (2.1)31. Operati<strong>on</strong>al c<strong>on</strong>sistency (3.3)32. Message Clarity (3.3)33. Interface element clarity (3.3)34. Operati<strong>on</strong>al error recoverability (3.3)35. Attractive interacti<strong>on</strong> (3.4)36. User Interface appearance customizability (3.4)37. Usability Compliance (3.5)38. Resp<strong>on</strong>se time (4.1)39. Throughput time (4.1)40. Turnaround time (4.1)41. Efficiency Compliance (4.3)42. Activity recording (5.1)43. Readiness of diagnostic functi<strong>on</strong> (5.1)44. Change recordability (5.2)45. Change impact (5.3)46. Modificati<strong>on</strong> impact localizati<strong>on</strong> (5.3)47. Completeness of built-in test (5.4)48. Aut<strong>on</strong>omy of testability (5.4)49. Test progress observability (5.4)50. Maintainability Compliance (5.5)51. Adaptability of data structures (6.1)52. Organizati<strong>on</strong>al Envir<strong>on</strong>ment adaptability (6.1)53. Hardware Envir<strong>on</strong>mental Adaptability (H/W,network) (6.1)54. System <strong>software</strong> Envir<strong>on</strong>mental adaptability (OS,c<strong>on</strong>current applicati<strong>on</strong>) (6.1)55. Porting User Friendliness (6.1)56. C<strong>on</strong>tinued use of Data (6.3)57. Functi<strong>on</strong>al inclusiveness (6.3)58. Available co-existence (6.4)59. Portability Compliance (6.5)3. Failure avoidance (2.2)4. Incorrect operati<strong>on</strong> avoidance (2.2)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!