You are on page 1of 12

COSMIC functional size measurement

Problem frames

Frames-Decomposition of complex promlems into simpler recurring problem. The approach to requirements modelling based on problem frames is gaining increasing attention and popularity. Problem frames are reported to have been used in modelling geographic information systems , a systemy, to monitor the transportation of dangerous goods,control problems,web applications and business strategy.

The problem frames approach has the potential to improve the early lifecycle phases of software projects since it drives developers to understand and describe the problem to be solved, which is crucial for a successful develoment process. However, the usage of problem frames in industrial software development processes requires that management practices like cost estimation are supported.

However, the usage of problem frames in industrial software development processes requires that management practices like cost estimation are supported.

Measuring functional size


Cost estimation models ,COCOMO accepts as input both the size in loc and the functional size. Function Point Analysis (FPA) and the Common Software Measurement International Consortium (COSMIC) method are the most prominent methods for performing the Functional Size Measurement (FSM) of software

COSMIC measurement is better then FPA

It is easier to perform, since its BFC(base functional components) are defined in a simpler way, and are easier to identify and count. With respect to the plain problem frames used in FPA , here we model problem frames using UML, in order to make clearer the correspondence between COSMIC BFC and problem frames concepts expressed in UML.

Problem frames in conjuction with UML(modelling frames using UML)


First model the problem via PF(problem frames) and then translate the model in UML. Note: We get a UML model, which in many cases is needed for the rest of the development process. We can also model requirements with UML incorporating directly the concepts of Problem Frames, thus avoiding the burden of translation.

COSMIC Method

It measures functional size in COSMIC function points(CFP). The functionality of the software is measured as a set of functional processes that are triggered by data provided by functional users and involve a set of data movements. A data movement concerns a single data group, i.e. a unique set of data attributes that describe a single object of interest.

The core measurement procedure is organized in two steps. 1) Functional processes are identified.They correspond to the functionalities that the system has to provide in response to events originated by functional users. 2) In the second step the data movements of each functional process are identified. The size of each functional process is given by the number of distinct data movements carried out in the process. The functional size of an application is given by the sum of the sizes of its processes.

Applying COSMIC measurement to sluice gate problem

A small sluice, with a rising and a falling gate, is used in a simple irrigation system. A computer system is needed to raise and lower the sluice gate in response to the commands of an operator.

(Sluice gate example contd)


Lets take a simple case: the management of the Stop command(stop process). Considering that the SluiceController is the Machine, the GateState is a designed lexical domain, the Operator is a biddable problem domain and the Motor is a causal problem domain. The involved datamovements are: The stop message from the operator to the sluice controller(an entry).

(Sluice gate example contd)

The ReadMov message from the SluiceController to the GateState, finalized to retrieve the Moving value (a read). The Off command from the SluiceController to the Motor (an exit); The WriteMov message from the SluiceController to the GateState (a write). Since the Stop process involves 4 data movements, it contributes to the size of the system with 4 CFP.Similarly it can be shown that CFP in case of raise process is 8 since it involves 8 events.