Use Case Point Estimation:
Use case modeling is a popular and widely used technique for capturing and describing the functional requirements of a software system.
The designers of UML recommend that developers follow a use case driven development process where the use case model is used as input to design, and as a basis for verification, validation and other forms of testing.
A use case model defines the functional scope of the system to be developed. The functional scope subsequently serves as a basis for top-down estimates.
An important prerequisite for applying a use case based estimation method is that the use cases of the system under construction have been identified at a suitable level of detail and the division of the functional requirements into the use case. The use case model may be structured with a varying number of actors and use cases. These numbers will affect the estimates.