1) If you are using an object oriented systems development approach, Use Case Diagrams with use case narratives, class diagrams, and detailed sequence diagrams with boundary and control classes will help you to maintain the system. Other UML diagrams may support the process depending on the complexity of the problem domain.
2) If your requirements are clear you will have only one set of classes. If your have identified large number of classes, you may split it in to several class diagrams to improve the readability. You may also divide classes in to packages to improve the readability.