To stay in the competitive and dynamic world of software development, organizations must optimize the usage of their limited resources to deliver quality products on time and within budget. This requires prevention of fault introduction and quick discovery and repair of residual faults. In this paper, we propose a neural network based approach for component based software reliability estimation and modeling. We first explain the neural networks from the mathematical viewpoints of software reliability modeling. Then, we will show how to apply neural networks to predict software reliability by designing different elements of neural networks. Furthermore, we will use the neural network approach to build a dynamic weighted combinational model. The two most important Analytical software reliability growth models are Non-homogeneous Poisson process (NHPP) model and Neural Networks (NN) model. In this paper we propose an approach using the past fault-related data with Neural Networks model to improve reliability predictions in the early testing phase. A numerical example is shown with both actual and simulated datasets and the applicability of proposed model is demonstrated through real software failure count data sets.