MITS4002 OBJECT-ORIENTED SOFTWARE DEVELOPMENT Research Report...

1 answer below »



































MITS4002


OBJECT-ORIENTED SOFTWARE DEVELOPMENT



Research Report



Weightage: 10%



Due date: Friday Lesson 08 5 PM







Late penalty applies on late submission,

10%

per day would be deducted



0

mark for LATE Submission more than one week



0

mark for DUPLICATED Submission or Shared Work












You will be marked based on your submitted zipped file on Moodle. You are most welcome to check your file with your lab tutor before your submission.
No excuse will be accepted
due to file corruption, absence from lecture or lab classes where details of lab requirements may be given.



Please make sure that you attend Lecture EVERY WEEK as low attendance may result in academic penalty or failure of this unit.


















Table of Contents


1. Rubrics for MITS4002 Research Report 3


2. Question 1. 4


3. Question 2. 4


4. What to submit: 5


5. Research References: 5


6. APPENDIX A (Sample of flow charts) 6


6.1 Use Case Model Global View (Partial) 6


6.2 Checkout Use Case. 6


6.2.1 Brief Description. 6


6.2.2 Flow of Events. 6


6.2.3 Class Diagram.. 7


6.2.4 Sequence Diagram.. 8


6.3 Compute Price Use Case. 8


6.4 Flow of Events. 8


6.5 Class Diagram.. 9


6.6 Sequence Diagram (Compute Price – subtotal of items) 9


6.7 Sequence Diagram (Compute Price – total price) 10






This assessment item relates to the unit learning outcomes as in the unit descriptors.


This checks your understanding about object-oriented software development.


This assessment covers the following LOs.


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


LO6 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.


1. Rubrics for MITS4002 Research Report


































Task




Marks



Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.



2



Presentation of classe relationships (use appropriate symbols, dotted arrow, diamond shape …etc.)



2



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



2



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



2



Structure/organisation of the report.



2







Total: / 10 marks





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


3. 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.


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.





4. 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.


5. Research References:


1) Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,
Design Patterns : Elements of Reusable Object-Oriented Software,
Addison Wesley, 1995.


2) Smith, Ben.
Object-Oriented Programming.
Advanced ActionScript 3. Apress, pp63-69, 2015 .





6. 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.1 Brief 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:


(1) If the buyer purchases goods worth ≥$25 and

iChipKart

T-Shirt.


(2) If the buyer purchases goods worth ≥$50 and

iChipKart

backpack.


(3) 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.2 Flow of Events


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



i. 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).



ii. 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).



iii. The system invokes
Compute Price
use case to compute the
total price
of this transaction, including the shipping, handling and other charges.



iv. The system presents the
total price
and prompts the buyer for payment details in
Payment Screen.



v. Upon verification of the payment details, the system invokes the
Print Receipt
use case to print the receipt for this transaction.



vi. The system displays completion message.



vii. The buyer acknowledges the completion message and the system returns to the
Purchase Screen.



viii. The use case terminates.


6.2.3 Class Diagram




6.2.4 Sequence 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:



i. Base price of the items.



ii. Shipping charges.



iii. 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.



i. The system traverses through the shopping cart items, determines the product price and computes the
subtotal of items
price of all the items.



ii. 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.



iii. Based on the shipping destination, the system computes the shipping charges and adds it to the
total price.



iv. Based on the fragility of the items, the system computes the handling charges and adds it to the
total price.



v. The system returns the
total price
to the calling use case.



vi. The use case terminates.


6.5 Class Diagram




6.6 Sequence Diagram (Compute Price – subtotal of items)











6.7 Sequence Diagram (Compute Price – total price)
















































MITS4002


OBJECT-ORIENTED SOFTWARE DEVELOPMENT



Research Report



Weightage: 10%



Due date: Friday Lesson 08 5 PM







Late penalty applies on late submission,

10%

per day would be deducted



0

mark for LATE Submission more than one week



0

mark for DUPLICATED Submission or Shared Work












