Many organizations today invest hugely in developing and launching information systems. The costs include labor-related consultation, software development and design fees, as well as software and hardware expenditures. However, with the subjective nature of software development, the estimation of software cost is usually inaccurate. Such organizations generally consult a software vendor to deliver information systems based on a set of specific user requirements. Deterministic approaches to software development cost are often miscalculated, however, and the end result is usually a higher cost for the customer. The scope of this study is limited to the fundamentals of software cost estimation approaches and how the results of these cost models are used to determine software cost. This paper is not a software engineering model. It focuses on only a subset of the software development lifecycle (SDLC) pertaining to the estimation of software size and cost. This paper highlights the issues determining the size of software and how they relate to the accounting and budgeting of software cost through the estimation of various software metrics to empirically predict the cost involved before starting development. The paper also discusses how project and software costs are derived from the results obtained from the cost metrics. For this purpose, a practical six-step approach is derived and presented. Finally, the limitations are discussed and a conclusion is given. The paper consists of two parts. The first part deals primarily with a survey of literature reviewing the trends in costing systems and constructive cost models. The second part of the paper will deal with selected case studies, models, discussion, analysis and findings.