Aim & Objective
This coursework is designed to allow the learner to demonstrate their broad understanding, knowledge
and the skills gained through the module’s learning journey. The coursework must be submitted as one
document in a report format with the full implementation of the code project embedded as an object at
the end of the report.
Assignment Scenario:
A company in central London is looking for Software Developer to develop simple employees’ management application. The company needs to record employees’ detail and the departments working in. The different departments are Sales, Marketing, Administrator, HR and Finance. The college wants to develop an application that performs the following functions.
• The admin can login to the system before use.
• After login, the system should provide options like add new employees, remove employees, change
employees’ department, navigate through employees’ detail and to make a search for an employee’s
detail.
• The employee’s detail should have Id, first name, last name, dob, phone, her/her picture (optional),
department working in, start date, salary, and type of employment (part-time and full-time).
• For this application, you may or may not use any database as backend.
• UML diagram should cover use-case diagram, class diagram and Activity diagram.
• Programming Environment: You can use Visual Studio 2019 as a programming IDE. You must present
your programming skills using OOP (Object Oriented Programming) in C#.
• Expected programming output: For fulfilment of LO3 you need implementation of all the functionalities,
providing that they are complete and follow OOP principles.
The application you develop will be either a desktop with a GUI, Console or web application. Whichever
of the options will be decided by what is used in the teaching of this course.
LO1
C# is an OOP language that allows OOD paradigms such as Abstraction Encapsulation, polymorphism, and Inheritance. You need to examine the characteristics of the Object-orientated paradigm in relation to the given scenario. You need to discuss a range of design patterns from each of the creational, structural, and behavioural patterns and analyse the relationship between the object-orientated paradigm and the design patterns to be used in this application.
N.B. You may use code snippets to aid your discussion. Any code snippets that appear in your submission must be within the context of the given scenario. Textbook examples are not acceptable.
LO2
In designing an object-oriented solution, it is important to make use of modelling tools such as UML diagrams. Your task here is to produce a UML Class diagram to capture the relationships (generalisation, specialisation, composition) between the entities identified for the implementation of an OO solution to the scenario. Your UML class diagrams should be specific to the design pattern you will use in this implementation, and it must be complete with the necessary fields and methods that will be implemented in LO3.
N.B. All UML diagrams and/or code snippets included in your submission must be within the context of the given the scenario. Textbook examples are not acceptable.
LO3
Based on your UML class diagrams in LO2 you are required to develop the application in C# by following object-oriented programming paradigm. The application must implement all the features listed in the given scenario above. You will select an appropriate design pattern (with justification) to implement and evaluate the pattern used. Use Visual Studio 2019 community edition or any other IDE of your choosing as your development tool.
N.B. In This section, you should explain the key elements of your implementations, the rationale
for your approach etc., for example how your implementation relates to your design in LO2, its
relationship with the design patterns discussed and your evaluation and test results. This can be supported with code snippets. Your complete code will be submitted as an embedded object Loading...