This paper studies the QoS-aware replica placement problem in grid environments, given the workload capacity restriction of each replica server. Although there has been much work on replica placement problem, most of them concern average system performance and ignore quality assurance issue. However, we believe that quality assurance is very important, especially in heterogeneous environments. The capacity that each replica server can process is also a key factor in service quality assurance. In this paper, we propose two heuristic algorithms that determine the positions of replicas in order to minimize the sum of update, storage and access cost and satisfy the quality requirements imposed by data requests and the capacity constraint of each replica server. The experimental results indicate that the proposed algorithms find a near-optimal solution effectively and efficiently. Our algorithms can also adapt to various parallel and distributed environments.