UK BTEC HND in Computing Advanced Programming Unit 20

ICON College of Technology and Management
BTEC HND in Computing
Unit 20: Advanced Programming (L5)


Aim & Objective

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

Assignment 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.

Note: The learner is free to make their own assumptions in storing employee’s data and in carrying out their development either in GUI or console-based application.


C# has many features of OOP paradigm such as Encapsulation, polymorphism, constructors/destructors, Inheritance, abstract/concrete, interface, method redefinition, generics/templates, containers including its className 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 className 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 className diagrams with attributes and operations of each className and the relationship, including inheritance if any between classes. You also need to define your className 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 className 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.


Based on your derived UML className diagrams in LO2, you are required now to build an application using Visual studio, 2017/ 2019 or any other IDE. You need to develop relevant codes for the application in C# for the given purpose implementing your selected design patterns.

Note: Programming Environment: You can use Visual Studio 2017/ 2019 or any other IDE of your choice available at the time as a programming environment. You must present your programming skills using OOPS using C#.


Note: You should attach all the supporting documents as a separate file in the appendix section of your assignment.

Relevant Information

To gain a Pass in a BTEC HND Unit, you must meet ALL the Pass criteria; to gain a Merit, you must meet ALL the Merit and Pass criteria; and to gain a Distinction, you must meet ALL the Distinction, Merit and Pass criteria.

1. Learning Outcomes and Assessment Criteria

Learning Outcomes and Assessment Criteria{" "} {" "}




LO1 Examine the key components related to the object-orientated programming paradigm, analysing design pattern types{" "}

D1 Analyse the relationship between the object-orientated paradigm and design patterns.

P1 Examine the characteristics of the Object-orientated paradigm as

well as the various className relationships.

M1 Determine a design pattern from each of the creational, Structural and behavioural pattern types.{" "}

LO2 Design a series of UML className diagrams{" "}

{" "} D2 Define/refine className diagrams derived from a given code scenario using a UML tool.{" "}

P2 Design and build className diagrams using a UML tool.{" "}

M2 Define className diagrams for specific design patterns using a UML tool.{" "}

LO3 Implement code applying design patterns

P3 Build an application derived from UML className diagrams.{" "}

M3 Develop code that implements a design pattern for a given purpose.{" "}

D3 Evaluate the use of design patterns for the given purpose specified in M3.{" "}

LO4 Investigate scenarios with respect to design patterns{" "}

P4 Discuss a range of design patterns with relevant examples of creational, structural and behavioural pattern types.

M4 Reconcile the most appropriate design pattern from a range with a series of given scenarios.{" "}

D4 Critically evaluate a range of design patterns against the range of given scenarios with justification of your choices.

2. Preparation guidelines of the Assignmentwork Document

  1. All Assignmentwork must be word processed.
  2. Avoid using “Textbox” in writing your assignment.
  3. Document margins must not be more than 2.54 cm (1 inch) or less than 1.9cm (3/4 inch).
  4. Font size must be within the range of 10 point to 14 points including the headings and body text (preferred font size is 11) in Arial.
  5. Standard and commonly used type face, such as Arial and Times New Roman, should be used.
  6. All figures, graphs and tables must be numbered.
  7. Material taken from external sources must be properly referred and cited within the text using{" "} Harvard system
  8. Do not use Wikipedia as a reference.