Application data and logic (encapsulated by the model) should be independent of presentation logic (encapsulated by the views and controllers):
Views are responsible for user input and output. A dialog box is a good example of a view. Controllers implement the logic for the allowable transactions that can be performed on the model. The model encapsulates the fine grained business logic and data.
Here's a sequence diagram showing the interaction: