• Status Closed
  • Budget N/A
  • Total Bids 3

Project Description


A. Index Factor for module communication (IFMC):

This metric calculates the index factor for module communication and how well API functions of modules are

used by the other modules in the system for communication. Assume that a module has n functions from 1 to n,

of which the n1 API functions are given by the subset {f1





api}. Cext is used to denote the total number of

external calls coming from the other modules. It is a java file as module. Also assume that system has m1 to mi

modules. Total number of modules is M. Index Factor for module communication (IFMC) for a given module

and for the entire software system by

IFMC (module) = {SUM [Cext (fapi)]} / Cext (module), where fapi is in range from f1

api to fn1


= 0, when there are No external calls made to the particular module

IFMC (system) = {SUM [IFMC (module)i ]} / M,

where i is in range from 1 to M

B. Index Factor for API function Calls (IFAC):

This index factor determines the usefulness of calling the API function by the other modules. Some times in one

java file (module) may consists of various classes and API functions with different functionalities. If any other

single module is calling the API but need only small part of it then it is unnecessarily calling the big API.

Hence to avoid the formation of such module this index factor is used. Suppose module has n API functions and

let’s say that nj numbers of API functions are called by another module mj. Also assume that there are z numbers

of modules from module1 to modulez that calls one or more API functions of module.

IFAC (module) = (n1+n2+…nz) / (n * z)

= 0, if n i. e. number of API function

is zero

If we assume that moduleapi is the total number of modules having more than zero API functions. Then

IFAC (system) = SUM [IFAC (module)i] / moduleapi,

Where i = 1 to moduleapi (2)

The maximum value of this metric IFAC (system) will be 1, depending on the focus and nature of the modules

with similar purpose.

C. Index Factor for Non API function Calls (IFNC):

If the big software system is not modularized fully then there can be the use of non API functions. This is not

preferable. As there should not be a use of non API function outside the module or a java file.

Let us represent API function as functionapi and non API functions as functionnapi for given module.

Then total function will be function = function api + functionnapi

Total number of modules is M.

IFNC (module) = functionnapi / (function - function api)

= 0, if the non API functions are zero.

IFNC (system) = SUM [IFNC (module)i] / M,

Where i =1 to M. (3)

In good modularized object oriented software, functions will be either API or non API type of functions. And

non API functions are not used outside the module.

Then function - function api will be equal to functionnapi. So that IFNC (module) = 1.

Here sometimes the value of the IFNC (module) can be between 0 and 1.

Get free quotes for a project like this

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online