Question: SOLVE BY USING C++ Question [100 Marks School of Computing is planning to implement a mentoring programme involving all the students in the school. The

 SOLVE BY USING C++ Question [100 Marks School of Computing isplanning to implement a mentoring programme involving all the students in theschool. The programme will be run as follows: The students are divided

SOLVE BY USING C++

Question [100 Marks School of Computing is planning to implement a mentoring programme involving all the students in the school. The programme will be run as follows: The students are divided into two categories, mentor and mentee. A mentor is a more knowledgeable student and offers helps to a mentee, a less knowledgeable student. Mentors are chosen from those students with good CPAs. Mentee's progress are kept track based on their levels, from level 1 to 5. There are two approaches of mentoring: -Coaching-based: mentors will coach their mentees in particular areas, e.g., "C++ programming". "Game Programming", etc. Therefore, a coach must be expert in that area. -Support-based: mentors offer their supports to the mentees without having to meet face to face. Thus, the mentors need to provide their phone numbers. Abbreviations: Student name Student (n) getName() setName(n) n: name 1: level m: mentor C: expertise p: phone Mentee level Mentee (n.) assignMentor (m) displayinfo) Mentor Mentor (n.) edit() print() Coach expertise Coach (nice) getExpertise () setExpertise (e ) edit() print() Support phone Support (n.cp) getPhone() setPhone (p) edit() print) Figure 1: Class diagram for Mentoring System The school has hired you to develop a computer program to manage the records of the mentors and mentees. The class diagram for the program has been done by a senior software engineer and it is given in Figure 1 above. The classes are described further in Table I below. Table 1: Description of the members of each class Description Class Members class Student name Student (...) getName() and set Name (...) class Mentee level Student's name. A constructor Accessor and mutator to the attribute. The class attribute indicating the level of progress for each mentee. There are five levels, from 1 to 5, where level 5 indicates mastery level. Mentee (...) A constructor assignMentor (...) displayInfo) To assign a mentor to mentee. To display the mentee's information including: name and level, his/her mentor's details depending the type of the mentor, i.e. either a coach mentor or a support mentor. If no mentor is assigned yet, then this method will print a message indicating that. class Mentor Mentor (...) edit() Mentor's cpa. A constructor. To edit mentor information by the user. To print the mentor's name and cpa. print() class Coach expertise The mentor's area of expertise that he or she can be coaching, e.g., C++ Programming". "Game Programming", etc. Coach (...) A constructor. getExpertise () and Accessor and mutator to the attribute. set Expertise (...) edit() To edit mentor's expertise by the user. print) To print the mentor's name, cpa and expertise. class Support phone Support (...) get Phone () and set Phone (...) The mentor's phone number. A constructor. Accessor and mutator to the attribute. edit() To edit mentor's phone number by the user. To print the mentor's name, cpa and phone. print() Based on the class diagram in Figure 1 and specifications in Table 1, answer the questions (a) to (c) below. Note: As for questions 1 and 2, write your answers in a separate text file. Indicate the question numbers in your answers. 1. Determine the type of relationship formed between the following classes: a. Mentee and Student b. Mentee and Mentor c. Coach and Mentor d. Coach and Student e. Coach and Mentee (10 marks) 2. Analyse the class diagram in Figure 1 and its description in Table 1 as well as the program's output in Figure 2. Name TWO (2) methods that later in the the code, will be declared as virtual. Justify your answers. (10 marks)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!