What are the basic concepts of object-oriented design you would use to implement a student course registration system?