COSMIC functional size measurement

Last updated

COSMIC functional size measurement is a method to measure a standard functional size of a piece of software. COSMIC is an acronym of COmmon Software Measurement International Consortium, a voluntary organization that has developed the method and is still expanding its use to more software domains.

Contents

The method

The "Measurement Manual" 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. [1] The generic principles of functional size are described in the ISO/IEC 14143 standard. [2] This method is also an International Standard by itself. The COSMIC [3] standard is the first of the old generation implementation of the ISO/IEC 14143 standard. There are also four first generation implementations:

These first generation functional size measurement methods consisted of rules that are based on empirical results. Part of the terminology that deals with users and requirements has overlap with similar terms in software engineering. 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:

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

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, [6] mobile apps, [7] infrastructure software and operating systems. The method breaks down the Functional User Requirements of the software into combinations of the four data movements types:

The function point count provides measurement of software size, which is the sum of the data movements for a given functional requirement. It may be used to estimate (and benchmark) software project effort, cost, duration, quality and maintenance work. [8] [9]

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. [3]

The applicability of the COSMIC functional size measurement method

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

To explain the use of the method a number of case studies have been developed. The method is of particular validity in the estimation of cost of software undertakings. [16]

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:

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

Related Research Articles

In the context of software engineering, software quality refers to two related but distinct notions:

IEC 61508 is an international standard published by the International Electrotechnical Commission (IEC) consisting of methods on how to apply, design, deploy and maintain automatic protection systems called safety-related systems. It is titled Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems.

The function point is a "unit of measurement" to express the amount of business functionality an information system provides to a user. Function points are used to compute a functional size measurement (FSM) of software. The cost of a single unit is calculated from past projects.

A Semantic Service Oriented Architecture (SSOA) is an architecture that allows for scalable and controlled Enterprise Application Integration solutions. SSOA describes an approach to enterprise-scale IT infrastructure. It leverages rich, machine-interpretable descriptions of data, services, and processes to enable software agents to autonomously interact to perform critical mission functions. SSOA is technically founded on three notions:

  1. The principles of Service-oriented architecture (SOA);
  2. Standard Based Design (SBD); and
  3. Semantics-based computing.

The International Function Point Users Group (IFPUG) is a US-based organization with worldwide chapters of Function point analysis metric software users. It is a non-profit, member-governed organization founded in 1986.

Software sizing or software size estimation is an activity in software engineering that is used to determine or estimate the size of a software application or component in order to be able to implement other software project management activities. Size is an inherent characteristic of a piece of software just like weight is an inherent characteristic of a tangible material.

Software measurement is a quantified attribute of a characteristic of a software product or the software process. It is a discipline within software engineering. The process of software measurement is defined and governed by ISO Standard ISO 15939.

The MK II Method is one of the software sizing methods in functional point group of measurements. This is a method for analysis and measurement of information processing applications based on end user functional view of the system. The MK II Method is one of five currently recognized ISO standards for Functionally sizing software.

SNAP is the acronym for "Software Non-functional Assessment Process," a measurement of the size of the software derived by quantifying the non-functional user requirements for the software. The SNAP sizing method complements ISO/IEC 20926:2009, which defines a method for the sizing of functional software user requirements. SNAP is a product of the International Function Point Users Group (IFPUG), and is sized using the “Software Non-functional Assessment Process (SNAP) Assessment Practices Manual” (APM) now in version 2.4. Reference “IEEE 2430-2019-IEEE Trial-Use Standard for Non-Functional Sizing Measurements,” published October 19, 2019. Also reference ISO standard “Software engineering — Trial use standard for software non-functional sizing measurements,”, published October 2021. For more information about SNAP please visit YouTube and search for "IFPUG SNAP;" this will provide a series of videos overviewing the SNAP methodology.

The Joint Committee for Guides in Metrology (JCGM) is an organization in Sèvres that prepared the Guide to the Expression of Uncertainty in Measurement (GUM) and the International Vocabulary of Metrology (VIM). The JCGM assumed responsibility for these two documents from the ISO Technical Advisory Group 4 (TAG4).

References

  1. ISO (2011-06-19). "ISO/IEC 19761:2011". International Standards Organization. Retrieved 2019-05-06.
  2. 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)
  3. 1 2 COSMIC (2003-02-19). "ISO/IEC 19761". International Standards Organization. Retrieved 2018-06-13.
  4. AVogelezang, Frank (2013). "What is a second-generation FSM method" . Retrieved 2019-04-14.
  5. 1 2 Abran, Alain; Oligny, Serge; Symons, Charles (2011). "COSMIC Full Function Points (FFP) and the Worldwide Field Trials Strategy". Auerbach publications. Archived from the original on 2020-08-06. Retrieved 2018-06-18.
  6. 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.
  7. 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". 2014 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement. IEEE. pp. 11–16. doi:10.1109/IWSM.Mensura.2014.8. S2CID   14229820.
  8. McConnell, Steve (2006). Software Estimation. Redmond, Wa: Microsoft Press. p. 200. ISBN   978-0735-605350.
  9. Abran, Alain (2015). Software Project Estimation. Wiley. ISBN   978-1118-954089.
  10. Flater, David (2016). "A Rational Foundation for Software Metrology" (PDF). NIST.
  11. Martin, James (1965). Programming Real-time Computer Systems . Englewood Cliffs, NJ: Prentice-Hall Inc. p.  4. ISBN   978-0-13-730507-0.
  12. Symons, Charles; Lesterhuis, Arlan; Desharnais, Jean-Marc (2018). "COSMIC guideline for sizing Real-time software". COSMIC. Archived from the original on 2020-08-06. Retrieved 2019-04-14.
  13. Fagg, Peter; Lesterhuis, Arlan; Rule, Grant (2018). "COSMIC guideline for sizing Service Oriented Architecture software". COSMIC. Retrieved 2019-04-14.
  14. Symons, Charles; Lesterhuis, Arlan (2018). "COSMIC guideline for sizing Data WareHouse and Big Data software". COSMIC. Retrieved 2019-04-14.
  15. Symons, Charles; Lesterhuis, Arlan (2017). "Guideline for Sizing Business Application Software". COSMIC. Retrieved 2019-04-14.
  16. "GAO COst Estimating And Assessment Guide GAO-09-3SP Best Practices for developing and managing Capital Program Costs" (PDF). US Government Accountability Office. 2009. Archived from the original (PDF) on 2020-08-06. Retrieved 2019-08-12.