An improved Software Refactoring Method Based on Hierarchical Clustering Algorithm