In this paper, we develop a formal framework for what a good community should look like and how strong a community is (community strength). One of the key innovations is to incorporate the concept of relative centrality into structural analysis of networks. In our framework, relative centrality is a measure that measures how important a set of nodes in a network is with respect to another set of nodes, and it is a generalization of centrality. Building on top of relative centrality, the community strength for a set of nodes is measured by the difference between its relative centrality with respect to itself and its centrality. A community is then a set of nodes with a nonnegative community strength. We show that our community strength is related to conductance that is commonly used for measuring the strength of a small community. We define the modularity for a partition of a network as the average community strength for a randomly selected node. Such a definition generalizes the original Newman's modularity and recovers the stability in as special cases. For the local community detection problem, we also develop efficient agglomerative algorithms that guarantee the community strength of the detected local community.