Software cost estimation involves predicting resources required for development using metrics like productivity, size, and function points. The COCOMO 2 model is an empirical algorithmic model that estimates effort as a function of product, project, and process attributes. It operates at three levels - early prototyping based on object points, early design using function points mapped to lines of code, and post-architecture directly using lines of code. Key cost drivers include requirements, personnel experience, reuse, and development flexibility.