Professional Documents
Culture Documents
ORG
97
1 INTRODUCTION
bjectorientedsoftwaredevelopmentisanemerging wayofthinkingaboutsoftwarebasedonabstraction of objects that exist in the real world domain. The various concepts like Usability, Reusability, Testability, Understandability, Complexity, Productivity, Reliability, ExtensibilityMaintainabilityandFlexibilityetc.arecorre latedwithobjectorientedfeaturesthatenhancethequali ty of software system. This is gaining a lot of attention from the software development community as it reduces thesizeofsystemandlogicalconstructs.ObjectOriented (OO) approach promotes better designing software de velopment environment and views software system as a setofinteractiveobjects. Inspite of wide applicability of OO design in software developmentenvironment,feweffortshavebeenmadein thecontextofjudgingthequalityofOOsoftwaresystem aswellasproposalofOOqualitymodel.Softwarequality is considered as a very important aspect for developers, usersandprojectmanagers.Itisafieldofstudyandprac tice that describes the desirable attributes of software products. If a product is meeting user requirements, a feelingofsatisfactionmayemergeandthissatisfactionis nothingbutthesatisfactionforquality. This paper proposes a new Model for Object Oriented Software QUAlity (MOOSQUA) derived from ISO/IEC 9126I [17] and uses Analytical Hierarchy Process (AHP) technique to evaluate the proposed quality model. This techniqueisbeneficialasitprovidesastructuredaswell assimplesolutionfordecisionmakingproblemsandhas beenextensivelyadoptedinmulticriteriadecisionmak
2 SOFTWARE QUALITY
Software quality is the extent to which an industry defined set of desirable features are incorporated into a product so as to enhance its lifetime performance [33]. Softwarequalityisdefinedasconfirmingwithexplicitly statedfunctionalandperformancerequirements,explicit lydocumenteddevelopmentstandardsandimplicitchar acteristicsthatareexpectedofallprofessionaldeveloped software [38]. Schulmeyer and McManus [12] defined software quality as all functions and characteristics of a software product that satisfy consumer needs. Software quality in business context refers to two related but dis tinct notion i.e. software functional quality and software structuralquality[37].DeutschandWills[29]categorized software quality as software procedure quality (tools, technology, equipment, personnel and organization) and softwareproductquality(organization,documentclarity, design traceability, integrity, test integrity and program reliability). Theevaluationofsoftwaresystemqualitydependsupon variousfactorslikequalitymodelandqualitycharacteris tics.Aqualitymodelisusuallydefinedasastructuredset of properties that are needed for an object of a class to meetdefinedpurposes[30].Itisalsodefinedasasetof characteristics and relationships between them which actuallyprovidethebasisforspecifyingtherequirements ofqualityandevaluatingquality[19].Thebenefitofqual ity model is given by decomposition of valuable object likeprocess,productororganizationinthelistofitschar acteristics/subcharacteristics measures. It is applicable
Sanjay Kumar Dubey is with Amity University, Noida, India, 201303. Abhishek Jain is with Amity University, Noida, India, 201303. Prof. (Dr.) Ajay Rana is with Amity University, Noida, India, 201303.
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
98
forpredicting,assuringandverifyingtheachievementof adefinedgoal.Quality,apartfromdescribingand meas uringthefunctionalaspectsofsoftwarealsodescribes theextrafunctionalpropertiessuchashowsystemisbuilt andhowitperforms.Therearenumberofqualitymodels proposed in software engineering literature, each one of thesequalitymodelsconsistsofseveralqualitycharacter istics(orfactors,ascalledinsome models).Thesequality characteristics could be used to reflect the quality of the softwareproduct.Thevariousqualitymodelsaredefined infollowingsubsections:
TABLE 1 RELATIONSHIP BETWEEN MCCALL QUALITY CHARACTERISTICS AND METRICS Software Quality Metric Quality Factors Auditability Accuracy Communi cation commonali ty Complete ness Conciseness Consistency Data com monality Error toler ance Execution efficiency Expandabil ity Generality Hardware independ ence Instrumen tation Modularity Operability Security Self docu mentation Simplicity Software system in dependence Traceability Training requirements. Correctness Reliability Efficiency Integrity Maintainability Flexibility Testability Portability Reusability Interoperability Usability X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
99
9126I model. This model fails to perform evaluation of qualityofsystem. 2.5 ISO/IEC-9126 Model J. Bansiya et al. [24] proposed a hierarchical Quality ISO/IEC 9126I [17] comprises six characteristics and Model for ObjectOriented Design (QMOOD) which ex twenty seven subcharacteristics of software product tendsDromeysqualitymodelmethodologyandinvolves quality.Thisqualitymodelhastwomainpartsconsisting fourlevelsasidentifyingdesignqualityattributes,identi ofInternalandExternalQualityCharacteristicsandQual fying objectoriented design properties, identifying ob ityinUseCharacteristics.TheInternalqualitycharacteris jectoriented design metrics and identifying object tics refers to the properties of the system that can be orienteddesignproperties evaluated without executing it while External quality The quality model by R. Kazman et al. [34] divided the characteristicsreferstothesystempropertiesthatmaybe qualitycharacteristicsintotwoobservablegroupsduring evaluated by observing the system during its execution. the time of performance and show during the Software The quality in use characteristics refers to the properties existence cycle. The two groups have suggested qualita ofthesystemthatareexperiencedbytheusersofthesys tivecharacteristicsinthefollowingorder: tem when the system is in operable condition and also (i)Efficiency,Security,Availability,Function. (ii) Modifiability, Portability, Reusability, Inheritability TABLE 2 ISO/IEC-9126-I MODEL andTestability. AqualitymodelbyK.Khosravietal.[26]processconsists Quality Characteristics Sub of two tasks viz. selection of a supercharacteristic and Type Characteristics selection and organization of characteristics related to Functionality Suitability super characteristic. This quality model is constructed Accuracy based on Software Reusability as supercharacteristics Interoperability andfocusesonReusability,Understandability,Flexibility, Security Modularity, Robustness, Scalability, and Usability. This Compliance quality model evaluates software quality related to soft Efficiency TimeBehaviour ware maintenance based on design patterns. Design pat Resource ternswereusedtobuildgooddesignorarchitectures. Behaviour A. Rawashdeh et al. [2] also derived a model from Portability Replaceability ISO/IEC 9126I [17]. They added compatibility sub Adaptability characteristic under the Functionality characteristic and Installability Complexity under Usability. They removed Stability and Software CoExistence Analyzability from Maintainability characteristic. This Product Maintainability Analyzability model also fails to perform the evaluation of quality of Quality Changeability system. Testability In order to evaluate software quality by means of inte Stability grating the fuzzy theory and AHP (Analytic Hierarchy Usability Understandabil Process)theguidelineswereprovidedbyC.Changetal. ity [7]andthisqualityassessmentapproachwasappliedon ISO/IEC 9126I [17] quality model. The software quality Learnability evaluations were based on the same characteristics and Operability subcharacteristicsofISO/IEC9126Imodel. Attractiveness Acomponentbasedsoftwaredevelopmentqualitymodel Reliability Maturity was proposed by A. Sharma et al. [4] which include the FaultTolerance characteristics and subcharacteristics of ISO/IEC 9126I Recoverability quality model. It also comprises of new other proposed subcharacteristicslikeReusability,Flexibility,Complexity during its maintenance. The characteristics of this model and Trackability in order to evaluate overall quality are Efficiency, Functionality, Maintainability, Portability, component. ReliabilityandUsability(Table2).But,thismodeldoesnt F.Khomhetal.[9]proposedamethodDEQUALITE(De clearly indicate about measurement of these characteris sign Enhanced Quality Evaluation) to build a quality tics. model to measure the quality of objectoriented systems withthehelpoftheirinternalattributesandtheirdesigns 2.6 Other Quality Models and measure system by analyzing the impact of design Inliterature,mostofresearchersproposedtheirsoftware patterns, antipatterns, andcode smells on different soft quality models. Mostly proposed models have been de ware quality characteristics. There are mainly four main rivedfromISO/IEC9126I[17]. steps involved in this model such as detection of design M. Berota et al. [31] proposed a quality model for COTS patterns, design defects and code smells through the componentsystem.Thecompatibilitysubcharacteristicis analysis of the impact of these design styles on quality, definedundertheFunctionalitycharacteristicsofISO/IEC empiricalstudies,buildingmodelandvalidationofthis ningofsoftwarelifecycle.
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
100
model. An AspectOriented Software Quality Model (AOSQUAMO) was proposed by A. Kumar et al. [5] which is basically extension of ISO/IEC 9126I [17] soft ware quality model. This model has also included four new subcharacteristics i.e. Modularity, Codereusability, Complexity and Reusability in addition to original char acteristicsandsubcharacteristicsofISO/IEC9126Iquali ty model. This model was unable to explain the metrics relatedtotheAO. AUMLconceptualmodelREASQ(Requirements,Aspects and Software Quality) was developed [13] to clarify the AOSD (AspectOriented Software Development) termi nologyi.e.aspect,composition,concern,qualityorprop erty requirements for the software product. Comparing REASQ model, ISO/IEC 9126I (now called ISO/IEC 25010,2007)isusedtorelatetherequirementengineering terminology(thenewstandardISO/IEC25030,2006)with the aspectorientation and software quality. This model providesaninitialviewoftheconcernsthatwillbemean ingfulforthesystem.
TABLE 3 RELATIONSHIP BETWEEN OO DESIGN CONSTRUCTS AND QUALITY CHARACTERISTICS Efficiency Encapsulation Complexity Inheritance Reusability Coupling Under standabilit Testability/ Maintain ability
Cohesion
testeffort,reworkeffort,reusability,andmaintainability. The concept of inheritance helps software developers to incorporate reusability factor in software development process. Since reusability reduces the complexity so it Intodayssoftwaredevelopmentscenario,objectoriented improvesthesoftwarequality[3]Theconceptofencapsu designandmethodsaregainingpopularityexponentially. lation enhances software quality by ensuring safety via Rosenberg et al. [28] described that objectoriented soft informationhiding[25].InspiteofsuchimportanceofOO ware development requires a different approach from conceptsthereisnoqualitymodelisavailablewhichcan moretraditionalfunctionaldecompositionanddataflow fit purely for objectoriented system. From the extensive developmentmethods.Theobjectorientedmetriccriteria survey we found that ISO/IEC 9126I model provides a aretobeusedtoevaluatethefollowingqualityattributes: base for almost all types of quality models proposed for 1) Efficiency: Are the constructs efficiently de different environment. The main characteristics of signed? ISO/IEC9126Imodelviz.functionality,usability,efficien 2) Complexity: Could the constructs be used more cy, reliability, portability and maintainability is available effectivelytodecreasethearchitecturalcomplexi in almost all proposed quality models. The differences amongallthesemodelsareonlytheselection/rejectionof ty? subcharacteristics under above mentioned characteris 3) Understandability: Psychological complexity in tics. creasedbythedesignornot? In the above context this paper proposed Model for Ob 4) Reusability: Possible reuse is supported by the jectOriented Software QUAlity (MOOSQUA) which is designornot? anextensionofISO/IEC9126I[17]model.Inthismodel 5) Testability/Maintainability: Ease of testing and we have added subcharacteristics Reusability under changesaresupportedbythestructureornot? Functionality characteristic, Cost under Efficiency, Code readability and modularity under maintainability, and R. A. Khan [35, 36] observed that SATCs attributes [28] SafetyunderUsabilitycharacteristics.Theseadditionsare representtherelationshipbetweendesignconstructsand based on the extensive survey proposed in literature by quality attributes. This relation is represented in Table 3. [4,39]. Theyconcludedthateachdesignconstructsaffectscertain qualityattributes. 3.1 Definition of Existing Sub-characteristics in L. Briand et al. [27] described that objectoriented (OO) ISO-9126 in Context of Object Orientation technologies (programming languages, tools, methods, 1) Functionality: A set of attributes that relate to and processes) are claimed to improve the quality of theexistenceofasetoffunctionsandtheirspeci software product deliverables, to support reuse and re fied properties. It means that classes and objects duce the effort of developing and maintaining the soft shouldprovidefunctionswhichmeetstatedand wareproduct.Theyalsorelatedimportantcharacteristics implied needs when the software is used under of OO software, such as encapsulation, polymorphism, specified conditions. Existing functionality of inheri ance, coupling and cohesion, to external quality classescanbeusedbyinheritance.Itwillreduce indicatorssuchasfaultproneness,developmenteffort, the expenses and provide faster implementation
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
101
2)
3)
4)
5)
ofsoftwaresystem.Itcontainsthefollowingsub characteristics: Suitability: Suitability describes how well the objectfitsintotheclass.Itisthecapabilityofthe softwareproducttoprovideanappropriatesetof functionsforspecifiedtasksanduserobjectives. Accuracy:Itevaluateswhethertheobjectgiving accurateresultswithcorrectprecisionlevelwhen usedunderspecificcondition. Security:Itrefershowtheclassisabletocontrol theunauthorizedaccessitsdataandfunction. Interoperability: The ability of class to interact withanotherclassinsameordifferentmodules. Compliance: This subcharacteristic describes whether an OO system is conforming to any in ternationalstandardorcertificationetc. Reliability: It is the capability of the class to maintain a specified level of performance when used under specified conditions. It includes the followingsubcharacteristics: Maturity: This subcharacteristic describes how much work has been done using a particular class. Fault tolerance: It indicates whether the object canmaintainthespecifiedlevelofperformance. Recoverability:Itisthecapabilityofobjecttore establishitslevelofperformanceandrecoverthe datadirectlyaffectedincaseofafailure. Usability: Usability only exists with regard to functionality and refers to the ease of use for a given module.ItisthecapabilityoftheOOsys tem to be understood and learned by the user, when used under specified conditions. It con tainsthefollowingsubcharacteristics: Understandability: It determines the ease of whichtheclassfunctionscanbeunderstood. Learnability:ItisthecapabilityoftheOOsystem toenabletheusertolearnitsapplication. Operability:ItistheabilityoftheOOsystemto beeasilyoperatedbyagivenuserinagivenen vironment. Attractiveness: It indicates the capability of the OOsystemtobeattractivetotheuser. Efficiency:Thischaracteristicisconcernedwith the resources used by the OO system when providingtherequiredfunctionality.Classcanbe internally optimized to improve the perfor mance. It includes the following sub characteristics: Time Behaviour: It indicates the ability to per formaspecifictaskbyaclassatthecorrecttime. ResourceBehaviour:ItisthecapabilityoftheOO systemtouseappropriateamountsandtypesof resources when the software performs its func tionunderstatedconditions. Maintainability:Itisthecapabilityoftheclassto be modified. Modifications may include correc tions,improvementsoradaptationoftheOOsys tem.Itcontainsthefollowingsubcharacteristics: Analyzability:ItreferstotheabilityofOOsys
6)
temtodiagnosefordeficienciesorcausesoffail uresinthesoftware,orforthepartstobemodi fiedtobeidentified. Changeability: It is the capability of the class to enable a specified modification to be imple mented. Stability: It refers to the class ability to handle thenonrequiredchangesduringmodification. Testability:Itreferswhethertheclassisvalidaf termodificationbyprovidingsometestcases. Portability: The capability of the OO system to be portable into new environments. It includes thefollowingsubcharacteristics: Adaptability: It refers whether the OO system canbeadaptedtonewlyenvironments. Installability: It is the capability of the OO sys temtobeinstalledinaspecifiedenvironment. Coexistence:ItisthecapabilityoftheOOsystem to coexist with other independent software in a common environment sharing common re sources. Replaceability: This sub characteristic indicates whether the OO system is replaceable with its previousversions.
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
102
4)
5)
bilityandcodereusability.Functionalreusability onOOapproachissimilarasincaseofmodule oriented approach. Code reusability in OO ap proach is due to its inheritance property. Class inheritancepermitsaclasstoreuseitbymaking subclassfromit. Cost:Costreferstodifferenttypesofexpenses.It canbethecostoftheequipmentandthecostof system itself. Software development cost should belowerforbettersoftwaresystem. Safety:Safetyisdefinedasthecapacitytoavoid any kind of damage and risk derived when the systemisinuse.Usersafetyisveryessentialto day in terms of confidentiality. The software shouldbetotallyfreeofbugs,employingredun dancyorconductingextensivetestingforopera TABLE 4 PROPOSED MOOSQUA MODEL Characteristics Functionality Sub Characteristics Suitability Accuracy Interoperability Security Compliance Reusability TimeBehaviour Resource Behaviour
ObjectOriented Software Quality (MOOSQUA) Analytic Hierarchy Process (AHP) technique is used. It is a deci sionmakingtechniquedevelopedbySaaty[40]. ConsidertherearenelementsfromA1toAnthathaveto becomparedandtoformasquarematrixdenotetherela tiveweightofAiwithrespecttoAjbyaij.Theconstraints toformasquarematrixA=(Zij)ofordernthatZij =1/Zij, fori=j,andaii=1,alli.Therelativeimportanceoftwoele ments is rated using a scale with the values 1, 3, 5, 7, 9, where1forequallyimportant,3forsomewhat more important, 5 for much more important, 7 for very much more important, 9 for absolutely more important and 2, 4,
Efficiency
Cost Replaceability Adaptability Installability CoExistence Maintainability Analyzability Changeability Testability Stability Modularity CodeReadabil ity Usability Understandabil ity Learnability Operability Attractiveness Safety Reliability Maturity FaultTolerance Recoverability Portability
tionalsafety.
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
103
TABLE 5 EIGEN VECTORS AND EIGEN VALUES OF QUALITY CHARACTERISTICS Functinality(F) Reliability(R) Usability(U) Efficiency(E) nth (6th) root of productvalues Maintainability (M) Eigenvector() A. 0.1209 0.164 0.225 0.192 0.2367 0.0628 1.000 0.7632 1.0142 1.360 1.176 1.5429 0.382 6.312 6.191 6.063 6.140 6.518 6.082 Mean=6.217 max
F R U E M P Total
0.444 0.545 1 1.583 1.5 1.5 0.413 0.631 1 0.709 1.25 0.324
Portability(P) 3.333 1
tics and subcharacteristics according to the rating scale giveninsurveyform. Thesurveyformconsistofseventablesinwhichfirstta ble for filling the pairwise relative weight values of six characteristicsi.e.Functionality(F),Reliability(R),Usabil ity(U),Efficiency(E),Maintainability(M),andPortability (P).Similarly,inthesurveyformintheremainingsixta bles are for filling the relative weight of the sub characteristicsofF,R,U,E,MandP. In order to determine eigenvector and eigenvalues of all thesixcharacteristics,multiplyingtogethertheentriesin each row of the matrix and then taking the nth root (in our case 6th root) of that product, which gives a very goodapproximationtothecorrectanswer.Thevaluesare giveninTable5.Thenthrootissummedandthatsumis used to normalize the eigenvector elements to add to 1.000. In the matrix of Table5, the 6th root for the first rowis0.792andthatisdividedby6.547togive0.1209as thefirstelementintheeigenvector.Theeigenvectorofthe relativeimportanceofF,R,U,E,MandPis(0.121,0.164, 0.225,0.192,0.2367,0.0628)whichisgiveninTable5. Eigen values max can be evaluated by applying max= (A./)andthesesixmaxvaluesarecalculatedas6.312, 6.191,6.063,6.140,6.518and6.082.Allthesevaluesofmax are greater than 6, as this matrix is of order of 6, which satisfiestheconditionofmaxn.Themeanofmaxvalues is6.217. NowwecanevaluateCIas CI=(maxn)/(n1)=(6.2176)/(61)=0.043 Thefinalstepistocalculatetheconsistencyratio(CR)for thesetofjudgmentsusingtheCIforthecorresponding
value from samples of matrices of purely random judg ments.WefoundthecalculatedvalueofCR<0.1inallthe samples of matrices, which indicates that the estimate is acceptable. Similarly, we have applied AHP process on pairwiserelativeweightsofsubcharacteristicsofcharac teristics F, R, U, E, M and P one by one and all these weights of subcharacteristics are listed in column of Table6. Twenty five evaluative subcharacteristics are weightedasfollows: Suitability (0.017), Accuracy (0.013), Interoperability (0.026), Compliance (0.014), Security (0.031), Reusability (0.019),Maturity(0.024),Faulttolerance(0.080),Recover ability (0.060), Attractiveness (0.035), Understandability (0.073), Learnability (0.056), Operability (0.039), Safety (0.022),Time behavior (0.039), Resource behavior (0.097), Cost (0.056), Analyzability (0.029), Changeability (0.067), Stability (0.018), Testability (0.054), Code Readability (0.025), Modularity (0.044), Adaptability (0.008), Install ability (0.019), Replaceability (0.026), and Coexistance (0.009). Each subcharacteristic not has equal importance. So to restrictnottooverdesignthesystem,wetakeonlyselect ed characteristics and sub characteristics. According to the weight values of characteristics in Table 6, we select total 12 sub characteristics i.e. Interoperability, Security, ReusabilityandSuitabilityunderFunctionalitycharacter istic, Fault Tolerance under Reliability characteristic, Re source Behaviour and Cost under Efficiency characteris tic, Understandability and Learnability under Usability characteristicandTestability,ChangeabilityandModular ity under Maintainability characteristic. In this case, we needtonormalizetheweightvaluesofselectedcharacter isticsandsubcharacteristicstomakesumofallweight
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
104
TABLE 6
WEIGHT VALUES FOR SUB-CHARACTERISTICS
TABLE 7 NORMALIZED VALUES OF QUALITY SUB- CHARACTERISTICS Characteristics WeightValues Sub characteristic
WeightValues
Characteristic
Sub Characteristic
Eigenvectors
Sum
R E
Suitability Accuracy Interoperability Security Compliance Reusability Maturity FaultTolerance Recoverability TimeBehavior ResourceBehvi our Cost Understandabil ity Learnability Operability Attractiveness Safety Stability Testability Changeabiliy Analyzability Code Readabil ity Modularity Adaptability Installability Replaceability Coexistence
0.141 0.108 0.216 0.258 0.116 0.158 0.141 0.490 0.368 0.204 0.502 0.293 0.325 0.245 0.174 0.156 0.098 0.076 0.224 0.283 0.122 0.105 0.186 0.129 0.306 0.419 0.145
0.017 0.013 0.026 0.031 0.014 0.019 0.024 0.080 0.060 0.039 0.097 0.056 0.073 0.056 0.039 0.035 0.022 0.018 0.054 0.067 0.029 0.025 0.044 0.008 0.019 0.026 0.009
0.120
F R E
U M Total
Suitability Interoperability Security Reusability FaultTolerance Resource Behaviour Cost Understandability Learnability Modularity Testability Changeabiliy
0.030 0.034 0.046 0.035 0.167 0.132 0.081 0.139 0.096 0.061 0.078 0.102
0.145
0.167 0.212
0.237
0.062
Total
1.000
valuesequalto1.Thenormalizedvaluesobtainedinscale of01arementionedinTable7. To evaluate the quality of a software system as a whole, we need to measure all the selected characteristics and sub characteristics. The formula used to evaluate the whole quality of software system Quality = Fwf + Rwr + Uwu + Ewe + Mwm + Pwp Where wf, wr , wu , we , wm and wp are weight values for Functionality (F), Reliability (R), Usability (U), Efficiency
(E), Maintainability (M) and Portability (P). We have the weight values of all the characteristics mentioned in Table 5. Further, we need to evaluate the characteristics F, R, U, E, M and P. The formulas used to evaluate all the quality characteristics of software system F = wsuSu + waA + wiI + wsS + wcoCo + wreRe R = wmaMa + wftFt + wrcRc U = wunUn + wlbLb + wopOp + wattAtt + wsaSa E = wtbTb + wrbRb + wctCt M = wstSt + wteTe + wchCh + wanAn + wcrCr + wmoMo P = wadAd + winIn + wrpRp + wcoeCoe Wherewsu,wa,wi,ws,wco,wre,wma,wft,wrc,wun,wlb,wop, watt, wsa, wtb, wrb, wct, wst, wte, wch, wan, wcr, wmo, wad, win, wrp and wcoe are weight values for Suitability, Accuracy, Interoperability, Security, Compliance, Reusability, Ma turity, Faulttolerance, Recoverability, Understandability, Learnability, Operability, Attractiveness, Safety, Time behavior, Resource behavior, Cost, Stability, Testability, Changeability,Analyzability,CodeReadability,Modular ity, Adaptability, Installability, Replaceability, and Co existence. Now, to measure the sub characteristics, we mentioned the set of metrics in Table 8.
Sum
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
105
As these projects are based on C++, there is no platform independency. Therefore, there is no need to select Portability characteristic and its sub characteristics. For Fault Tolerance, we assume that if in any software system, there are very high, high, average, less, and no failure operations within a specified time then we can measure it by giving values 0, 0.25, 0.5, 0.75 and 1. For cost,weassume different types of expenses, namely, human-resource costs, the equipment costs and consumables costs. We can measure it by giving values 0, 0.25, 0.5, 0.75 and 1 for very high cost, high cost, average cost, low cost and no cost. Understandability can be measured on the basis of documentation, training and help provided to the user by giving values 0.33 each. Interoperability can measure by rating it between 0 and 1 depend on the communicative effectiveness between system and stakeholders. Testability can measure by giving values 0, 0.5 and 1 for no test cases provided, not adequate test cases provided and adequate test cases provided. Modularity can be evaluate as combine measurement of coupling between objects (CBO) and lack of cohesion in methods (LCOM). Coupling measures the degree of interdependency between modules and cohesion represents the functional strength of module. For better system, coupling should be low and cohesion should be high. We can rate it between 0 and 1 depend on the degree of coupling and cohesion. The resultant evaluated values of both the projects are shown in Table-9 and Table-10.The evaluated value of software quality of project 1 is 0.556 and quality of project2 is 0.625. The result shows that the quality of project2 is better than the project1.
TABLE 8 METRICS FOR EVALUATION Sub characteristics Security Interoperability Reusability Suitability Fault Tolerance Resource iour Cost Understandability Learnability Testability Changeability Modularity BehavMetric Number of access controllability provided/ total number of access controllability required. Degree of communication between system and stakeholders. Number of reusable properties/total number of properties Suitable operations/ total number of operations Operational profile of the software and number of faults in the software evaluated. How much resources required to run the software i.e. % CPU usage for the execution of method. How much expensive to buy the software User documentation, training provided and help system Number of achievable tasks/ total number of tasks Number of test cases provided for a system Number of properties can be customized/ total number of properties Combine measurement of coupling between objects (CBO) and lack of cohesion in methods (LCOM).
TABLE 9 FINAL QUALITY OF PROJECT 1 Characteristics Functionality Subcharacteristic Suitability Interoperability Security Reusability Reliability Efficiency Usability FaultTolerance ResourceBehavior Cost Understandability Learnability Modularity Testability Changeabiliy Metric(M) 5/8 =0.625 0.25 3/5 =0.6 7/10 =0.7 0.50 0.60 0 0.66 8/10 =0.8 0.75 0.5 6/10 =0.60 Weight Mi*wi (w) 0.030 0.019 0.034 0.046 0.035 0.167 0.132 0.081 0.139 0.096 0.061 0.078 0.102 0.008 0.028 0.024 0.083 0.079 0 0.092 0.077 0.046 0.039 0.061 0.083 0.079 0.169 Quality 0.079
Maintainability
0.146
Total
0.556
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
106
TABLE 10 FINAL QUALITY OF PROJECT 2 Characteristics Functionality Reliability Efficiency Usability Maintainability Total Subcharacteristic Weight Mi*wi (w) Suitability 8/9=0.89 0.030 0.027 Interoperability 0.50 0.034 0.017 Security 5/6=0.83 0.046 0.038 Reusability 8/12=0.67 0.035 0.023 FaultTolerance 0.75 0.167 0.125 ResourceBehavior 0.80 0.132 0.106 Cost 0 0.081 0 Understandability 0.66 0.139 0.092 Learnability 7/12=0.58 0.096 0.056 Modularity 0.70 0.061 0.043 Testability 0.5 0.078 0.039 Changeabiliy 7/12=0.58 0.102 0.059 Metric(M) Quality 0.105
5 CONCLUSION
This paper proposed a Model for Object Oriented Soft wareQUAlity(MOOSQUA)andevaluatedthequalityof this model by usingAnalytical Hierarchy Process (AHP) technique.ISO/IEC9126Iwasconsideredasabasemod el. New sub characteristics were added to this proposed model.Basisonexpertsviewandsurveysonlythosesub characteristics were included, which were more relevant for the software applications. Pairwise relative weight values are assigned to the characteristics and sub characteristics by using AHP technique. To obtain the quality of objectoriented software system, we used the aboveevaluationprocessontwoC++projects.Theresult was in the terms of quality as a single score for each of theprojects.Theobtainedresultscanbeusedtocompare andselectthebestsuitableobjectorientedqualitymodel as per defined quality characteristics. In future we will applythismodelonreallifeobjectorientedsoftwaresys tem to gain more perspective view about the pros and consofthismodel.
[3] [4]
A. Eliens, Principles of Object Oriented Software Development, AddisonWesley,USA,2000. A.Sharma,R.Kumar,P.S.Grover,EstimationQualityforSoft ware Components: An Empirical Approach, ACM SIGSOFT SoftwareEngineeringNotes,vol.33(6),pp.110,2008.
[5]
A.Kumar,R.Kumar,andP.S.Grover,AQuantitativeEvalua tion of AspectOriented Software Quality Model (AOSQUAMO), ACM SIGSOFT Software Engineering Notes, vol.34(5),pp.19,2009.
[6]
B.W. Boehm, J.R. Brown, H. Kasper, M. Lipow, G.J. Macleod, and M.J. Merrit, Characteristics of software Quality, vol. 2, Elsevier,NorthHolland,1978.
[7]
[8]
D. G. Firesmith, Common concepts underlying safety, secu rity,andsurvivabilityengineering,CarnegieMellonSoftware Engineering Institute Technical Note CMU/SEI2003TN033, December2003.
[9]
F. Khomh, N. Haderer and G. Antoniol, SQUAD: Software Quality Understanding through the Analysis of Design, Re verseEngineering,WCRE09,16thworkingconference,2009.
ACKNOWLEDGEMENT
The authors wish to thanks to Prof. (Dr.) Arun Sharma for his guidance and support during the evaluation of projects. Authors also wish to thank Ms. Ankita Madan for her valuable suggestions during the development of model.
[10] G. R. Dromey, A model for software product quality, IEEE Trans.onsoftwareEng.,vol.21,no.2,pp.146162,1995. [11] Ghezzi, C. M. Jazayeri, and D. Mandrioli, Fundamental of Soft wareEngineering,PrenticeHall,NJ,USA,1991. [12] G.G.SchulmeyerandJ.I.McManus,Totalqualitymanagement for software quality. Southern African: International Thomson Pub.,1996. [13] I.Castillo,F.Losavio,A.Matteo,andJ.Boegh,Requirements, Aspects and Software Quality: the REASQ model, Journal of Object Technology, vol. 9, no. 4, pages 6991, 2010. http://www.jot.fm/contents/issue_2010_07/article4.html [14] I.Jacobson,G.Booch,J.Rumbaugh,TheUnified Software Devel opmentProcess,AddisonWesley,1999.
REFERENCES
[1] [2] AOSD, AspectOriented Software Development Home Page, http://www.aosd.net/wiki/index.php?title=Glossary,2008. A. Rawashdeh and B. Matalkah, A New Software Quality ModelforEvaluatingCOTScomponents,JournalofComputer Science,vol.2,no.4,pp.373381,2006.
JOURNAL OF COMPUTING, VOLUME 4, ISSUE 2, FEBRUARY 2012, ISSN 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG
107
[15] P. Kruchten, The Rational Unified Process: An Introduction, AddisonWesley,2000. [16] IEEEStandardforSoftwareMaintenance,SoftwareEngineering StandardsSubcommitteeoftheIEEEComputerSociety,1993. [17] ISO/IEC91261,InstituteofElectricalandElectronicsEngineers, Part1,2,3:Qualitymodel,2001. [18] ISO 9126 Standard ISO/IEC, Information technology Software product quality Part1: Quality Model, ISO/IEC FDIS 91261: 2000(E). [19] ISO /IEC, International Standard 8402: Quality Vocabulary, 1986. [20] ISO/IEC TR 91263, Software Engineering Product Quality, 2002. [21] ISO 9126, Software Product Evaluation: Quality characteristics andguidelinesfortheiruse,ISO/IECStandardisationISO9126, 1991. [22] J.A.McCall,RichardsP.K.,andWaltersG.F.,FactorsinSoft ware Quality, vol. 1, 2, and 3, AD/A 049014/015/055,National Tech.Informationservice,Springfield,1977. [23] J. E. Gaffney, Metrics in software quality assurance, no. 81, pp.126130,ACMpress,March1981. [24] J. Bansiya, and C.G. Davis, A Hierarchical Model for Object Oriented Design Quality Assessment, IEEE Transactions on SoftwareEngineering,2002. [25] J.W. Satzinger, R.B. Jackson, S.D. Burd, System Analysis and Design in a Changing World, ed.2, Thomson Learning Can ada,2002. [26] K. Khosravi, Y. Gueheneuc, On Issues with Software Quality Models,9thECOOPworkshoponQuantitativeApproachesinOb jectOrientedSoftwareEngineering,2005. [27] L. Briand, E. Arisholm, S. Counsell, F. Houdek, P. Thevenod Fosse, Empirical Studies of ObjectOriented Artifacts, Meth ods, and. Processes: State of The Art and Future Directions, TechnicalReportISERN9912,1999. [28] L.H. Rosenberg and L. Hyatt, Software Quality Metrics for Object Oriented Environments, SATC, NASA, Technical Re portSATCTR951001,1995. [29] M.S.DeutschandR.R.Wills,Softwarequalityengineering;atotal technicalandmanagementapproach.PrenticeHall,Inc.,1998. [30] M. Fusani, Quality Models for Software Evolution Instru ments, International Seminar on Software Measuring & Testing, IEI CNR /Qualital /SSSUP S.ANNA Pisa, Italia, December 1995. [31] M. Berota, A. Vallecillo, Quality attribute for COTS Compo nent, in the proceedings of the sixth International ECOOP Work shoponQuantitiveApproachesintheObjectOrientedSoftwareEn gineering(QAOOSE),Spain,2002. [32] R.Grady,Caswell,andDeborah,Softwaremetrics:Establishing a companywide program, PrenticeHall, ISBN 0138218447, 1987. [33] R. Fitzpatrick, Software Quality: definitions and strategic is sues, School of Computing Reports, Standfordshire Univer sity,1996. [34] R. Kazman, L. Bass and P. Clements, Software Architecture in Practice,2eds.,AddisonWesley,2003.
[35] R.A. Khan and K. Mustafa, A Review of SATC Research on OO Metrics, Proceedings, National Conference on Software Engi neeringPrinciplesandPractices,SEPP04,2004. [36] R.A. Khan, K.Mustafa, and S. Yadav, Quality Assessment of Object Oriented Code in Design Phase, Proceedings, QAI 4th Annual International Software Testing Conference, Pune, India, 2004. [37] R. S. Pressman, Software Engineering a practitioners Approach, McGrawHill,Inc.,1992. [38] R.S.Pressman,SoftwareEngineeringapractitionersapproach, 5eds.,McGrawHill,2001. [39] S.K Dubey and A. Rana, Analytical Roadmap to usability Definitions and Decompositions, International Journal of Engi neeringScienceandTechnology,vol.2(9),2010. [40] Saaty, T.L, The Analytic Hierarchy Process, McGraw Hill International,1980.
Sanjay Kumar Dubey is an Assistant Professor in Amity University Uttar Pradesh, India. His research area includes Human Computer Interaction, Software Engineering, and Usability Engineering. He is pursuing his Ph.D. in Computer Science and Engineering from Amity University.
Abhishek Jain is a researcher in Computer Science & Engineering Department from Amity University, Noida. His area of interest is Software Engineering. . Ajay Rana is a Professor and Director, Amity University, Noida. He is Ph. D. (2005) in Computer Science and Engineering from U.P. Technical University, India. His research area includes Software Engineering. He has published number of research papers in reputed National & International Journals. He has received numbers of best paper/case studies medals and prizes for his work.