COSMIC: A Small Improvement on the Symons Method

The COSMIC FP (function point) software quality metric, is no longer 'proposed' but an actual system in use and internationally recognised, whereas MarkII, like other older systems, is not recognised anywhere, and, even in the UK is in decline if not actually dormant, so this debate is already over.

Historically, from my limited understanding of the situation, it seems that originally there were upwards of 35 variants of function point style metrics until the ISO developed criteria for a acceptable solution, ISO 14143: Parts 1 to 5 (1995-2002):

The COSMIC group reviewed existing functional size measurement methods, namely the work done in the late 80's by Charles Symons in the UK. The aim was to improve on Albrecht's size index (IFPUG FPA)

As stated in many sources, the most important feature of the COSMIC method is that, unlike Mark II, it was developed alongside the emergence of the newer software applications that did not exist when Mark II was devised, thus being compatible with modern software engineering concepts and unlike the previous metrics, this method was designed to be compatible with the ideas from structured analysis and design.

Because of these two features, COSMIC has Full ISO recognition and is has inherent flexibility for a wider range of software, this flexibility also makes the metric less sensitive to mistakes during analysis than is typically the case with the Mark II metric which does not have the same ability to capture size from multiple viewpoints

Function point style metrics estimation algorithms involve applying a set of rules and procedures to a given piece of software as it is perceived from the perspective of its Functional User Requirements. As size measures are not very precise, this gives a veneer of science to what is in effect a guessing game.

The result being that while Mark II can be used for sizing of the GUI and real-time systems which did not exist when it was created only after extensive adaptation, but which itself creates difficulties of interpretation due to conflicting procedures and rules.

An important issue with the Mark II method is that the "functional components of the method are difficult or subjective to interpret" 6, different measurers will get different results.

The COSMIC method of sizing the functional requirements of software has been approved as an International Standard (ISO/IEC 19761:2003). and unlike the previous variations, COSMIC is the first method to be designed by an international team, as opposed to being the product of one academic or entity. This is a positive because it will help standardisation which will in turn improve repeatability of the measurement.

The most important disadvantage to Function point methodology is that "it takes several days to learn function point counting and more time to become proficient. This hurdle has limited the pool of trained counters." 3 Many of the sources I looked at included warnings such the following "Function Point Analysis should be performed by trained and experienced personnel. If Function Point Analysis is conducted by untrained personnel, it is reasonable to assume the analysis will done incorrectly." 4

Function point methodologies are designed around the application of complex rules and procedures that result in a numerical "value of a quantity"2 representing the functional size of the software.

Unlike the Mark II method, COSMIC requires an extra step to identify layers' before indentifying the system boundary, however this process enables the analysis to better account for the inner workings of a complex system and reduces the probability of missing functions.

The general consensus from the materials that I have read is that fundamentally the measurement effort for COSMIC is similar to that needed for established sizing methods. However unlike the other methods, COSMIC functional size method is 'easy' or 'reasonably easy' to apply.

This is in part due to the removal of the technical adjustment factors from the specifications and simplification of the transactional functions rules and terminology. Fore example, using Mark II "a function is not a point unless specific rules are satisfied"3. Where as COSMIC counting rules consist of "three core rules that establish which observations constitute a point"3.

An important factor in general ease of use is the underlying mathematical framework for quantifying and summarizing function points but which involves a loss in information when summarized into unadjusted function points.

Using COSMIC there is no separate counting of files (ILF and EIF) and is Ratio/Absolute. We would identify for each functional process, the subprocesses (entry, exit, read, write); The measurement Viewpoint allows "all functions to be included in the size measure" unlike in Mark II method, then apply measurement function as follows; FP Size = Sum(number of Entries ) + Sum(number of Exits) + Sum(number of Reads) + Sum(number of Writes)

"The size of a functional process is the sum of its data movements (entry, exit, read, write) and the size of a piece of software is the sum of the sizes of all of its functional processes." 6.

Due to the concept of data movements as opposed to Logical Files once per system used in the Mark II, COSMIC results in amore accurate size measure for the complexity of processing stored data.

For example, in the given case above it is not unreasonable to expect the update inventory transaction input to the Inventory item entity to be output during the transaction and become part of the input the inventory_item entity this is information is lost.

Under Mark II rules, it is counted as an input once when the data crossed the application boundary, but not as an input in the Invontary_item entity because the data does not leave the application boundary again at that point.

For the update inventory transaction under Mark II we can a UFPI count of (0.58*9) + (1.66 * 4) (0.26*1) = 12.12, under CosMIC we would arrive at an equivalent count of 3+5+4 =12

In conclusion, the fact that function points are not (yet) a perfect measure of an application, COSMIC does represents an advance over the IFPUG and other '1st Generation' FSM Methods. Measurement of functional sizes can be more plausible, easier to make and repeatable.

However functional size measurement technology must keep evolving to meet market needs. indeed I would think that this is too subjective to be counted as a "measure". For instance, I personally know over 120 software developers at 20 different companies, and nobody had ever heard of Function Points before I did.

The addition in COSMIC of the concept of internal layers, for better identification of component to component interaction allows for more complete analysis, and is missing from MarkII. What is still needed is a defined standard for adequate precision and an effective way to describe the accuracy of the function points which could be achieved in fact through better guidelines. Due to the fact that COSMIC is free and accessible anywhere in the world it is more likely to survive and evolve, unlike MarkII which is UK only, and proprietary.