You will be marked based on your submitted zipped file on Moodle. You are most welcome to check your file with your lab tutor before your submission.
No excuse will be accepted
due to file corruption, absence from lecture or lab classes where details of lab requirements may be given.



Please make sure that you attend Lecture EVERY WEEK as low attendance may result in academic penalty or failure of this unit.


















Table of Contents


1. Rubrics for MITS4002 Research Report 3


2. Question 1. 4


3. Question 2. 4


4. What to submit: 5


5. Research References: 5


6. APPENDIX A (Sample of flow charts) 6


6.1 Use Case Model Global View (Partial) 6


6.2 Checkout Use Case. 6


6.2.1 Brief Description. 6


6.2.2 Flow of Events. 6


6.2.3 Class Diagram.. 7


6.2.4 Sequence Diagram.. 8


6.3 Compute Price Use Case. 8


6.4 Flow of Events. 8


6.5 Class Diagram.. 9


6.6 Sequence Diagram (Compute Price – subtotal of items) 9


6.7 Sequence Diagram (Compute Price – total price) 10






This assessment item relates to the unit learning outcomes as in the unit descriptors.


This checks your understanding about object-oriented software development.


This assessment covers the following LOs.


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


LO6 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.


1. Rubrics for MITS4002 Research Report


































Task




Marks



Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.



2



Presentation of classe relationships (use appropriate symbols, dotted arrow, diamond shape …etc.)



2



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



2



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



2



Structure/organisation of the report.



2







Total: / 10 marks





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


3. 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.


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.





4. 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.


5. Research References:


1) Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,
Design Patterns : Elements of Reusable Object-Oriented Software,
Addison Wesley, 1995.


2) Smith, Ben.
Object-Oriented Programming.
Advanced ActionScript 3. Apress, pp63-69, 2015 .





6. 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.1 Brief 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:


(1) If the buyer purchases goods worth ≥$25 and

iChipKart

T-Shirt.


(2) If the buyer purchases goods worth ≥$50 and

iChipKart

backpack.


(3) 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.2 Flow of Events


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



i. 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).



ii. 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).



iii. The system invokes
Compute Price
use case to compute the
total price
of this transaction, including the shipping, handling and other charges.



iv. The system presents the
total price
and prompts the buyer for payment details in
Payment Screen.



v. Upon verification of the payment details, the system invokes the
Print Receipt
use case to print the receipt for this transaction.



vi. The system displays completion message.



vii. The buyer acknowledges the completion message and the system returns to the
Purchase Screen.



viii. The use case terminates.


6.2.3 Class Diagram




6.2.4 Sequence 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:



i. Base price of the items.



ii. Shipping charges.



iii. 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.



i. The system traverses through the shopping cart items, determines the product price and computes the
subtotal of items
price of all the items.



ii. 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.



iii. Based on the shipping destination, the system computes the shipping charges and adds it to the
total price.



iv. Based on the fragility of the items, the system computes the handling charges and adds it to the
total price.



v. The system returns the
total price
to the calling use case.



vi. The use case terminates.


6.5 Class Diagram




6.6 Sequence Diagram (Compute Price – subtotal of items)











6.7 Sequence Diagram (Compute Price – total price)
















































MITS4002


OBJECT-ORIENTED SOFTWARE DEVELOPMENT



Research Report



Weightage: 10%



Due date: Friday Lesson 08 5 PM







Late penalty applies on late submission,

10%

per day would be deducted



0

mark for LATE Submission more than one week



0

mark for DUPLICATED Submission or Shared Work












You will be marked based on your submitted zipped file on Moodle. You are most welcome to check your file with your lab tutor before your submission.
No excuse will be accepted
due to file corruption, absence from lecture or lab classes where details of lab requirements may be given.



Please make sure that you attend Lecture EVERY WEEK as low attendance may result in academic penalty or failure of this unit.


















Table of Contents


1. Rubrics for MITS4002 Research Report 3


2. Question 1. 4


3. Question 2. 4


4. What to submit: 5


5. Research References: 5


6. APPENDIX A (Sample of flow charts) 6


