Adel, you should be able to use class diagrams for all your models. Then
you could model you controller using interaction diagrams (i.e. the flow through
your system). However, it may be easier to start with use-case diagrams to document
the controllers and pick a subset of the controllers to construct sequence diagrams. I
like use-case diagrams here because it maps well to the services that a controller
provides. Next, if this is a modular application that tends to use a service
oriented architecture (SOA) style, then I would recommend starting with the package
diagram and drill down from there. In summary, you'll do the following:
0) service oriented architecture (SOA)
package diagram
1) models
class diagrams
2) controllers
use-case diagrams
sequence diagrams
I have indented the above so that you know what child diagrams exist within the parent diagram. For example, within a package, I can have class diagram(s). Well, I wish that this information can help you to get started and your tool should be able to nest diagrams and generate system architecture documentation. Furthermore, there are other diagrams for documenting concurrency and you should be able to google for that information.
Good luck,
-Conrad