Abstract:Some principles of layering and separation in the design of telecommunication software are introduced in this paper. By way of layering and separation, the complexity of telecommunication software can be reduced. Further more, the software architecture can be more clear, adaptive and easy to understand. They are a great help to the telecommunication software developers.