Implement tax calculations within the item class

Assignment Help Database Management System
Reference no: EM13776179

You are a programmer for the software development group of a large retailer. Your company has grown dissatisfied with its current point-of-sale software because it has historically struggled with the correct application and calculation of sales tax on an order. Your business deals primarily with storefront business and its customers are primarily on foot in the store when they buy, so it is of the utmost importance that sales tax be calculated quickly and accurately. This may sound like a simple task, but remember that sales tax varies by state and maybe even by item within that state.

Your supervisor has asked you to pull apart the initial version of a possible new sales system, which he has colorfully but aptly named SaleBad for the sake of illustration (and perhaps his love of Tarzan movies). After a quick analysis, you sketch out the following UML diagram to describe it.

It is clear that the program does, indeed, need some work. To demonstrate the problems within the project, you prepare a brief demonstration of its weaknesses.

Task 1: Highlight the Problems. Unzip and open the project SaleBad. Create some Item objects, a Sale object, and some SaleLines objects (via the addItem method in SaleBad). Determine how the total (from the SaleBad object) is calculated and explain why the class needs to be redesigned. In one or two paragraphs, explain why the current design will not suffice. For the moment, do not worry about how, exactly, that redesign will happen.

It occurs to you that the code needs to be more loosely coupled. Changes in tax policy on various items, or on the tax rate itself, should affect as few classes and methods as possible. As you begin to conceptualize the new design, your supervisor pops his head around the corner again. Evidently, the store has been errantly charging sales tax on food items that are specifically supposed to be tax-free in some states.

You decide that the Item class is the best place to implement sales tax because the tax on each item could vary. The state in which the Item is purchased may also affect the tax, so with these thoughts in mind, you sketch out a new-and-improved UML class diagram, illustrated below.

This diagram is implemented in the project SaleBetter. Despite the improvements, however, something is bothering you.

Task 2: What's Bothering You? You had good reasons to implement tax calculations within the Item class-it makes much more sense than placing it in the other current classes. However, it simply makes more sense to introduce an entirely new Tax class. In 1-2 paragraphs, explain why, citing principles of good program design.

Now that you have decided that the taxation policies on items should be handled in a completely separate class, you proudly craft the UML diagram below. Feeling more and more confident, you implement it in a project called SaleEvenBetter.

Task 3: Taxation With Class Representation. Open the SaleEvenBetter project and explore how sales are calculated. In 1-2 paragraphs, explain how this design improves upon its predecessor.

One final hurdle needs to be cleared before you can mark this project complete: You still need to account for Items that are not taxed. You sketch the UML diagram below, splitting the Tax class into two subclasses, PercentageTax and NoTax. You have a plan in place, and your supervisor approves, so it is time to implement it.

Task 4: Let Them Eat (Untaxed) Cake. Using the project SaleEvenBetter as a starting point, implement the new design as described in the UML diagram above. Verify that the tax method within PercentageTax returns the same value as the getPriceWithTax method in the current version of SaleEvenBetter for taxed items, whereas the tax method in NoTax returns a value of zero. To complete Task 4, submit the new version of SaleEvenBetter.

Reference no: EM13776179

Questions Cloud

Process selection and resource planning : The Bullwhip effect is often used to describe the magnification of demand variability due to distorted information through the supply chain. A classic example of this was during the "dotcom" bust of 2000 when demand variability for broadband equip..
What are the three reasons to delegate decisions : What are the three reasons to delegate decisions? Briefly describe each. Give an example where you have been asked to make a decision and the benefits you experienced from this delegation
Romantic attachment style best describes : There are three primary romantic attachment styles. One quick way to discover your romantic attachment style is to choose which of the following descriptions best describes you. Take a minute to do this:
What is the uncertainty in the momentum : what is the uncertainty in the momentum of an electron if its position has been determined to an accuracy of ±10 poco meters?
Implement tax calculations within the item class : What's Bothering You? You had good reasons to implement tax calculations within the Item class-it makes much more sense than placing it in the other current classes.
Decision about the programs credibility : Which news program did you feel was the most credible? Why? What characteristics influenced your decision about the programs' credibility?
Discuss the chemical interactions of the materials : Why are active on-duty firefighters likely to experience the adverse health effects from inhaling 300 ppm of carbon monoxide faster than nonactive off-duty firefighters who inhale the same concentration of the same substance?
Find all the stakeholders within the pharmacare scenario : Describe the key characteristics of a stakeholder and determine all the stakeholders within the PharmaCARE scenario. Assess PharmaCARE's environmental initiative against the backdrop of its anti-environmental lobbying efforts and Colberian activitie..
An understanding of a leader''s role : The objectives of this course are to develop within the student:• An understanding of the fundamental concepts of various models of leadership.• An understanding of a leader's role.

Reviews

Write a Review

 

Database Management System Questions & Answers

  Show the count of the class after deleting

Will insert any first name, last name, ID, GPA, and phone number, in the proper location in the list sorted alphabetically by last name.  After insertion, you should show the count of the class.  Then print the list after you insert.

  Create a database using oracle packaged procedure

Create a database using Oracle packaged procedure

  A database security did not take priority in the enterprise

Data breaches have been reported in all industries, from education to healthcare to finance. Database security did not take priority in the enterprise IT security plans until a few years ago

  Identify the modality of the relationship

You are working on the database design that will support PPI's new order entry system. PPI has many thousands of customers around the world who place and pay for orders. One customer can place an order for many products at a time.

  Description of the relationship represented by scatterplot

Produce a scatterplot of Rent vs. Size (square meters of the apartment) for the rental data in rent.

  List the details of parts supplied by quality

Attribute dob is the customer's date of birth, stops is the number of stops (0-??) a flight requires, and onTime is a percentage (0-100) indicating how often a flight is on time. Keys are underlined.

  Develop new user and new role for assistant dba

You need to develop new user named ASSOCDBA1 and new ROLE named JRDBA1 which can be used for assistant DBA. You wish the new role to contain DBA role that the SYSTEM user ha

  Build an uml model in microsoft visio

Neatness of your diagram, please use the concepts of model, package, and sub-system well in the Visio model. Create both your diagrams under the static model from the model explorer in Visio.

  Develop an e-r diagram for the library database

Develop an E-R diagram for the library database. The relation schemas for the library database. Normalization of the relations (your relations should be in 4NF), SQL statements for creating all tables in your ERD

  Explain components represented in cell using mccumber model

Suppose that the security model is required for protection of information in class. Using NSTISSC model, analyze each of cells (i.e. 27 cells related with McCumber model).

  Document flowchart for the order processing system

document flowchart for the order processing system, and data flow diagram DFD at Level 0 for the order processing system.

  Normalize the following relations to 3nf

Do you always have to use the third normal form? Why or why not? What can happen if you do not use the third normal form? Normalize the following relations to 3NF, using the set of functional dependencies listed:

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