6.1 Use Case Model Global View (Partial) 6


6.2 Checkout Use Case. 6


6.2.1 Brief Description. 6


6.2.2 Flow of Events. 6


6.2.3 Class Diagram.. 7


6.2.4 Sequence Diagram.. 8


6.3 Compute Price Use Case. 8


6.4 Flow of Events. 8


6.5 Class Diagram.. 9


6.6 Sequence Diagram (Compute Price – subtotal of items) 9


6.7 Sequence Diagram (Compute Price – total price) 10






This assessment item relates to the unit learning outcomes as in the unit descriptors.


This checks your understanding about object-oriented software development.


This assessment covers the following LOs.


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


LO6 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.


1. Rubrics for MITS4002 Research Report


































Task




Marks



Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.



2



Presentation of classe relationships (use appropriate symbols, dotted arrow, diamond shape …etc.)



2



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



2



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



2



Structure/organisation of the report.



2







Total: / 10 marks





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


3. 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.


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.





4. 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.


5. Research References:


1) Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,
Design Patterns : Elements of Reusable Object-Oriented Software,
Addison Wesley, 1995.


2) Smith, Ben.
Object-Oriented Programming.
Advanced ActionScript 3. Apress, pp63-69, 2015 .





6. 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.1 Brief 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:


(1) If the buyer purchases goods worth ≥$25 and

iChipKart

T-Shirt.


(2) If the buyer purchases goods worth ≥$50 and

iChipKart

backpack.


(3) 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.2 Flow of Events


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



i. 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).



ii. 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).



iii. The system invokes
Compute Price
use case to compute the
total price
of this transaction, including the shipping, handling and other charges.



iv. The system presents the
total price
and prompts the buyer for payment details in
Payment Screen.



v. Upon verification of the payment details, the system invokes the
Print Receipt
use case to print the receipt for this transaction.



vi. The system displays completion message.



vii. The buyer acknowledges the completion message and the system returns to the
Purchase Screen.



viii. The use case terminates.


6.2.3 Class Diagram




6.2.4 Sequence 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:



i. Base price of the items.



ii. Shipping charges.



iii. 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.



i. The system traverses through the shopping cart items, determines the product price and computes the
subtotal of items
price of all the items.



ii. 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.



iii. Based on the shipping destination, the system computes the shipping charges and adds it to the
total price.



iv. Based on the fragility of the items, the system computes the handling charges and adds it to the
total price.



v. The system returns the
total price
to the calling use case.



vi. The use case terminates.


6.5 Class Diagram




6.6 Sequence Diagram (Compute Price – subtotal of items)











6.7 Sequence Diagram (Compute Price – total price)
















































MITS4002


OBJECT-ORIENTED SOFTWARE DEVELOPMENT



Research Report



Weightage: 10%



Due date: Friday Lesson 08 5 PM







Late penalty applies on late submission,

10%

per day would be deducted



0

mark for LATE Submission more than one week



0

mark for DUPLICATED Submission or Shared Work












You will be marked based on your submitted zipped file on Moodle. You are most welcome to check your file with your lab tutor before your submission.
No excuse will be accepted
due to file corruption, absence from lecture or lab classes where details of lab requirements may be given.



Please make sure that you attend Lecture EVERY WEEK as low attendance may result in academic penalty or failure of this unit.


















Table of Contents


1. Rubrics for MITS4002 Research Report 3


2. Question 1. 4


3. Question 2. 4


4. What to submit: 5


5. Research References: 5


6. APPENDIX A (Sample of flow charts) 6


6.1 Use Case Model Global View (Partial) 6


6.2 Checkout Use Case. 6


6.2.1 Brief Description. 6


6.2.2 Flow of Events. 6


6.2.3 Class Diagram.. 7


6.2.4 Sequence Diagram.. 8


6.3 Compute Price Use Case. 8


6.4 Flow of Events. 8


6.5 Class Diagram.. 9


6.6 Sequence Diagram (Compute Price – subtotal of items) 9


6.7 Sequence Diagram (Compute Price – total price) 10






