Benefits of incorporating the design pattern

Assignment Help Programming Languages
Reference no: EM132750037

MITS4002 Object-Oriented Software Development - Victorian Institute of Technology

OBJECT-ORIENTED SOFTWARE DEVELOPMENT

Learning outcome 1: Create object hierarchies using additional utility methods, application programming interfaces (API) and interfaces, in conjunction with existing classes and objects.

Learning outcome 2: Extend the on object-oriented concepts and design patterns introduced in lectures to carry out further research on a chosen object-oriented design pattern or emerging recent programming languages.

Question 1

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: Do not 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.

d. Concerns such as design of security properties and domain specific security is addressed while transiting from requirements engineering to design. Choose any two security design patterns of your choice and research their merits and demerits. Appraise you selected security patterns against the following pattern characteristics:

i. Level of Abstraction: Ease with which the pattern can be used in different contexts without redefinition.

ii. Completeness: The security speciation that is correct and complete.

iii. Reusability: The pattern should be easily applied and used in different contexts.

iv. Pattern Composability: The pattern should be easily used with other patterns.

v. Security Composability: The pattern can be used with other patterns without losing any of the security it provides, nor affecting the security provided by the other patterns.

vi. Valid-ability: The patterns' security properties, as well as their implementation and usage, can be easily validated. This validation would preferably be automated.

Attachment:- Research Case Study.rar

Reference no: EM132750037

Questions Cloud

Business continuity and disaster recovery in cloud computing : In many organizations, the primary role of the IT staff is to ensure 99.999% availability of computing resource applications, power, files, networks,
What the bank reconciliation will balance : Controller willfully overstated the deposit in transit figure by $20,000. The bank reconciliation will balance if the controller also?
What is an accounting and auditing practice : What is an Accounting and Auditing Practice? List the six elements of quality control and provide one example of a policy or procedure
What price of the non-tendered shares after the leveraged : If Berrycords obtains 50% control of Apex Corporation, the price of the non-tendered shares after the leveraged buyout will be closest to
Benefits of incorporating the design pattern : Critically analyze the patterns and list two benefits of incorporating the design pattern, with respect to the problem - identify the participants
Determine the dollar amounts that should be reported : Use this information to determine the dollar amounts that should be reported by Alpha Company during 2017 for the following items
Charismatic leader who co-founded apple : Steve Jobs was a strong, charismatic leader who co-founded Apple and is credited with much of the success of the company
Prepare all necessary journal entries for bell corp : Prepare all necessary journal entries for 2017 for Bell Corporation. Information pertaining to long-term stock investments in 2017 by Bell Corporation
Find how much cash would a receive : Assume that the $10,000 is paid out in question 1, so now the partnership has $40,000 in cash. How much cash would A receive (xx,xxx)?

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

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