Design and implement classes with suitable fields

Assignment Help Programming Languages
Reference no: EM132465785

IMAT5101 Object Oriented Programming Assignment - De Montfort University, UK

The learning outcomes that are assessed by this coursework are:

LO1. Have a comprehensive understanding of OO programming concepts: abstraction, encapsulation, inheritance, etc.

LO2. Be able to select appropriate API facilities in the design, implementation and testing of OO applications and applets.

About this assessment - You are given a scenario for your assignment. This takes the form of a design description and a specification by way of a class diagram. You should gain an understanding of the scenario, implement the class diagram and produce the functionality listed within the use cases.

You should implement each class to the expected standards as discussed and practiced during the module.

Objectives - The objective of this assessment is for you to demonstrate your ability to design and implement an OO system consisting of a set of Java classes and a client program. In particular:

Objective 1. To design and implement classes with suitable fields, constructors, accessor methods, and modifier methods.

Objective 2. To conform to the standard conventions of Java.

Objective 3. To implement classes that are associated by inheritance, delegation, composition and aggregation.

Objective 4. To write a client application that uses your classes to show that they function correctly.

Your Scenario: Shopping Cart

STAGE 1 -

Use Cases: You should have a test class, with a main method, that should complete the following use cases for the "Shopping Cart System" to show it works as expected. Please clearly highlight where each use case is exercised in your test program with comments:

CartTest

UC1: A test program that creates an instance of Cart, populates it with several orders (for both products and discount products), and uses a for-each loop to produce a formatted listing of the orders with their price, the number of items in the cart and the overall total price.

Note: You can either use a data file to dynamically read orders, or hardcode the order instances to add to the cart.

UC2: Test each of the sort methods work as expected, as evidenced by appropriate output.

For the sortOrders(Comparator<Order>) method, you should pass in a custom comparator that sorts by cost (asc) and if these are the same then by product (desc).

UC3: Additionally, test the use of equality by using the contains and remove methods. Also, you should use a PrintWriter to produce a receipt for all of the orders and associated details of the cart, and output these into a text file Cart.txt.

UC4: Add further code to show how each method of Cart can be used. In particular, increase and/or decrease the quantity of one or more of the products in the cart, and then re-print the updated cart listing.

STAGE 2 -

Use Cases: Add the following use case at the end of your existing code in your test program - you may need to update other code that has been affected by the additional changes.

UC5: Create an instance of RewardProcessor, add a selection of products to it (but not all the same as those in your cart), and then test the rewardPoints method appropriately.

STAGE 3 -

Use Cases: Add the following use case at the end of your existing code in your test program - you may need to update other code that has been affected by the additional changes.

UC6: Create four different Order object instances and ensure each has a different price policy - default, buy 1 get 1 free, buy 2 get 1 free, and buy 5 get 1 free.

Calculate the cost of each to show the price policies are being applied correctly, and test each policy with different quantities.

Attachment:- Object Oriented Programming Assignment File.rar

Verified Expert

This assignment is of Java programming to create a shopping cart. It is divided into 3 stages and each stage have different features which are implemented and tested with the result being shown on the screen as well as writing the output to a text file.

Reference no: EM132465785

Questions Cloud

Determine capital assets acquired under lease agreements : Determine Capital Assets Acquired Under Lease Agreements. Upon completion, the building had an appraised value of $10 million and a 40-year useful life.
Calculate diluted earnings per share for mayfair enterprise : Calculate the diluted earnings per share for Mayfair Enterprise?Calculate the basic earnings per share for Mayfair Enterprises for 2016. HINT: For basic EPS
Prepare a general journal entry for each correction : Prepare a general journal entry. Show the calculations for the earnings correction that KC Plastics Inc. must show in the 2017 financial statements.
Prepare journal entries for the ?nancial reorganisation jim : Prepare the journal entries for the ?nancial reorganisation of Jim Cabinets.Jim's Cabinets has been experiencing financial difficulties since
Design and implement classes with suitable fields : Calculate the cost of each to show the price policies are being applied correctly, and test each policy with different quantities
Prepare the journal entries from july : Prepare the statement of changes in equity and the shareholders' equity section of the balance sheet for December 31, 2016.Prepare the journal entries from July
Prepare the statement of changes in equity : Prepare the statement of changes.Determine the amount of dividends received by preferred and common shareholders from the September 30, 2023 declaration.
Demonstrating competence as a social worker : Demonstrating competence as a social worker, social service worker, or human service worker, which may be a field which you plan to work in the future
Prepare the journal entry to record exercise of conversion : Determine and Prepare the journal entry to record the exercise of the conversion option, using the book value method on January 1, 2017.

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd