Weighted Micro Function Points
   HOME

TheInfoList



OR:

Weighted Micro Function Points (WMFP) is a modern software sizing algorithm which is a successor to solid ancestor scientific methods as COCOMO, COSYSMO, maintainability index,
cyclomatic complexity Cyclomatic complexity is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976. ...
, function points, and Halstead complexity. It produces more accurate results than traditional software sizing methodologies, while requiring less configuration and knowledge from the end user, as most of the estimation is based on automatic measurements of an existing source code. As many ancestor measurement methods use source lines of code (SLOC) to measure software size, WMFP uses a parser to understand the source code breaking it down into micro functions and derive several code complexity and volume metrics, which are then dynamically interpolated into a final effort score. In addition to compatibility with the waterfall
software development life cycle In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software d ...
methodology, WMFP is also compatible with newer methodologies, such as Six Sigma, Boehm spiral, and Agile (AUP/Lean/XP/DSDM) methodologies, due to its differential analysis capability made possible by its higher-precision measurement elements.TickIT Quarterly publication (2009) "Quarter 1, 2009": page 13
/ref>


Measured elements

The WMFP measured elements are several different
software metric In software engineering and development, a software metric is a standard of measure of a degree to which a software system or process possesses some property. Even if a metric is not a measurement (metrics are functions, while measurements are ...
s deduced from the source code by the WMFP algorithm analysis. They are represented as percentage of the whole unit (project or file) effort, and are translated into time. :''Flow complexity (FC)'' – Measures the complexity of a programs' flow control path in a similar way to the traditional
cyclomatic complexity Cyclomatic complexity is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976. ...
, with higher accuracy by using weights and relations calculation. :''Object vocabulary (OV)'' – Measures the quantity of unique information contained by the programs' source code, similar to the traditional Halstead vocabulary with dynamic language compensation. :''Object conjuration (OC)'' – Measures the quantity of usage done by information contained by the programs' source code. :''Arithmetic intricacy (AI)'' – Measures the complexity of arithmetic calculations across the program :''Data transfer (DT)'' – Measures the manipulation of data structures inside the program :''Code structure (CS)'' – Measures the amount of effort spent on the program structure such as separating code into classes and functions :''Inline data (ID)'' – Measures the amount of effort spent on the embedding hard coded data :''Comments (CM)'' – Measures the amount of effort spent on writing program comments


Calculation

The WMFP algorithm uses a three-stage process: function analysis, APPW transform, and result translation. A dynamic algorithm balances and sums the measured elements and produces a total effort score. The basic formula is: :Σ(WiMi)ΠDq :M = the source metrics value measured by the WMFP analysis stage :W = the adjusted weight assigned to metric M by the APPW model :N = the count of metric types :i = the current metric type index (iteration) :D = the cost drivers factor supplied by the user input :q = the current cost driver index (iteration) :K = the count of cost drivers This score is then transformed into time by applying a statistical model called average programmer profile weights (APPW) which is a proprietary successor to COCOMO II 2000 and COSYSMO. The resulting time in programmer work hours is then multiplied by a user defined cost per hour of an average programmer, to produce an average project cost, translated to the user currency.


Downsides

The basic elements of WMFP, when compared to traditional sizing models such as COCOMO, are more complex to a degree that they cannot realistically be evaluated by hand, even on smaller projects, and require a software to analyze the source code. As a result, it can only be used with analogy based cost predictions, and not theoretical educated guesses.


See also

* Software sizing *
Software metric In software engineering and development, a software metric is a standard of measure of a degree to which a software system or process possesses some property. Even if a metric is not a measurement (metrics are functions, while measurements are ...
* Function points *
Cyclomatic complexity Cyclomatic complexity is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976. ...
*
Halstead complexity measures Halstead complexity measures are software metrics introduced by Maurice Howard Halstead in 1977 as part of his treatise on establishing an empirical science of software development. Halstead made the observation that metrics of the software should ...
*
Software parametric models A parametric model is a set of related mathematical equations that incorporates variable parameters. A scenario is defined by selecting a value for each parameter. Software project managers use software parametric models and parametric estimation ...


References

{{reflist Software metrics