Research Report


Research on the various design patterns described in Smith (2015) and Gamma et al (1999). Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.

Describe each of them


Refer to the Software Solution Scenario described in Appendix A and also OO Software Design Patterns described in Gamma et al (1995) / Smith (2015 to answer the questions below:

You have been tasked to carry out the development of an online shopping system for iChipKart store. You are currently working on two use cases of the system: Checkout and Compute Price. An extract of the current analysis and design of these use cases are given in Appendix A.

Consider the two software design problems described below.

Design Problem 1 (Compute Price):

During the transition from Analysis to Design phase, you are designing the price computation for ease of incorporating different shipping and handling fees for different locations in the pricing policies. In your design, you also want to ensure that various policies in pricing computation are encapsulated appropriately for ease of maintenance.

Suggested candidate design patterns (Proxy, Strategy, Template Method)

Use UML diagram to design ComputePrice class. Then write the complete Java class

Design Problem 2 (Checkout):

During the transition from Analysis to Design phase, you are designing the functionality of free gifts for ease of offering and withdrawing the various gifts dynamically and for ease of modifying the price ranges of free gifts.

Suggested candidate design patterns (Chain of Responsibility, Composite, Iterator)

Use UML diagram to design Checkout class. Then write the complete Java class

NOTE: Don’t forget to include relationships (use appropriate symbols, dotted arrow, diamond shape …etc)

For each of these design problems, answer the following:

a.Choose one of the suggested candidate design patterns that you think best solves the problem. Justify the applicability of your choice. You need to research on various patterns and come up with your choices and justifications.

b.Applying scientific principles identify the participants for incorporating the chosen design pattern and modify the class diagram of the use case to show their relationships.

c.Critically analyze the patterns and list two benefits of incorporating the design pattern, with respect to the problem.

3.What to submit:

Questions 1 and 2 in a written essay format. You must use the project template given on Moodle to present your answers.

4.Research References:

  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns : Elements of Reusable Object-Oriented Software, Addison Wesley, 1995.
  • Smith, Ben. Object-Oriented Programming. Advanced ActionScript 3. Apress, pp63-69, 2015 .

5.APPENDIX A (Sample of flow charts)

Analysis and Design for Object Oriented Software
Online Shopping System for iChipKart

6.1 Use Case Model Global View (Partial)

6.2 Checkout Use Case

6.2.1Brief Description

After a buyer adds items to the shopping cart, he/she will check out the purchased items. Items can be Books, Media (CD, hard disks, memory card etc.), TV, computing items and accessories like tablets, thumb drives etc. In order to make their business competitive, iChipKart has decided to give its buyers one of the following memorabilia items as a free gift during the period 1 October to 15 January. The following describes the policy for these gifts:

  • If the buyer purchases goods worth ≥$25 and <$50, he/she will receive a iChipKart T-Shirt.
  • If the buyer purchases goods worth ≥$50 and <$100, he/she will receive a iChipKart backpack.
  • If the buyer purchases goods worth ≥$100, he/she will receive a iChipKart portable hard disk of 1Tb.

Note that iChipKart memorabilia items are not for sale.

6.2.2Flow of Events

This use case is invoked when the buyer chooses the Checkout option from the Purchase Screen.

  • The system invokes the Compute Price use case to compute the subtotal of items price of all purchased items (excluding the shipping, handling and other charges).
  • The system determines the free gift that the buyer is eligible for this transaction and adds (if eligible) the memorabilia to the shopping cart (this item is priced at $0.00).
  • The system invokes Compute Price use case to compute the total price of this transaction, including the shipping, handling and other charges.
  • The system presents the total price and prompts the buyer for payment details in Payment Screen.
  • Upon verification of the payment details, the system invokes the Print Receipt use case to print the receipt for this transaction.
  • The system displays completion message.
  • The buyer acknowledges the completion message and the system returns to the Purchase Screen.
  • The use case terminates.

6.2.3Class Diagram

6.2.4Sequence Diagram

6.3 Compute Price Use Case

Brief Description

This is an abstract use case which will be included in use cases such as Checkout. In this use case, the subtotal of items and total price of the items in the shopping cart will be computed and other charges such as shipping, and handling charges will be included as appropriate. The total price will constitute the following:

  • Base price of the items.
  • Shipping charges.
  • Handling charges (eg: fragile items will need to be specially packed, surcharge for oversized items, duties for dutiable items depending on country-specific policies, etc).

6.4 Flow of Events

This abstract use case is invoked when other use cases want to compute the subtotal of items price of items in the shopping cart or compute the total price of the items in the shopping cart including the shipping, handling and other charges.

  • The system traverses through the shopping cart items, determines the product price and computes the subtotal of items price of all the items.
  • If shipping, handling and other charges are not required, the system returns the subtotal of items price to the calling use case. Otherwise the system continues.
  • Based on the shipping destination, the system computes the shipping charges and adds it to the total price.
  • Based on the fragility of the items, the system computes the handling charges and adds it to the total price.
  • The system returns the total price to the calling use case.
  • The use case terminates.

6.5 Class Diagram

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
The price is based on these factors:
Academic level
Number of pages
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more
error: Content is protected !!