CodeCount, COCOMO

Lines of code (not including comments or whitespace)
Average salary
Overhead cost (1=none)
Project type

Organic projects - are relatively small, simple software projects in which small teams with good application experience work to a set of less than rigid requirements.

Semi-detached projects - are intermediate (in size and complexity) software project in which teams with mixed experience levels must meet a mix of rigid and less than rigid requirements.

Embedded projects - are software project that must be developed within a set of tight hardware, software, and operational constraints.

Required software reliability
Database size
Product complexity
Execution time constraint
Main storage constraint
Virtual machine volatility (that of the underlying layer, hardware, or OS
Computer turnaround time
Analyist capability
Applications experience
Progammer capability
Virtual machine experience
Programming language experience
Use of "modern" programming practices (e.g. structured programming)
Use of software tools
Required development schedule