Ask DBMS Expert


Home >> DBMS

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.

DBMS, Programming

  • Category:- DBMS
  • Reference No.:- M91345930
  • Price:- $110

Guranteed 48 Hours Delivery, In Price:- $110

Have any Question?


Related Questions in DBMS

Data mining assignment -in this assignment you are asked to

Data Mining Assignment - In this assignment you are asked to explore the use of neural networks for classification and numeric prediction. You are also asked to carry out a data mining investigation on a real-world data ...

Sql query assignment -for this assignment you are to write

SQL Query Assignment - For this assignment you are to write your answers in a word document. This assignment is in three parts: Part A (reporting queries), Part B (query performance), Part C (query design). For this assi ...

The groceries datasetimagine 10000 receipts sitting on your

The groceries Dataset Imagine 10000 receipts sitting on your table. Each receipt represents a transaction with items that were purchased. The receipt is a representation of stuff that went into a customer's basket. That ...

You are in a real estate business renting apartments to

You are in a real estate business renting apartments to customers. Your job is to define an appropriate schema using SQL DDL in MySQL. The relations are Property(Id, Address, NumberOfUnits), Unit(ApartmentNumber, Propert ...

Objectivethe objective of this lab is to be familiar with a

OBJECTIVE: The objective of this lab is to be familiar with a process in big data modeling. You're required to produce three big data models using the MS PowerPoint software. This tool is available on UMUC Virtual Deskto ...

The relation memberstudentid organizationid roleid stores

The relation Member(StudentId, OrganizationId, RoleId) stores the membership information of student joining organization. For example, ('S1', 'O2', 'R3') indicates that student with Id 'S1' joined the organization with i ...

Relational database exerciseyou have been assigned to a new

Relational Database Exercise: You have been assigned to a new development team. A client is requesting a relational database system to manage their present store with the anticipation of adding more stores in the future. ...

Relational database design a given the following business

Relational Database Design A) Given the following business rules, identify entity types, attributes (at least two attributes for each entity, including the primary key) and relationships, and then draw an Entity-Relation ...

We can represent a data set as a collection of object nodes

We can represent a data set as a collection of object nodes and a collection of attribute nodes, where there is a link between each object and each attribute, and where the weight of that link is the value of the object ...

Data model development and implementationpurpose of the

Data model development and implementation Purpose of the assessment (with ULO Mapping) The purpose of this assignment is to develop data models and map Database System into a standard development environment to gain unde ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As