In this paper, we survey several existing models for software reliability prediction. Using these models, various useful quantitative measures for software reliability assessment can be obtained. These measures include the number of initial faults, failure intensity, reliability within a specific time period, number of remaining faults, MTBF, and MTTF, and so on. In addition to the traditional SRGMS, we also present valid time-variable fault detection rate models which have the inherent flexibility of capturing a wide range of possible fault detection trends during software development process : increasing, decreasing and steady state. Furthermore, we show how several existing software reliability growth models based on Non-homogeneous Poisson process(NHPP)can be comprehensively derived by applying the concept of the weighted arithmetic, weighted geometric, or weighted harmonic mean. Based on the same derivations and under the general frameworks, the existing NHPP models as well as new NHPP models can be derived.