Glossary of key terms used COSMIC Sizing

Texts underlined refer to terms defined on this page. Between parentheses the abbreviation of the term.




Software system for collecting, saving, processing, and presenting data by means of a computer.


Base Functional Component (BFC)

Elementary unit of Functional User Requirements defined by and used by an FSM method for measurement purposes.


Conceptual interface between the software being measured and its functional users.



Any part of a software system that is separate for reasons of the software architecture, and⁄or that was specified, designed or developed separately.

Control command

Command that enables human functional users to control their use of the software but which does not involve any movement of data about an object of interest of the FUR of the software being measured.

COSMIC unit of measurement.

1 CFP (COSMIC Function Point), which is defined as the size of one data movement.


Data attribute

Smallest parcel of information, within an identified data group, carrying a meaning from the perspective of the software’s Functional User Requirements.

Data group

Distinct, non-empty, non-ordered and non redundant set of data attributes where each included data attribute describes a complementary aspect of the same one object of interest.

Data manipulation

Any processing of the data  other than a movement of the data into or out of a functional process, or between a functional process and persistent storage.

Data movement

Base Functional Component which moves a single data group.


Entry (E)

Data movement that moves a data group from a functional user across the boundary into the functional process where it is required.

Error/confirmation message

Exit issued by a functional process to a human user that either confirms only that entered data has been accepted, or only that there is an error in the entered data.

Exit (X)

Data movement that moves a data group from a functional process across the boundary to the functional user that requires it.


Something that happens.


Functional process

Elementary component of a set of Functional User Requirements, comprising a unique, cohesive and independently executable set of data movements.

Functional process level of granularity

Level of granularity of the description of a piece of software at which

  • the functional users are individual humans or engineered devices or pieces of software (and not any groups of these) AND
  • single events occur that the piece of software must respond to (and not any level of granularity at which groups of events are defined).

Functional size.

Size of the software derived by quantifying the Functional User Requirements.

Functional Size Measurement (FSM)

Process of measuring Functional Size.

Functional Size Measurement method (FSM method)

Specific implementation of FSM defined by a set of rules, which conforms to the mandatory features of ISO/IEC 14143-1:2007.

Functional user

User that is a sender and/or an intended recipient of data in the Functional User Requirements of a piece of software.

Functional User Requirements (FUR)

Sub-set of the user requirements describing what the software shall do, in terms of tasks and services.



Data moved by all the Entries of a given functional process.



Partition resulting from the functional division of a software system.

Level of decomposition. 

Any level resulting from dividing a piece of software into components (named ‘Level 1’, for example), then from dividing components into sub-components (‘Level 2’), then from dividing sub-components into sub-sub components (Level 3’), etc.

Level of granularity

Any level of expansion of the description of any part of a single piece of software (e.g. a statement of its requirements, or a description of the structure of the piece of software) such that at each increased level of expansion, the description of the functionality of the piece of software is at an increased and uniform level of detail.


Measurement method

Logical sequence of operations, describe generically, used in the performance of measurements.

Measurement process

Process of establishing, planning, performing and evaluating software measurement within an overall project or organizational measurement structure.

Measurement (strategy) pattern

Standard template that may be applied when measuring a piece of software from a given software functional domain, that defines the types of functional user that may interact with the software, the level of decomposition of the software and the types of data movements that the software may handle.


Description or analogy used to help visualize a concept that cannot be directly observed.


Object of interest (OOI)

Any ‘thing’ that is identified from the point of  view of the Functional User Requirements about which the software is required to process and⁄or store data.


Data moved by all the Exits of a given functional process.


Peer software

Piece of software that reside in the same layer as, and exchanges data with, another piece of software.

Persistent storage

Storage which enables a functional process to store data beyond the life of the functional process and/or which enables a functional process to retrieve data stored by another functional process, or stored by an earlier occurrence of the same functional process, or stored by some other process.

Purpose of measurement

Statement that defines why a measurement is being made, and what the result will be used for.


Read (R)

Data movement that moves a data group from persistent storage within reach of the functional process which requires it.



Set of Functional User Requirements to be included in a specific functional size measurement instance.


Set of computer instructions, data, procedures and maybe documentation operating as a whole, to fulfill a specific set of purposes, all of which can be described from a functional perspective through a finite set of Functional User Requirements, technical and quality requirements.

Software system

System that consists only of software.


Part of a functional process that either moves data (into the software from a functional user or out of the software to a functional user, or to or from persistent storage) or that manipulates data.


Combination of hardware, software and manual procedures organized to achieve stated purposes. [adapted from


Triggering Entry

The Entry data movement of a functional process that moves a data group generated by a functional user that the functional process needs to start processing.

Triggering Event

Event that causes a functional user of the piece of software to initiate (‘trigger’) one or more functional processes.


Unit of measurement.

Particular quantity, defined and adopted by convention, with which other quantities of the same kind are compared in order to express their magnitudes relative to that quantity.


Any person or thing that communicates or interacts with the software at any time.


Value (of a quantity)

Magnitude of a particular quantity, generally expressed as a unit of measurement multiplied by a number.


Write (W)

Data movement that moves a data group from a functional process to persistent storage.