Networks are known to be suitable representations of many complex systems. The first idea of networking was taken from graph theory. Many real-world networks have nonhomogeneous structures and contain sets of densely interconnected substructures called communities which play functional role in the original system. Community is a qualitative concept. Therefore it has no deterministic definition. Detecting community structure is important because it will give knowledge of the structural topology of networks. A lot of algorithms have been introduced to identify communities. The new algorithm which is presented in the thesis, is based on Non-negative Matrix Factorization method. In fact, one of the non-negative graph matrices of network will be chosen as the feature matrix, V, of the NMF method and will be factorized into multiplication of two non-negative matrices W, H. This factorization is a representation of the dataset in a new reduced dimension space. Matrices W and H are being initially selected randomly. Iterative assignment of these matrices will be done on the basis of two update rules which finally leads to the convergence of WH to V. For a network, each column of W corresponds to one community and the components of the weight vector indicate the degree of dependence of each node to every community. We applied our algorithm to a variety of real-world and computer-generated networks whose community structure have been already known or investigated by others before. Our method leads to detection of overlapping community structure of networks. We introduced a new feature matrix called Vertex-Vertex correlation Matrix . Using this matrix makes our algorithm less sensitive to different initializations than previous existing matrices which have been used in NMF based algorithms and gives more accurate results in various data bases. In addition, this feature matrix gives a new definition of community which is reasonable in many cases. Key Words Network, Community, NMF method, Vertex-Vertex Correlation Matrix.