Bibliography
[1] Abran, Alain, Robillard, Pierre N., "Function Points : A Study of their Measurement Processes and Scale Transformations", Journal of Systems and Software, May 1994, pp.171-184.

[2] Steve Neuendorf. (2001) Let Size A = X Function Points, Online, http://www.serv.net/~steve/Let%20Size%20equal%20FP.htm, October 22 2004.

[3] Steve Neuendorf. (2001) Evolving Function Points, Online, http://www.stsc.hill.af.mil/crosstalk/2001/02/fischman.html, October 25 2004.

[4] Symons, C.R., 'Function Point Analysis: Difficulties and Improvements', IEEE Trans Software Eng., vol 14, no. 1, Jan 1988

[5] Total Metrics. (2001) Function Points FAQs, Online, http://www.totalmetrics.com/cms/servlet/main?Subject=Content&ID=165, October 22 2004.

[6] Unkown. (2002) Advantages of the COSMIC-FFP method, Online, http://www.cosmicon.com/advantagecs.asp, October 25 2004.

I am the website administrator of the Wandle industrial museum (http://www.wandle.org). Established in 1983 by local people determined to ensure that the history of the valley was no longer neglected but enhanced awareness its heritage for the use and benefits of the community.

In The News:


pen paper and inkwell


cat break through


Lowering The Risks In Developing Do-It-Yourself Software Projects

Mike Dunville* had a decision to make. As the new... Read More

Microsoft Business Solutions - Navision Customization: C/SIDE, C/ODBC, C/FRONT, XBRL

Microsoft bought Navision, Denmark based software development company, along with... Read More

Adware and Spyware Blockers

The most important things you can do for your computer... Read More

These Items Are A Must Before Making The Decision To Purchase Any Off-The-Shelf Software

1. What determines the software price? Is it Per Seat... Read More

Microsoft Navision and Crystal Reports - An Overview

Microsoft Business Solutions ? Navision is an integrated solution for... Read More

EDI: Electronic Document Interchange for Microsoft Great Plains ? Overview for Software Developer/Pr

Microsoft Great Plains - Microsoft Business Solutions accounting and ERP... Read More

Chinese Input - Step by Step Instruction on How to Input Chinese Characters in English Windows XP

Enabling Chinese input is quick and easy, there are only... Read More

Running a Program on a Remote Server Using SSH

How do you run a program on a remote server... Read More

IBM Lotus Domino or Microsoft Exchange?

IBM Lotus Domino or Microsoft Exchange?The severe competition continues for... Read More

Microsoft Great Plains Jewelry ? Implementation & Customization Overview

Each Industry and market niche has business specific and unique... Read More

Off The Record - Tips For Picking Recording Software

Need software to record your voice, streaming audio or musical... Read More

Microsoft Great Plains Middle East - Arabic Language Support

Microsoft Business Solutions Great Plains is marketed for mid-size companies... Read More

SyncUp ? A File/Folder Synchronizer For Windows

SyncUp, a file synchronizer is designed to assist the home... Read More

Microsoft Great Plains e-Commerce ? additional considerations for programmer

Microsoft Great Plains, designed back in 1990th as database transferable... Read More

Microsoft Great Plains Remote Support - Overview

Microsoft Great Plains is now standard mid-market ERP application, serving... Read More

Keep Your Software Simple! A Review of EditPlus

I like my software simple. If it's too complex or... Read More

String in Java

Handling character strings in Java is supported through two final... Read More

Free Preventive Maintenance Software

While several preventive maintenance software manufacturers offer free trials for... Read More

Unofficial Windows 98 SE Service Pack 2.0 RC2

Microsoft has never released a service pack for Windows98 SE,... Read More

Microsoft Small Business Manager eCommerce ? Overview

Microsoft Business Solutions Small Business Manager is scaled down Great... Read More

Great Plains Dexterity Development: FAQ

Microsoft Business Solutions Great Plains is Dexterity-written application and currently... Read More

Scrap Booking Online: Word Perfect or Corel Graphics Suite?

Scrapbooks are very popular these days. I think that almost... Read More

The True Meaning of Freeware

The vast majority of us will have, at some point,... Read More

Theres Gold in Your Websites Server Log

Many Webmasters have never bothered to view their website's server... Read More

Microsoft Great Plains Inventory Control ? Overview For Consultant

Microsoft Business Solutions Great Plains is marketed for mid-size companies... Read More

Microsoft Great Plains: Annual Enhancement Program ? How To Be Re-Enrolled

Microsoft Business Solutions Great Plains is mid and even corporate... Read More

Managing Stress in the Computer Industry - Five Steps to a Stress-free Life

It would be easy to think, like most people apparently... Read More

Microsoft CRM USA Nationwide Remote Support

Remember old good days when your company probably had Great... Read More

What You Should Know About Installing Screensavers

Do you remember that frustrating feeling when you find an... Read More

Groupware: Answers the 5 Questions of Document Collaboration

Every organization which creates collaborative documents, whether they are budgets,... Read More

Simple Solution for Php Includes - IFrames

I have recently created my first Php program. I wanted... Read More

Microsoft Great Plains SOP: Sales Order Processing

Microsoft Business Solutions Great Plains is marketed for mid-size companies... Read More

Introducing GRML

Creating a new markup language.Introduction.General Reuse Markup Langauge, or GRML,... Read More