Theimportance of measuring software complexitySoftwarecomplexity (Programmingcomplexity) refers to number of pieces of properties in software, altogetherwhich will affect internal interactions. Complexity describes about theinteractions between many entities. When the number of entities increasesdrastically, the number of interactions between them would increase altogetherand it would lead to a point where it would be impossible to know and understandall of them. Similarly higher the complexity in ongoing software it alsoincreases the danger of unintentional interfering with interactions and soincreases the chances of errors when making modifications.
As a result variousmatrices were implemented over the years to overcome complexity issues. Complexitysoftware metrics are implemented to introduce objective measurements that areused for management, performance, quality assurance, and debugging, estimatingcosts, predicting project success, defects in codes, predicting defective code,and predicting project risks.The various metrics proposed over theyears and the problems of them.Cyclomatic complexity: this is a softwaremetrics used to show the complexity of an application program. Through aprogram’s source code a quantitative measurement of numbers in linearlyindependent paths. Halstead complexity measures are softwaremetrics introduced by Maurice Howard Halstead in 1977 as partof his treatise on establishing an empirical science of software development. Halsteadmade the observation that metrics of the software should reflect theimplementation or expression of algorithms in different languages, but beindependent of their execution on a specific platform. These metrics aretherefore computed statically from the code.
· However these older complexity measuring matrices havefallbacks and disadvantages comparing to the matric we are implementing.· The time to conclude a systems complexity will be highwith the above mentioned matrices.· Duplicate and unwanted comments will be added to thecomments repeatedly.· High coloration within the size of the program · The percentage used as comments, number of inputs andoutputs and number of functions are not measured with the Halstead complexity and Cyclomatic complexity matrices.· Very difficult to understand and implement these matrices How the new metric overcome the problems that exist in previouslyproposed metrics. · The time toconclude the system complexity is reduced within out matrix as we have excludedall unwanted measurements like in older systems.
· Easier tounderstand and easier to maintain.· Duplicate and unwanted comments will be added to thecomments repeatedly.· The percentage used as comments, number of inputs andoutputs and number of functions complexity measurements are included in ourmetrics rather than the Halsteadcomplexity and Cyclomatic complexity matrices Previously we conceded about the various metrics. There weremany complexity factors used.
· Direct measurement.· Efficiency· Portability.· Indirect / derived measurement. · Ratio.· Predication.· Interval.· Nominal Using these complexity factors we can make a goodmetric. We did a survey using a google form and get information from the ITprofessionals.
The factors we categorized into five parts and we want to knowthe weight for the each factor. Using all the results implement the new metric.The factors are given below. · Commented percentage.· Cohesions & couplings.· Fan in & Fan out.· Number of functions.
· Number of inputs & outputs.