Jump to content

COSMIC functional size measurement: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Added domain specific guidelines to explain the applicability of the COSMIC method, which also solves the underlinking of the entire article.
Line 51: Line 51:
== External links ==
== External links ==


* www.cosmic-sizing.org: A public domain version of the COSMIC measurement manual and other technical reports
* [https://www.cosmic-sizing.org COSMIC website] A public domain version of the COSMIC measurement manual and other technical reports
* [https://cosmic-sizing.org/publication-cat/case-studies/ Case studies archive] Public domain case studies for the COSMIC method


[[Category:Software engineering]]
[[Category:Software engineering]]

Revision as of 14:40, 14 April 2019

COSMIC functional size measurement is a method to measure a standard functional size of a piece of software and may also refer to the common software measurement international consortium, a voluntary organization that has developed the method and is still expanding its use to more software domains.

The method

The method defines the principles, rules and a process for measuring a standard functional size of a piece of software. Functional size is a measure of the amount of functionality provided by the software, completely independent of any technical or quality considerations. The generic principles of functional size are described in the ISO/IEC 14143[1] standard. This method is also an International Standard by itself. The COSMIC[2] standard is the first second generation implementation of the ISO/IEC 14143 standard. There are also four first generation implementations:

  • ISO/IEC 20926 - IFPUG function points
  • ISO/IEC 20968 - Mk II function points
  • ISO/IEC 24570 - Nesma function points
  • ISO/IEC 29881 - FiSMA function points

The method may be used to size software that is dominated by functionality to maintain data, rather than software that predominantly manipulates data. As a consequence of measuring the size, the method can be used to establish benchmarks of (and subsequent estimates) regarding the effort, cost, quality and duration of software work.

The method can be used in a wide variety of domains, like business applications, real-time software[3] mobile apps,[4], infrastructure software and operating systems. The method translates the Functional User Requirements of the software to four types of data movements:

  • Entry (E)
  • Exit (X)
  • Read (R)
  • Write (W)

The function point count provides measurement of software size. It may be used to estimate (and benchmark) software project effort, cost, duration, quality and maintenance work.

The foundation of the method is the ISO/IEC 19761 standard, which contains the definitions and basic principles that are described in more detail in the COSMIC measurement manual.

The applicability of the COSMIC functional size measurement method

Since the COSMIC method is based on generic principles, these principles can be applied in various domains. For a number of domains guidelines have been written to assist measurers to apply the COSMIC method in their domain:

  • Real-time Software Real-time software "controls an environment by receiving data, processing them, and returning the results sufficiently quickly to affect the environment at that time".[5] The guideline describes how to use the generic principles in this environment. [6]
  • Service Oriented Architecture (SOA) This is a software architecture where services are provided to the other components by application components, through a communication protocol over a network. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. The guideline describes how to measure the functional size of distinct components. [7]
  • Data WareHouse and Big Data is a field that treats ways to analyze, systematically extract information from, or otherwise deal with data sets that are too large or complex to be dealt with by traditional data-processing application software. The guideline describes how to transform the principles in that field to a functional size. [8]
  • Business Application Software This is software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user. Examples of an application include a word processor, a spreadsheet, an accounting application, a web browser, an email client,a media player, a file viewer, a flight simulator or a photo editor. Business Application Software contrasts with system software, which is mainly involved with running the computer. The guideline describes how to deal with application specific features, like data storage and retrieval. [9]

To explain the use of the method a number of case studies have been developed.

The organization behind the method

The COSMIC organization commenced its work in 1998. Legally COSMIC is an incorporated not for profit organization under Canadian law. The organization grew informally to a global community of professionals. COSMIC is an open and democratic organization. The organization relies and will continue to rely on unpaid efforts by volunteers, who work on various aspects of the method, based on their professional interest.

The first generation functional size measurement methods consisted of rules that are based on empirical results. Some[who?] define their own terminology, which may have overlap with other terms in software engineering.[specify] They work well for the software domains the rules were designed for, but for other domains, the rules need to be altered or extended. Key elements of a second generation functional size measurement method are:

  • Adoption of all measurement concepts from the ISO metrology
  • A defined measurement unit
  • Fully compliant with ISO/IEC 14143
  • Preferably domain independent

The method is based on principles rather than rules that are domain independent. The principles of the method are based on fundamental software engineering principles, which have been subsequently tested in practice.[10]

References

  1. ^ ISO/IEC JTC 1/SC 7 Software and systems engineering (2007-02-01). "ISO/IEC 14143". International Standards Organization. Retrieved 2018-06-13.{{cite web}}: CS1 maint: numeric names: authors list (link)
  2. ^ COSMIC (2003-02-19). "ISO/IEC 19761". International Standards Organization. Retrieved 2018-06-13.
  3. ^ Olivier Guetta, Boubker Bouzid and Jori Le-Bihan (Renault) (2012-04-17). "Design of an FSM-tool for real-time embedded software requirements". Mathwork. Retrieved 2018-06-18.
  4. ^ Harold van Heeringen and Edwin van Gorp (2015-01-05). "Measure the Functional Size of a Mobile App: Using the COSMIC Functional Size Measurement Method". IEEE. Retrieved 2018-06-18.
  5. ^ Martin, James (1965). Programming Real-time Computer Systems. Englewood Cliffs, NJ: Prentice-Hall Inc. p. 4. ISBN 978-0-13-730507-0.
  6. ^ Symons, Charles; Lesterhuis, Arlan; Desharnais, Jean-Marc (2018). "COSMIC guideline for sizing Real-time software". COSMIC. Retrieved 2019-04-14.
  7. ^ Fagg, Peter; Lesterhuis, Arlan; Rule, Grant (2018). "COSMIC guideline for sizing Service Oriented Architecture software". COSMIC. Retrieved 2019-04-14.
  8. ^ Symons, Charles; Lesterhuis, Arlan (2018). "COSMIC guideline for sizing Data WareHouse and Big Data software". COSMIC. Retrieved 2019-04-14.
  9. ^ Symons, Charles; Lesterhuis, Arlan (2018). "COSMIC guideline for sizing Service Oriented Architecture software". COSMIC. Retrieved 2019-04-14.
  10. ^ Abran, Alain; Oligny, Serge; Symons, Charles (2011). "COSMIC Full Function Points (FFP) and the Worldwide Field Trials Strategy". Auerbach publications. Retrieved 2018-06-18.