我们如何使用MVC模式“划分”我们的Web项目?

I have to develop a webapp for my teacher that he'll use to manage his students.It has to do the following:

  • Student Management (Registration, Registration validation, Deletion, .. etc)
  • Attendance Management.
  • A grade book, to keep track of every student's grades.
  • Class management, since he teaches different classes, students must be "classified" into their corresponding classes.
  • A basic login system.

The difficulty I am facing is how to "partition" this project using the MVC pattern? Should I do one model and one controller for every component of the app?

Or should I just use one controller and put all methods in it?

Does every controller I add to the app must have it's model?

I have fully understood what are the responsibilities of the model and the view and the controller, but I can't wrap my head around how to use this pattern to "model" the application. Can you give me tips or clarifications about this? Maybe books I should read? etc ...

Thank you.

Each component in the app should have its MVC equivalent. For instance you could have a StudentManagement Controller, Student Model and a folder that has all the views pertaining to the student. This encourages modular programming.