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.

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.
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.
|