This assessment item relates to the unit learning outcomes as in the unit descriptors.


This checks your understanding about object-oriented software development.


This assessment covers the following LOs.


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


LO6 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.


1. Rubrics for MITS4002 Research Report


































Task




Marks



Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.



2



Presentation of classe relationships (use appropriate symbols, dotted arrow, diamond shape …etc.)



2



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



2



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



2



Structure/organisation of the report.



2







Total: / 10 marks





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


3. 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.


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.





4. 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.


5. Research References:


1) Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,
Design Patterns : Elements of Reusable Object-Oriented Software,
Addison Wesley, 1995.


2) Smith, Ben.
Object-Oriented Programming.
Advanced ActionScript 3. Apress, pp63-69, 2015 .





6. 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.1 Brief 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:


(1) If the buyer purchases goods worth ≥$25 and

iChipKart

T-Shirt.


(2) If the buyer purchases goods worth ≥$50 and

iChipKart

backpack.


(3) 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.2 Flow of Events


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



i. 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).



ii. 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).



iii. The system invokes
Compute Price
use case to compute the
total price
of this transaction, including the shipping, handling and other charges.



iv. The system presents the
total price
and prompts the buyer for payment details in
Payment Screen.



v. Upon verification of the payment details, the system invokes the
Print Receipt
use case to print the receipt for this transaction.



vi. The system displays completion message.



vii. The buyer acknowledges the completion message and the system returns to the
Purchase Screen.



viii. The use case terminates.


6.2.3 Class Diagram




6.2.4 Sequence 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:



i. Base price of the items.



ii. Shipping charges.



iii. 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.



i. The system traverses through the shopping cart items, determines the product price and computes the
subtotal of items
price of all the items.



ii. 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.



iii. Based on the shipping destination, the system computes the shipping charges and adds it to the
total price.



iv. Based on the fragility of the items, the system computes the handling charges and adds it to the
total price.



v. The system returns the
total price
to the calling use case.



vi. The use case terminates.


6.5 Class Diagram




6.6 Sequence Diagram (Compute Price – subtotal of items)











6.7 Sequence Diagram (Compute Price – total price)
















































MITS4002


OBJECT-ORIENTED SOFTWARE DEVELOPMENT



Research Report



Weightage: 10%



Due date: Friday Lesson 08 5 PM







Late penalty applies on late submission,

10%

per day would be deducted



0

mark for LATE Submission more than one week



0

mark for DUPLICATED Submission or Shared Work












You will be marked based on your submitted zipped file on Moodle. You are most welcome to check your file with your lab tutor before your submission.
No excuse will be accepted
due to file corruption, absence from lecture or lab classes where details of lab requirements may be given.



Please make sure that you attend Lecture EVERY WEEK as low attendance may result in academic penalty or failure of this unit.


















Table of Contents


1. Rubrics for MITS4002 Research Report 3


2. Question 1. 4


3. Question 2. 4


4. What to submit: 5


5. Research References: 5


6. APPENDIX A (Sample of flow charts) 6


6.1 Use Case Model Global View (Partial) 6


6.2 Checkout Use Case. 6


6.2.1 Brief Description. 6


6.2.2 Flow of Events. 6


6.2.3 Class Diagram.. 7


6.2.4 Sequence Diagram.. 8


6.3 Compute Price Use Case. 8


6.4 Flow of Events. 8


6.5 Class Diagram.. 9


6.6 Sequence Diagram (Compute Price – subtotal of items) 9


6.7 Sequence Diagram (Compute Price – total price) 10






This assessment item relates to the unit learning outcomes as in the unit descriptors.


This checks your understanding about object-oriented software development.


This assessment covers the following LOs.


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


LO6 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.


1. Rubrics for MITS4002 Research Report


































Task




Marks



Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.



2



Presentation of classe relationships (use appropriate symbols, dotted arrow, diamond shape …etc.)



2



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



2



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



2



Structure/organisation of the report.



2







Total: / 10 marks





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


3. 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.


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.





4. 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.


5. Research References:


1) Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,
Design Patterns : Elements of Reusable Object-Oriented Software,
Addison Wesley, 1995.


2) Smith, Ben.
Object-Oriented Programming.
Advanced ActionScript 3. Apress, pp63-69, 2015 .





6. 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.1 Brief 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:


(1) If the buyer purchases goods worth ≥$25 and

iChipKart

T-Shirt.


(2) If the buyer purchases goods worth ≥$50 and

iChipKart

backpack.


(3) 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.2 Flow of Events


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



i. 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).



ii. 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).



iii. The system invokes
Compute Price
use case to compute the
total price
of this transaction, including the shipping, handling and other charges.



iv. The system presents the
total price
and prompts the buyer for payment details in
Payment Screen.



v. Upon verification of the payment details, the system invokes the
Print Receipt
use case to print the receipt for this transaction.



vi. The system displays completion message.



vii. The buyer acknowledges the completion message and the system returns to the
Purchase Screen.



viii. The use case terminates.


6.2.3 Class Diagram




6.2.4 Sequence 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:



i. Base price of the items.



ii. Shipping charges.



iii. 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.



i. The system traverses through the shopping cart items, determines the product price and computes the
subtotal of items
price of all the items.



ii. 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.



iii. Based on the shipping destination, the system computes the shipping charges and adds it to the
total price.



iv. Based on the fragility of the items, the system computes the handling charges and adds it to the
total price.



v. The system returns the
total price
to the calling use case.



vi. The use case terminates.


6.5 Class Diagram




6.6 Sequence Diagram (Compute Price – subtotal of items)











6.7 Sequence Diagram (Compute Price – total price)
















































MITS4002


OBJECT-ORIENTED SOFTWARE DEVELOPMENT



Research Report



Weightage: 10%



Due date: Friday Lesson 08 5 PM







Late penalty applies on late submission,

10%

per day would be deducted



0

mark for LATE Submission more than one week



0

mark for DUPLICATED Submission or Shared Work












You will be marked based on your submitted zipped file on Moodle. You are most welcome to check your file with your lab tutor before your submission.
No excuse will be accepted
due to file corruption, absence from lecture or lab classes where details of lab requirements may be given.



Please make sure that you attend Lecture EVERY WEEK as low attendance may result in academic penalty or failure of this unit.


















Table of Contents


1. Rubrics for MITS4002 Research Report 3


2. Question 1. 4


3. Question 2. 4


4. What to submit: 5


5. Research References: 5


6. APPENDIX A (Sample of flow charts) 6


6.1 Use Case Model Global View (Partial) 6


6.2 Checkout Use Case. 6


6.2.1 Brief Description. 6


6.2.2 Flow of Events. 6


6.2.3 Class Diagram.. 7


6.2.4 Sequence Diagram.. 8


6.3 Compute Price Use Case. 8


6.4 Flow of Events. 8


6.5 Class Diagram.. 9


6.6 Sequence Diagram (Compute Price – subtotal of items) 9


6.7 Sequence Diagram (Compute Price – total price) 10






This assessment item relates to the unit learning outcomes as in the unit descriptors.


This checks your understanding about object-oriented software development.


This assessment covers the following LOs.


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


LO6 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.


1. Rubrics for MITS4002 Research Report


































Task




Marks



Describe how software development productivity can be accomplished by the application of various Creational Design Patterns.



2



Presentation of classe relationships (use appropriate symbols, dotted arrow, diamond shape …etc.)



2



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



2



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



2



Structure/organisation of the report.



2







Total: / 10 marks





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


3. 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.


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.





4. 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.


5. Research References:


1) Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,
Design Patterns : Elements of Reusable Object-Oriented Software,
Addison Wesley, 1995.


2) Smith, Ben.
Object-Oriented Programming.
Advanced ActionScript 3. Apress, pp63-69, 2015 .





6. 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.1 Brief 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:


(1) If the buyer purchases goods worth ≥$25 and

iChipKart

T-Shirt.


(2) If the buyer purchases goods worth ≥$50 and

