Estas dudas nunca tienen respuesta porque falta información, no puedes pretender que te den el precio de un coche sin que les informes del modelo, motor, quilometraje...
Hay muchos factores y depende del proceso de desarrollo que sigas. A lo simple teniendo en cuenta que eres freelance o estás haciendo apaños:
Cuenta las horas por rangos:
Estimación: de 4 a 8 horas
Toma de requerimientos: de 3 a 5 dias
Analisis: de x a x dias
Desarrollo funcionalidad x: ...
Desarrollo funcionalidad x+1: ...
Tests: ...
Integración: ...
...
O lo que sea que necesites añadir dependiendo del tamaño del proyecto y las fases que sigas en el desarrollo.
Siempre con el mínimo y el máximo. El cálculo final hay que hacerlo con el máximo ya que cuando salgan imprevistos quien tiene que perder es el cliente puesto que tu trabajarás igual.
Cuando tienes las horas dependiendo de la complejidad del proyecto, el lenguaje o sistema utilizado, el valor para la empresa y tu autoestima como programador harán que subas o bajes el coste por hora. De todos modos para tener una referencia rápida de lo que se paga dependiendo del perfil del programador siempre puedes ver infojobs trends:
http://salarios.infojobs.net/Tan importante es ser caro como ser barato. Si eres demasiado barato no te tomarán en serio y cuando tengan un problema aunque no sea culpa tuya dirán lo de "esto nos pasa por buscar chapuzas baratas". Si eres demasiado caro será la última vez que te llaman.
Enfin, no es el modelo definitivo pero espero haberte orientado un poco.
Suerte!