Studies on Various Aspects of Software Reliability for Enhancing the Reliability of the Software Product: An Object Oriented Approch