You can estimate the size of a project in any of several ways:
Use an algorithmic approach, such as function points, that estimates program size from program features. (I'll summarize this practice shortly.)
Use size-estimation software that estimates program size from your description of program features (screens, dialogs, files, database tables, and so on).
If you have already worked on a similar project and know its size, estimate each major piece of the new system as a percentage of the size of a similar piece of the old system. Estimate the total size of the new system by adding up the estimated sizes of each of the pieces.
Most software programs and some of the algorithmic approaches require that you calibrate the estimation ...