CSE 308 assignment 3 Online on Structural Pattern for A1 solution


Original Work


5/5 - (1 vote)

1 Introduction
Suppose you have been assigned to revamp the official website of Arsenal FC. Your first responsibility is to maintain some basic information on team staffs. There are primarily three different types of staffs – coach, manager, and medical officer. There are again two types of medical officers – doctors and physiotherapist. You may assume these are the only types of staffs available. More than one person can be assigned to a post. The full structure can be expressed as follows: • Staff – Coach ∗ Unai Emery ∗ Neil Banfield – Manager ∗ Steve Bould ∗ Vic Akers OBE – Medical Officer ∗ Doctors · Gary O’Driscoll ∗ Physiotherapist · Andrew Rolls Each of the personnel has some attributes as shown in table 1. At startup of your code you should have this structure and data already setup. Apart from the salary received from the club, the staff earns from other sources (external revenue) such as advertisements, promotions, etc. A certain percentage (commission percentage) of this income has to be donated to the club by each staff.
2 To Do
Simulate a system which allows you to view detailed reports of age, salary, and club commission. See the attached figure at the end of the document for clarification. You should also be able to add or remove terminal staffs from your team structure.
Table 1: Description of various personnel. Name Age Salary External Revenue Commission Percentage type Unai Emery 46 6000000 3000000 20 Coach Neil Banfield 56 520000 100000 12 Coach Steve Bould 55 1560000 500000 16 Manager Vic Akers OBE 71 62000 100000 5 Manager Gary O’Driscoll 58 40000 20000 2 Doctor Andrew Rolls 38 41000 20000 2 Physiotherapist
3 Points to be Noted • You must follow composite pattern to complete this assignment. • Implementing the composite pattern should be your first priority. Simply simulating the application logic without the correct application and implementation of design pattern does not make you eligible for a mark greater than zero.