COSMIC functional size measurement
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. 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. The generic principles of functional  size are described in the ISO/IEC 14143 standard.<ref name="ISO/IEC 14143"></ref> This method is also an International Standard by itself. The COSMIC standard is the first "second 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. The principles of the method are based on fundamental software engineering principles, which have been subsequently tested in practice. 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, mobile apps, 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. 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: 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. 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 define their own terminology, which may have overlap with other 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 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.