there are many methods to estimate a software project. All of them contain sufficiently large literature and complex formulaes .If one has to refer it quickly it cannot be done and even if that is done one will never get so much data as to predict it accurately and in the manner they are saying. so will it always be art.
and here is a link which explains estimating a project using “use cases”. Use cases in any form are the starting point for any project discussions. So it can also be used for creating estimates. Thought this assumes that the use cases are very detailed and lot of thought should go into many other factors as well. Every project is different which may or may not have so much data but the point is in being aware of the fact that use case alongwith few factors can help in estimating effort for a project. And the actual data can be arrived using whatever information is available for a project.
ps – i am using presentation from slideshare in this post. They have just released mobile version of slideshare. Read it here. And it looks like this product was developed during Yahoo Open hack day in bangalore. Read it here.