iChipKart

backpack.


(3) 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.2 Flow of Events


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



i. 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).



ii. 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).



iii. The system invokes
Compute Price
use case to compute the
total price
of this transaction, including the shipping, handling and other charges.



iv. The system presents the
total price
and prompts the buyer for payment details in
Payment Screen.



v. Upon verification of the payment details, the system invokes the
Print Receipt
use case to print the receipt for this transaction.



vi. The system displays completion message.



vii. The buyer acknowledges the completion message and the system returns to the
Purchase Screen.



viii. The use case terminates.


6.2.3 Class Diagram




6.2.4 Sequence 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:



i. Base price of the items.



ii. Shipping charges.



iii. 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.



i. The system traverses through the shopping cart items, determines the product price and computes the
subtotal of items
price of all the items.



ii. 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.



iii. Based on the shipping destination, the system computes the shipping charges and adds it to the
total price.



iv. Based on the fragility of the items, the system computes the handling charges and adds it to the
total price.



v. The system returns the
total price
to the calling use case.



vi. The use case terminates.


6.5 Class Diagram




6.6 Sequence Diagram (Compute Price – subtotal of items)











6.7 Sequence Diagram (Compute Price – total price)













Answered Same DayApr 23, 2021MITS4002

Answer To: MITS4002 OBJECT-ORIENTED SOFTWARE DEVELOPMENT Research Report...

Neha answered on May 17 2021
140 Votes
Victorian Institute of Technology
Master of Information Technology & Systems
MITS4002
OBJECT-ORIENTED SOFTWARE DEVELOPMENT
(ResearchStudy)
Submitted to :                                Submitted by :
                                
ResearchStudy
#Question 1
Contents
The Object Pool Design Method    3
The Singleton Design Method    4
The Factory Design Method    5
The Prototype
Design Method    5
The Builder Design Method    6
References    7
Compute Price:    9
Suggested design pattern: Template design pattern    9
THE ADVANTAGES OF TEMPLATE DESIGN PATTERN    9
Security Design Patterns:    9
Checkout    10
Suggested design pattern: Chain Responsibility Design Pattern    10
THE ADVANTAGES OF CHAIN OF RESPONSIBILITY DESIGN PATTERN    10
Security Design Patterns:    10
Research
The Creational Design Patterns
Creation design those design buttons which reveal with creation of object and try to create objects which are suitable for the situation. The hey basic idea one instance cancellate the knowledge about the country classes which are used by the system for stop another one is to hide the instance of these complete process which are created and come back. Design patterns help motive to separate the system and its creation from position and with presentation of the objects. This helps to increase the flexibility of system and understand how, when, who and what about the object. The creational design pattern is applied when:
· The system should be independent of the creation of products and objects.
· A set of objects is created to be used together.
· Abstracting the implementation of call library or product and showing only the interfaces.
· Constructing different representation of the complex object which are independent of each other.
· A class needs its subclass to use the object created by it.
· Instantiations of the objects are specified at runtime.
· There is only single instance and client can use this instance all the time.
The Object Pool Design Method:
Phone design method defines the system as reuse the object which are expensive to create. Object pool can be used as a container which have a specified number of objects. Be access object from the it is not available in the pool unless the user puts it back. Creation validation and destroy for the life cycle of objects present in the pool. Full is helpful in managing the available resources efficiently. The main example of object pool design is the application servers in which data source pools, thread pools etc are available.
Advantages of this pattern:
Improve the performance of the application.
When initialization of a class instance is high then this pattern works effectively.
It also manages the connections and provides different ways to use them.
It also provides the limit for the number of objects which can be created in a pool.
Usages:
When we need to create the objects, which are expensive in nature.
When the resources will be used by several clients at different times.
The Singleton Design Method:
In this method, it states that the definition of a class must be used which has single instance and has ability to share global point of access to the instance. Only one instance must be created for each class and only one object can be used by rest of the classes.
Types of singleton design pattern:
1) Early instantiation: the instance is created at the load time
2) Lazy Instantiation: the...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here