MITS4002 Object-Oriented Software Development Research Study

Verified

Added on  2025/05/02

|12
|1192
|84
AI Summary
Desklib provides solved assignments and past papers to help students succeed.
Document Page
MITS4002 - OBJECT-ORIENTED
SOFTWARE DEVELOPMENT
Research Study
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Table of Contents
Introduction......................................................................................................................................3
Question 1........................................................................................................................................4
Question 2........................................................................................................................................8
Conclusion.......................................................................................................................................9
References......................................................................................................................................10
Table of Figures
Figure 1: Implementation of Prototype Patterns..............................................................................4
Figure 2: Implementation of Object Pool Patterns..........................................................................5
Figure 3: Implementation of Factory Method Patterns....................................................................6
Figure 4: Implementation of Singleton Patterns..............................................................................6
Figure 5: Implementation of Builder Patterns.................................................................................7
Figure 6: Checkout..........................................................................................................................8
Figure 7: Compute Price..................................................................................................................9
2 | P a g e
Document Page
Introduction
The system for online shopping was designed with the help of design patterns such as creational
pattern, behavioral pattern, and structural pattern. The creational pattern will be defined
completely with the detailed descriptions of it and the types of creational design pattern.
Creational design helps to make flexible programs and the software. In the second part, one
design pattern will be selected with having better functionality for the designed system. The class
diagram will be modifying as per the requirements and explained clearly.
3 | P a g e
Document Page
Question 1
The design pattern is the process which represents the best format used by the software
developers. It is the systematic way of representing the complete structure of designs. It includes
motivation, names and also explains the universal designs which address the problems or the
errors in the system of object-oriented. It mainly defines the problems, solutions, and their
consequences. The design patterns are of three types:
- Creational Design Pattern
- Structural Design Pattern
- Behavioural Design Pattern
Creational Design Pattern: This design pattern offers the process for object creation by hiding
the logic of creating objects, instead of the instantiation of objects directly with the help of new
operators. It provides the flexibility in the program for deciding with the objects which require
for creating the given use cases (Lucia, et al., 2018).
There are some applications of creational design patterns that were used in java programming
such as:
- Prototype Patterns: This pattern allows the objects for creating personalized objects
without identifying the classes and the process of creating them. It mainly specifies the
type of the object to create with the use of the instance of the prototype.
Implementation:
Figure 1: Implementation of Prototype Patterns
(Source: Oodesign, 2019)
Classes of Prototype Patterns:
4 | P a g e
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Prototype: It declares the interface for copying itself.
Client: It creates the objects by asking the prototype for copying itself.
ConcretePrototype: It implements the operations for copying itself.
- Object Pool Patterns: This pattern allows to share and reuse of the object which is
expensive for creating them.
Implementation:
Figure 2: Implementation of Object Pool Patterns
(Source: Oodesign, 2019)
Classes of Object Pool Patterns:
Client: It uses the instance of the Reusable class.
Reusable: It wraps the resources and also shared between many clients for a
limited time.
ReusablePool: It manages the objects which are used by the clients for managing
and creating object’s pool.
- Factory Method Patterns: It defines the interface for object creation but in this, the
subclasses will decide for instantiation of classes. It refers to create new objects with the
help of a common interface.
Implementation:
5 | P a g e
Document Page
Figure 3: Implementation of Factory Method Patterns
(Source: Oodesign, 2019)
Classes of Factory Method Patterns:
Product: It defines the object interface.
Factory: It returns the object of Product.
ConcreteProduct: It implements the interface of the Product.
ConcreteFactory: It generates methods for the object creation of
ConcreteProduct.
- Singleton Patterns: It is the simple design pattern which involves the responsibility for
instantiation of their classes. It only creates one instance at a time. It also provides global
access points to the class objects.
Implementation:
Figure 4: Implementation of Singleton Patterns
(Source: Oodesign, 2019)
6 | P a g e
Document Page
Classes of Singleton Patterns:
Singleton: It expresses the single instance of the class.
- Builder Patterns: It defines the instance for object creation and also decides the classes
for instantiation with the help of subclasses. It refers to the new object created by a
common interface.
Implementation:
Figure 5: Implementation of Builder Patterns
(Source: Oodesign, 2019)
Classes of Builder Patterns:
Director: It constructs the object with the help of the builder interface.
Builder: It specifies the abstract interfaces for creating product object parts.
ConcreteBuilder: It provides and creates the interface for product saving.
Product: It represents the earlier build objects (Waheed, et al., 2016).
7 | P a g e
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Question 2
(a) There are many design patterns of the creational design patterns which can be used to
solve the problems of the system of online shopping for iChipKart application. The
Builder pattern will be used for solving the problems of the system of iChipKart
application. It is helpful because it provides better services such as building online
custom products. The design can be customized for adding extra functionality to it.
(b) Class Diagram of Checkout
Figure 6: Checkout
Class Diagram of Compute Price
8 | P a g e
Document Page
Figure 7: Compute Price
(c) Benefits of Builder Pattern are:
It provides a clear separation in between representation and construction of the
objects.
It provides the best control in the process of construction and also supports to change
the inner representation of the objects.
(d) There are so many design patterns of security which are used to secure the whole design
of the iChipKart application. These design patterns of security are:
9 | P a g e
Document Page
Security composability: This characteristic support the design pattern to emerge
with any other design pattern without destroying its security properties.
Merits:
o Security properties will not be destroyed by other design patterns and this will
not affect the security.
Demerits:
o If the security properties are very high then the patterns will not be used with
other patterns.
Pattern Composability: This characteristic provides an easy design for the design
patterns, so the patterns can be used with other design patterns easily.
Merits:
o The design pattern is easily understandable and compatible with other designs.
Demerits:
o It is very easy and compatible so; the security properties are not fulfilled in
these design patterns.
10 | P a g e
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Conclusion
In the complete assessment, the iChipKart application is the system of online shopping where
users can buy their selected goods and services or products via online modes. The Compute Price
& Checkout diagrams were designed or modified with the help of design patterns. In the first
part, the Creational design pattern was described with their applications. In the other part, the
class diagram (Computer Price & Checkout) was designed. In the last part, security design
patterns were described with their advantage and disadvantage.
11 | P a g e
Document Page
References
Lucia, A.D., Deufemia, V., Gravino, C. and Risi, M., 2018. Detecting the behavior of design
patterns through model checking and dynamic analysis. ACM Transactions on Software
Engineering and Methodology (TOSEM), 26(4), p.13.
Oodesign, 2019. Prototype Pattern | Object Oriented Design. [online] Available at:
https://www.oodesign.com/prototype-pattern.html [Accessed 9 May 2019].
Waheed, A., Rasool, G., Ubaid, S. and Ghaffar, F., 2016, January. Discovery of design patterns
variants for quality software development. In 2016 International Conference on Intelligent
Systems Engineering (ICISE) (pp. 185-191). IEEE.
12 | P a g e
chevron_up_icon
1 out of 12
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]