Reference no: EM132651079
MITS4002 Object-Oriented Software Development - Victorian Institute of Technology
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.
Task
Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.
Presentation of classrelationships (use appropriate symbols, dotted arrow, diamond shape ...etc.)
Use UML diagram to design ComputePrice class. Then write the complete Java class.
Use UML diagram to design Checkout class. Then write the complete Java class.
Structure/organisation of the report.
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 inthe 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
Compute the tax and dividend payment
: Bently Poster Company pays income taxes, Compute the tax, bonus, and dividend payment for 2017 if the company uses the straight-line method of depreciation.
|
What is the percent yield of the oxygen difluoride
: A 50.0 g sample of oxygen difluoride was isolated from the reaction of 50.0 g of oxygen gas with 50.0 g of elemental fluorine.
|
What is the maximum mass of zinc oxide
: What is the maximum mass of zinc oxide that can be prepared by the reaction of 25.0 g of zinc sulfide with 25.0 g of oxygen gas?
|
Does the business have to have a consistent approach
: Samuels Corp. began operations on January 1, 2020. Does the business have to have a consistent approach in all of its offices? Why or why not?
|
Design pattern or emerging recent programming languages
: Create object hierarchies using additional utility methods, application programming interfaces (API) and interfaces, in conjunction with existing classes
|
Prepare general journal entry
: Prepare General Journal entry, T Account, Income Statement and Balance Sheet from the following transactions: PAID ADVERTISING EXPENSE $500
|
How many grams of nitrogen gas are formed by the reaction
: Hydrogen cyanide reacts with oxygen gas to form water, carbon dioxide and nitrogen gas. How many grams of nitrogen gas are formed by the reaction of 7.25 mol of
|
Find what was the ultimate outcome for the company
: Provide an example of a company that has previously committed financial fraud. What was the ultimate outcome for this company?
|
Applying the law of conservation of mass
: Consider the statement: "By balancing a chemical equation, one is applying the law of conservation of mass."
|