Object Oriented Software Development
MITS4002
Research Study (5%)
|
1. 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.
2. 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)
|
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)
|
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 he 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.
3. What to submit:
Questions 1 and 2 and a written
essay format. You may use the essay template given on Moodle.
4. 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 .
5. APPENDIX A
Analysis
and Design for Object Oriented Software
Online Shopping System for iChipKart
Online Shopping System for iChipKart
5.1 Use Case Model Global View (Partial)
5.2 Checkout Use Case
5.2.1
Brief
Description
After a buyeradds 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, iChipKarthas
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 <$50, he/she will receive
a iChipKart T-Shirt.
(2) If the buyer purchases goods worth ≥$50 and <$100, he/she will receive
a iChipKart backpack.
(3) If the buyer purchases goods worth ≥$100, he/she will receive a iChipKart portable hard disk of 1Tb.
Note thatiChipKartmemorabilia
items are not for sale.
5.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.
5.2.3
Class
Diagram
5.2.4
Sequence
Diagram(Self research question, 10% bonus)
5.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, thesubtotal of items andtotal 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).
5.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.
5.5
Class Diagram
5.6
Sequence Diagram (Compute Price –
subtotal of items)
5.7
Sequence Diagram (Compute Price – total
price)
To get solution visit our website www.sourceessay.com
Comments
Post a Comment