Describes the framework of the back-end for on-line shopping

Assignment Help C/C++ Programming
Reference no: EM131295288

Assignment: Design Patterns

1 Overview

In this assignment you will apply design patterns to the design and imple- mentation of an simplified on-line shopping system.

1597_UML Diagram.jpg

Figure 1: UML Diagram: Simple Store

2 Background

Figure 1 describes the framework of the back-end for on-line shopping site. The classes in this framework are as follows:

Class Descriptions

Store: The backend representation of the site

The Store class is the model for the store. The web server passes requests through this object.

Attribute
name The site's name
departments The various departments in the store
customers The customers currently using the store

Operations 
enter(Customer c)  Customer enters the store
exit(Customer c)]  Customer exits the store 
getShoppingCart()  Returns an empty shopping cart 
getWishList() Returns an empty wish list
cusomters()  Returns a list of customers in the store 
departments()  Returns a list of the store's department 
addDepartment() Adds a new department to the store

Department

Attributes
name The department's name
items Items available for sale in the department 
customers The clients currently using the department 
observers The clients to be notified of sales or new items 
departmentID A unique ID for the department


Operations
enter(Customer c) Customer enters the store 
exit(Customer c) Customer exits the store
customers() Return a list of customers in the department 
items() Return a list of items for sale in the department 
addObserver() Add a new observer to the department

The classes BookDepartment and so on are possible sub-classes of the Department abstract class.

Item

An item for sale in a department.

Attributes

 

name ID

departmentID price

The item's name

A unique ID for the item

The ID of the department selling the item The price of the item

Customer
A client of the on-line shopping site.

Attributes

 

name shoppingCart wishList department

The customer'sname

The cart being used by the customer The wish list generated by the customer

The department in which the customer is currently shopping

ItemList

An abstract superclass for a list of items. This class has (at least) two specializations: ShoppingCart and WishList.

 

Attributes

 

 

items

Items currently in the item list

 

Operations

 

addItem(Item i) removeItem(Item i) items()

Add an item to the list Remove an item from the list

Returns a list of all current items

Initial Requirements

1. Customer transactions start when the enter the store.

2. Customer's checkout when they exit the store.

3. Acustomershould beable to request notification whenever anew item is added for sale in a department or a specifi item'sprice isreduced.

4. Customers can be afforded the opportunity to buy combinations of all items within a department

5. The user interface should besimple (no images oranimations) and may be either textual or graphical.

6. A testing framework is required for the back-end that will be indepen- dent of the user interface (opportunity for use of a unit test framework).

Problem

Your task is to build a prototype of this shopping site back-end system. This can be done using any of the three languages we have discussed in class. You are expected to refactor the design as you go through the implementation process. However, design changes mustbe documented byupdating the class diagram provided with the assignment.

Note that the requirements require you to implement at least seven design patterns: Iterator, Abstract Factory, Factory Method, Singleton, Observer, and Composite.

There will be others that may be needed as well depend- ing upon revisions required to the design and implementation decisions you make.

Verified Expert

In this assignment on-line shopping system UML diagram is provided. Using which the frameworks are designed for various several design patterns: Iterator, Abstract Factory, Factory Method, Singleton, Observer, and Composite. A C++ program is written for the prototype of this shopping site back-end system. There are various classes in on-line shopping system the data members and member function specified are implemented in the C++ program.

Reference no: EM131295288

Questions Cloud

Article review-research methods : Peer-reviewed article that discusses research in an organization. Topic ideas include the role of research, development of research studies, integration of different types of methods, or the communication of research results within an organization..
What is total amount of product costs incurred : Martinez Company’s relevant range of production is 9,700 units to 14,700 units. When it produces and sells 12,200 units, For financial accounting purposes, what is the total amount of product costs incurred to make 12,200 units?   TOTAL PRODUCT COST?
Identify one theory that appeals to you the most : Identify one theory that appeals to you the most from the leadership theories discussed. Research two local companies: One in which the leadership seems to exemplify this leadership theory and one that seems to be in direct contrast.
Develop a statement of work for the project : Develop a statement of work for the project, using the format of (1) background, (2) task, (3) objectives, (4) approach, and (5) input source.Next, create a Work Breakdown Structure for the project. What are the key steps, including work packages,..
Describes the framework of the back-end for on-line shopping : Implement at least seven design patterns: Iterator, Abstract Factory, Factory Method, Singleton, Observer, and Composite - Describes the framework of the back-end for on-line shopping site.
What year will income before tax be affected by discounts : On December 28, 2016, Tristar Communications sold 10 units of its new satellite uplink system to various customers for $25,000 each. The terms of each sale were 1/10, n/30. Tristar uses the gross method to account for sales discounts. In what year wi..
Summaries of information on key human resource : Executive Briefings: These are excellent summaries of information on key human resource topics and initiatives. Research Reports: These are white papers examining contemporary human resources issues.
Compute the variable overhead rate and efficiency variances : Becton Labs, Inc., produces various chemical compounds for industrial use. One compound, called Fludex, is prepared using an elaborate distilling process.  Compute the price and quantity variances. Compute the variable overhead rate and efficiency va..
Experiencing cialdini presentation style : In addition to experiencing Cialdini's presentation style from his narration in the Background video, view some of his other videos on YouTube. Find at least one that discusses persuasion. Post the link to the video and share your thoughts.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create a cpp application that will store and retrieve names

Create a C++ console application that will store and retrieve names and addresses in a text file. The program should do the following. It should accept a series of names and addresses from the console.

  Write a program to calculate the area of a circle

Write a program to calculate the area of a circle. The program should use two procedures. The first procedure will print out the program heading and ask the user to enter the radius. The second procedure should calculate the area. The area of the cir..

  Write a value-returning function

Write a program that uses the function isNumPalindrome given(Palindrome Number). Test your program on the following numbers: 10, 34, 22, 333, 678, 67876, 44444, and 123454321.

  Problem regarding the command-line parameter

Your program will deal with three input files: a text file to check (the "user file"), a dictionary file containing correct spellings, and a settings file. The words in the user file will be spell-checked, and any resulting corrections written bac..

  Create class that allows you to generate number of plants

In your driver, you should create at least 2 different plants, after you instantiate a plant, you should print out the information about the plant, then water the plant at least three times and then print out the plant again.

  What is the output of the following code

What is the output of the following code

  Write a c++ program that will manipulate an array

Write a C++ program that will manipulate an array. It should handle up to 100 integer numbers. Write a separate function for each of the requirements mentioned below. Label the output appropriately.

  Write program that reads positive integer using spim system

Write and test a program that reads in a positive integer using the SPIM system calls. If the integer is not positive, the program should terminate with the message "Invalid Entry"; otherwise the program should print out the names of the digits of..

  Pairs of jeans to the cost of the jeans

Look at the table that reprecents the local store (1 pair or jean $24 ,2 pair of jean $48 , 3 pair of jean $72 ) for each row in the table , find the ratio of the number of pairs of jeans to the cost of the jeans.

  Prepare a program to find out the perfect numbers

Write a program in C++ that outputs all perfect numbers and their factors from 1 to 1000 using your own created function - Prepare a program to find out the perfect numbers and it must compile with no errors and follow the directions.

  Research paper on dynamic arrays

Create codes for the following problem/s. Compile, test run, and edit them if necessary. Include your original .cpp and related file(s) (if any) in a single folder. Compress (zip) the folder and submit the single zipped folder.

  Program reads the contents of employees

Design a program that reads the contents of the employees.dat file and prints all the data within it. Format the report as designated in the Printer Spacing Chart below.

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