A Cost Model of Software Prototyping