QAC020C152A Object Oriented Programming
- Other / QAC020C152A
- 17 Nov 2020
- Price: $15
- Other / Other
Coursework Brief
Module title: |
Object Oriented Programming |
Module code: |
QAC020C152A |
Learning outcomes assessed within this piece of work as agreed at the programme level meeting |
On successful completion of this module students will be able to:
|
Assessed Learning outcomes |
First assessment i.e. Coursework 1 will cover LO1, LO2 & LO3 Second assessment i.e. Coursework 2 will cover LO2 & LO4 |
Type of assessment: |
Coding & Report – Coursework 1 – 60% Report – Coursework 2 – 40% |
Kind reminder: it is student’s full responsibility to ensure that all assignments are submitted on the correct link and on time (before 2pm). Failure to do so may result in CAPPED Resit and/or failure of the module. |
Assignment Support and Guidance
To successfully achieve this module, student must attempt both part of the assessment and score a minimum of 40% marks in each assessment. However, first coursework of the assessment overall weight 60% and second coursework overall weight 40%.The students are expected to complete the deliverables listed in each section of the coursework. Please read the assessment carefully and follow any instruction. Additionally, to understand the assessment better, guidance notes are provided in the Marking criteria section.
There are three main parts of the assessment. The first is related to test your knowledge and understanding for the Object oriented programming concepts. Second is related to test how you can apply your knowledge and finally the third is related to evaluate your work.
During the delivery of the module, you will have several opportunity to get formative feedback on your assessment during tutorial session. However, please note that these feedbacks are limited to provide recommendation on how to improve your work. Lecturer will not confirm any grades / marks. The feedback can be one to one or in-group sessions. Finally, you will receive a summative feedback within 10 working days from your final submission. Also, please note the summative feedback and the grades remain provision until the approval from exam board.
Assignment support:
Although you will be guided throughout the module by your lecturer, you can get extra support for your assignment, just make an appointment with the ACE team for any language, research and study skills issues and/or talk, email the Computing ACE expert for any advice on how to approach your assignment. REMEMBER: they are not here to give you the answers!
Specific requirements for the assignment: Software required for this module are NetBeans IDE with Java JRE. Mostly the required software fall under open licence agreement and are free to use, but please check the term & condition before use. Although the university will provide you with all necessary hardware, but it is recommend to use your own laptops. For minimum hardware require please refer to the software websites.
Reading List: Please refer to Moodle section “Library/Books/Journals/Online Resources” under your module.
Assignment Scenario
Your assessment consists of two pieces of coursework: Coursework 1 consists of report on your knowledge and understanding with software project, which assesses learning outcomes 1 and 2 and weight an overall 60%. Coursework 2 is an individual report, which assesses learning outcome 3 and 4 and weight overall 40%.
Requirements
You have recently begun a position in Dexter Software Ltd as a Junior Programmer, and have joined a small development team to develop a Payroll System for small manufacturing company called Marline Production Ltd. This company have 15-20 employees working in different contract types.
Most of the businesses have three types of employees i.e. Salaried Employees, Commissioned Employees and Hourly Employees. You are required to store basic information for different employees, which include:
- Employee ID
- Employee title
- First name
- Last name
- Date of birth
- National Insurance (NI) Number
- Job titles (you can fix the job titles e.g. Office worker, Officer, Supervisor, Team leader, Managers, CEO, Director etc. add more if required)
- Job Department (you can assume departments e.g. Production, Sales, Marketing etc. add more if required)
For salaried employees you need to include additional information related to mode (i.e. Part time or Full time) and their agreed Annual salary. Similarly, for Hourly Employees you will need to store agreed hourly pay rate and finally for Commission Employees their annual gross salary and their Commission rate. Before you could generate payslips, the employee must be registered. For testing purposes the program should auto populate at least three employees (one for each type of employee).
At the end of every month, you will generate and store the monthly payslip for each employee, which will require you to enter employee ID, month followed by relevant parameters, for example for hourly employee you will input number of hours and for commission employees you will input sales amount to calculate their commission. For salaried employees no input is required. You should only record the calculation of their monthly amount for salary based on their annual salary. Finally, your programme should be able to display the pay slip for any selected employee for any selected previous month only.
Your programme should have the following menu and sub menus.
- Register Employee
- Salaried Employees
- Hourly Employees
- Commission Employees
- View Employee
- All Employees
- Salaried Employees
- Hourly Employees
- Commission Employee
- Remove Employee
- Generate Pay slips
- Salaried Employee
- Hourly Employee
- Commission Employee
- Exit
A sample menu is provided below, however you can use your own imagination to present your screens.
The user interface will be menu driven prompting the user to select a choices. The menu items listed by numbers (in the above menu) will appear as your main menu and the items listed by alphabets will be your sub menus.
Depending on the option selected from the main menu, sub menus should branch out offering the user different options e.g. if option 1 from the main menu is selected, a sub menu should appear offering the user the choice to select type of employees to register.
What the system should be able to do:
The system should follow the sequence of evets and notify the use if wrong options is selected, for example, you cannot display employee if the employee is not registered. The first step will be to record employee’s information.
Special Notes:
- One employees with same name cannot be registered in two different contract type, e.g. salaried and commission.
- A list of at least 3 employees’ objects (one for each type of employee) can be pre populated for program testing and demonstration screen grabs.
On-screen reporting
Appropriate menus and submenus based on the option selected.
Coursework 1 Tasks
This is worth 60% of the overall assignment (Word Count 1000-1500 words).
Deliverables
- A report on knowledge and understanding of OOP concepts and principles. To begin with, you must explain the ethos of Object Oriented concept. Further, you need to justify the use of object-oriented concepts such as inheritance, abstraction, and polymorphism. Support your answer with the help of examples.
- Design documentation: Produce a class diagram for the above given scenario using Class, abstraction, inheritance, enum diagrams, or description templates. This diagram should include all possible methods and attributes you are planning to use in your program. Your diagram should accompany with brief description of use of type of relationship between classes.
- Development: Using your design solution develop only three menu options (i.e. Register Employee, View Employee and Exit option) using the given scenario with the respected submenus.
- Include Screen shots of the application performing tasks explain the operations (Hint: like a mini user guide).
Marking Criteria Coursework 1
Deliverable |
Marks |
Guidance |
Object Oriented Concepts |
20 |
Have you explained Object Oriented Concepts including examples? Justification the use of object oriented concepts such as inheritance, abstraction, polymorphism etc. What are they? |
Design documentation |
20 |
Have you provided class/interface/enum description template detailing the role the class performs in the project? |
The full source code for the chosen solution as an appendix in your report. |
45 |
Code Specification (30 marks) Your program executes successfully, produces the correct results and displays them in the correct order. It also meets all of the specifications in the requirements.
Readability (5 marks) Have you commented the code properly? Have you used meaningful names for your classes, variables and methods? Efficiency (5 marks) Is the code efficient without sacrificing readability and understanding? Is it well refactored without duplication of code? Validation (5 marks) Have you included error checks? Have you included exceptions? Have you made sure that the programme executes successfully? |
Screen shots of the program |
15 |
Have you provided a comprehensive set of screen grabs of the application performing different tasks? (Registering all three types of employees, also viewing and deleting them etc.). Note do not include source code screen shoots |
Your commentary should show evidence of your reading and research and use the Harvard referencing system. Your report is a chance to assess what you have down and to revisit key design and technical decisions you made. Based on your experience were these the right decisions or would you do anything differently?
Coursework 1 Checklist
TASKS COMPLETED |
Tick |
Cover sheet completed |
|
Table of contents |
|
Section on Object Oriented Concepts with examples. |
|
Section on Design Document |
|
The full source code attached in appendix. |
|
Appropriate Screen shots of the program provided. |
|
In-text citations correctly written |
|
Reference list on a separate page, completed and in the correct format |
Submission instructions:
- One single report should be submitted using appropriate Turnitin link under “Assignments & Submission” section. You will find this in your module section in Moodle (i.e. student portal).
- Please note file size limitation might apply. You report must be under 100MB.
- The full source code package should be zipped and attached to your word document report submission in the appendix. Please see the video on Moodle on how to attach the package. If you are using a Mac OSX computer, you will need to use a Windows machine to make this attachment. If you need further assistance, please contact your lecturer to understand the process.
Coursework 2
This is worth 40% of the final marks for this module.
For this coursework, you are also required to complete the following (Word Count 1000-1500 words).
- Create Test plan to test functionality and ensure it meets requirements. A test table listing any one of the main functional requirements (e.g. register employee), inputs and expected outputs, and if your program produces the desired output when tested. Also, support your testing with an example of screen shots from your code.
- Critically evaluate your program, write a report that assesses your solution, the approach taken, and your thoughts about using Java for object-oriented programming. Give examples, code samples and screen shots to back-up your comments.
- Meeting the Design Criteria: you need to explain on how you meet the design criteria and reflection of your approach used to develop. In addition, you should suggest how you could have made this application better if you design it again.
Marking Criteria for Coursework 2:
Deliverable |
Marks |
Guidance |
Test Evidence |
20 |
Test Table? Is there evidence that full and comprehensive testing of any one function been completed, with examples of code screen shoots. |
Critical Review Report |
60 |
You need to provide a critically review report, starting with the discussion on which Object Oriented (OO) Concepts and principles you have used in your program? Why did you choose the OO concepts or not, why do you think your approach is better or worse? Looking back at the project do you think you made the right choices regarding the object-orientated concepts you used. Would you use the same ones again in a similar project and if so why, why not? You can support your answer with example of screenshot of your code. |
Meeting the design criteria |
20 |
Did you meet all of the design criteria and did your approach work? With the benefit of your experience, would you have developed the application in any other way? If so how and why? |
Your commentary should show evidence of your reading and research and use the Harvard referencing system. Your report is a chance to assess what you have down and to revisit key design and technical decisions you made. Based on your experience were these the right decisions or would you do anything differently?
Coursework 1 Checklist
TASKS COMPLETED |
tick |
Cover sheet completed |
|
Table of contents |
|
Full and comprehensive Test table. |
|
Critical Review Report |
|
Meeting the design criteria |
|
In-text citations correctly written |
|
Reference list on a separate page, completed and in the correct format |
Submission instructions:
- One single report should be submitted using appropriate Turnitin link under “Assignments & Submission” section. You will find this in your module section in Moodle (i.e. student portal).
- Please note file size limitation might apply. You report must be under 100MB.
Referencing and Bibliography:
Although much of your report will contain an existing body of knowledge, you must write your assignment in your own words to demonstrate your understanding of the subject. You are required to follow the Roehampton Harvard referencing system when citing others' work. An accompanying list of references (on a separate page) must also be provided as part of your report. Extensively referenced work reflects the level of research you conducted in the process of producing the document. It is also an acknowledgment of other people’s work. Correct referencing demonstrates your academic and professional skill. It also reflects your academic honesty and thus to some degree protects you from cases of plagiarism.
Please refer to Moodle for the latest version of the Roehampton Harvard referencing System or ask the library.
Academic Integrity is a matter that is taken very seriously at the university and student should endeavour to enforce it to all their assignments. In other words, plagiarism, collusion (working and copying from another student) and ghost writing will not be tolerated and will result in sanctions eg: capped resit, suspension and/or withdrawal.