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

Question:2
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.

Sample Solution

This question has been answered.

Get Answer