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 program that uses one of the map classes

Write a program that uses one of the Map classes to implement a contact list. Contact information should include first name, last name, a phone number and an email address

  Create modular program to enter monthly costs

Create modular program which ask user to enter monthly costs for the following expenses incurred from operating his or her automobile: loan payment, insurance, gas, oil, tires, and maintenance.

  Write software application development coding practices

Use the Library and other resources to write a software application development coding practices guide. Your guide should include recommendations

  Design an appropriate set of classes to solve the problem

The purpose of this project is for you to demonstrate your understanding of object oriented software development in practice.

  Write program using array of seven long integers

Write down the program which uses the following arrays: empId: array of seven long integers to hold employee identification numbers. Array must be initialized with following numbers.

  Create project to compute checking account balance

Create a project to compute your checking account balance. Form: Include radio buttons to indicate the type of transaction: deposit, check, or service charge.

  Write a program that asks how many tickets sales

Write a program that asks how many tickets sales. Format your dollar amount in a fixed-point notation with two decimal points and make sure the decimal point is always displayed.

  Storing room bookings in java

storing room bookings in Java - test your skills in programming applications to specification in a number of different programming languages

  Write a program to ask the user to enter the amount spent

Write a program to ask the user to enter the amount spent on food and Gas for each day of the week. Count and display the number of days the user spent more than 20 dollars per day on food and more than 10 dollars/per day on gas.

  Questions on programing problem with the process of analysis

Questions on Programing Problem with the process of analysis and reflection that went on as you developed the project.

  Make expression analyser which compile arithmetic expression

CE305 Assignment - Expression Analyser. build an expression analyser which compiles arithmetic expressions into a form that can be evaluated

  What type of expressions should such a function expect

How many and what type of expressions should such a function expect, to be able to return such an area? Decide on a good, descriptive name for this function, and write an appropriate signature comment for this function.

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