Examine the key components related to the object-orientated programming paradigm, analysing design pattern types.

Publish By: Admin,
Last Updated: 10-Jul-23
Price: $120

Learning Outcome 1: Examine the key components related to the object-orientated programming paradigm, analysing design pattern types

Learning Outcome 2: Design a series of UML class diagrams

Learning Outcome 3: Implement code applying design patterns

Learning Outcome 4: Investigate scenarios with respect to design patterns

Aim & Objective

This coursework is designed to demonstrate the broad understanding and knowledge of the module, assessing and evaluating the student`s strength and level of analysis. The coursework should be submitted as one document in a report format in final submission.

Scenario:

The company is in need for developing an application to manage their employee`s data and printing their payslips. Their employees are of 3 types: Salaried employees, who are paid a fixed monthly salary regardless of the number of hours worked, hourly employees who are paid by the hour and receive overtime pay (i.e., 1.5 times their hourly salary rate) for all hours worked in excess of 40 hours and commission employees who are paid a base salary plus a commission of 15% of their sales. The company wants to write an application that performs its payroll calculations and in having other database management functions like retrieval of records, adding and deleting of records, etc. The company wants you to write an application that performs the following functions.

The admin can login and logout to the system.

After login, the system should provide options like add new employees record, change employee`s details, navigate through employee`s detail and to make a search for an employee`s detail.

The system should also allow to print the employee`s payslips.

LO1

C# has many features of OOP paradigm such as Encapsulation, polymorphism, constructors/destructors, Inheritance, abstract/concrete, interface, method redefinition, generics/templates, containers including its class relationship like Generalisation/inheritance, realisation, dependency, aggregation and composition. You need to examine the characteristics of the Object-orientated paradigm as well as its various class relationships associated with the above case study in C#. You need to discuss a range of design pattern from each of the creational, structural and behavioural pattern types. Further, you can analyse the relationship between the object-orientated paradigm and design patterns used.

LO2 & LO4

In order to design a good solution for the given problem scenario using UML diagrams, it is important to make use of design model to understand its entities and its functional requirements.

Therefore, based on the requirements in the above case study you need to design and build class diagrams with attributes and operations of each class and the relationship, including inheritance if any between classes. You also need to define your class diagrams in relational to Creational, structural and behavioural for the same functional requirements using a UML tool. Carry out your own critical thinking and refine your existing class diagrams derived from your case study scenario using a UML tool. Determine and reconcile the most appropriate design pattern used in your UML diagram from each of the creational, structural and behavioural pattern types within the given scenario. At last, you should critically evaluate and justify the design patterns used in your designed application from the range of available design patterns.