UML and code in C#

XYZ company consists of a number of people, including nine employees and the owner (Craig). All people share some common attributes, name, age, title and salary. The nine employees include two managers (John and Mary), two accountants (Jane and Joe), and five blacksmiths (Jack, Katie, Amy, Lin, and Greg).  Employees who have the same job title begins with an identical start-up salary. The pay changes over time according to their individual performances. The start-up salary is $50,000 for manager, $45,000 for accountant, and $35,000 for blacksmith.

The owner can send a text message to multiple employees at a time. He can also delegate this duty to one of the managers when he is out of town. A manager can evaluate the performance of a blacksmith at a time and gives a Likert scale from 1 to 5. When a manager is out of town, s/he can delegate the evaluation duty to another manager. An accountant can update the salary of an employee at a time. An accountant delegates such a duty only to the other accountant when out of town. Employees other than accountants cannot update salary. A blacksmith can perform an assigned task object with an ID, due date, and description as the attributes. A blacksmith can delegate the duty to a blacksmith, a manager or even an accountant when out of town. A person can do only one extra delegated work besides his own work. 

Provide a UML class diagram for the system design. (5 pts). All attributes must be private and the classes must include Company, Employee, Owner, Manager, Accountant, Blacksmith, and Task. Methods must include send, evaluate, update, and perform, and may have arguments. Feel free to add interfaces, abstract classes and methods, but no more classes. Please model the relationships, multiplicity, and visibility. Try to reduce the unnecessary links and achieve good software reusability.

Implement C# code to test the following scenarios. (5 pts) Craig sends a message “Good Job” to employees John, Jane and Jack through arguments. Greg not only performs his own task t1 but also the delegated task t2 by Amy. In other words, calling Greg’s perform method will have both tasks prompted. Accountant Jane updates Greg’s salary with an increase of $1000 and does the delegated task from Lin. Let John and Mary evaluate Jack and Katie, respectively. Next, let John delegate his duty to Mary because he receives an urgent notice to go out of town. Finally, show Mary’s “evaluate” method give the Likert scales for Jack and Katie as 4 and 5.

 

Need a custom answer at your budget?

This assignment has been answered 6 times in private sessions.

© 2021 Codify Tutor. All rights reserved