MITS4002 Object-Oriented Software Development Report

Verified

Added on  2025/05/02

|12
|1233
|95
AI Summary
Desklib provides solved assignments and past papers to help students succeed.
Document Page
MITS4002 - OBJECT-ORIENTED
SOFTWARE DEVELOPMENT
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......................................................................................................................................2
Question 1........................................................................................................................................3
Question 2........................................................................................................................................7
Conclusion.....................................................................................................................................10
References......................................................................................................................................11
Table of Figures
Figure 1: Prototype Pattern..............................................................................................................3
Figure 2: Singleton Pattern..............................................................................................................4
Figure 3: Abstract Factory Patterns.................................................................................................5
Figure 4: Builder Patterns................................................................................................................6
Figure 5: Compute Price..................................................................................................................7
Figure 6: Checkout Class Diagram..................................................................................................8
2 | P a g e
Document Page
Introduction
This report is a detailed document based on the case scenario of an online shopping system
which is designed according to object-oriented concepts. The online shopping system is named
as iChipKart system which is divided into sub-modules. So, in this case, scenario, there are two
sub-modules explained with the help of use case and class diagram. Checkout system has
functionality for users to add products and make payment. The creational design pattern is
explained among all the design patterns and all the methods of it according to the scenario. The
design pattern has elaborated using its merits and demerits.
3 | P a g e
Document Page
Question 1
For developing the software application, many design patterns were available for designing the
prototypes of the software. These designs pattern was creational, structural and behavioral design
pattern. They play the major part while designing any prototype of the system because they will
reduce the complexities from any design pattern of software. The one design pattern is the
Creational Designs Pattern mostly used for creating an instance of the class of the programming
of object-oriented. With the help of this design pattern, it will provide a better understanding of
tactics and also used easily (McNatt & Bieman, 2013).
There is some creational designs pattern which helps in developing the software design with
proper understanding features:
- Prototype: This pattern will create a ready state for copying the objects of the prototype
without creating any codes or affecting classes. It specifies the object creation types with
the usage of an instance of any prototype.
Participants of Prototype pattern:
Prototype: It is the actual object prototype which is discussed above.
Client: It is responsible for the usage of the registry services for accessing the instance of
prototypes.
Prototype registry: It is mainly used as the services of the registry for having the
accessibility of each prototype using single parameters of string.
Implementation of Prototype Patterns
Figure 1: Prototype Pattern
(Source: Practices, et al., 2019)
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
- Singleton: It is the design solution or pattern where the application requires a single
instance of the class in every situation without exception conditions.
Implementation of Singleton Patterns
Figure 2: Singleton Pattern
(Source: Practices, et al., 2019)
The main advantage of Singleton Patterns is that it prevents the different objects from the
instantiation of Singleton object copies with ensuring the access of the objects in a single
instance.
- Abstract Factory: It is the design solution which is called as another abstraction layer
because it is quite similar to the factory pattern. It works as a super-factory that creates
other kinds of factories.
5 | P a g e
Document Page
Implementation
Figure 3: Abstract Factory Patterns
(Source: Practices, et al., 2019)
Classes used in the design of Abstract Factory Patterns:
Car
DefaultCarFactory
CarFactory
LuxuryCar
SedanCar
SmallCar
AsiaCarFactory
CarType
Location
- Builder: It is the design solution which provides the alternative way for constructing the
complex objects. It is mainly used when there is a requirement for building the
unchallengeable objects with the use of the same process of object building (Palma, et al,
2012).
6 | P a g e
Document Page
Implementation
Figure 4: Builder Patterns
(Source: Practices, et al., 2019)
Classes used in the design of Builder Patterns:
Director
Builder
ConcreteBuilder
Product
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 two class diagrams were designed such as Compute Price & Checkout for the
designed application named as iChipKart. The system was analyzed with the help of every
design patterns but the best design pattern is Abstract Factory because it helps in maintaining
more than one program of the application of online shopping such ordering product, buying
products and many more. It helps to avoid the real creation of classes for each activity for
reducing the application design complexity. It makes the application so dynamic because the
functionality of the application was used easily from anywhere.
(b) Compute Price Class Diagram
Figure 5: Compute Price
Checkout Class Diagram
8 | P a g e
Document Page
Figure 6: Checkout Class Diagram
(c) The online shopping application of iChipKart was designed with the use of creational
patterns. This design solution or pattern helps to make more advanced features in the current
design. Each design patterns have a unique feature for making the design attractive.
There are some benefits of the Abstract Factory design patterns were described below:
Concrete Classes Isolation: It summarizes the responsibilities and process for creating
objects of products. It will isolate the clients from the classes of implementation.
Promoting the consistency of products: Most of the objects which are encapsulated in a
family are worked together but it is necessary to interact with only one object and
abstract factory design patterns ensure it.
(d) There were six security patterns for implementing the design of the system of online
shopping which was characterized below with their advantage & disadvantage:
Completeness: This security pattern used for system design for defining the
completeness and the correctness in the designed system.
Merits: This provides the benefits of identifying security threats in an effective
manner.
Demerit: This one of the most affordable forms of implementing security in a
program but it fails where the high level of security threat occurred or encountered in
the program.
9 | P a g e
Document Page
Abstraction’s level: This provides detailed information over the importance of writing
more function to the code that helps to improve the effectiveness in the code.
Merit: This reduces the time and efforts of writing the program.
Demerit: This isn’t seeming effective while transferring the code to develop another
program.
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 this report, two scenarios are given which are related to an online shopping cart iChipKart.
One system is about the checkout functionality provided to the user and second scenario is about
the Compute Price functionality of an online shopping system which provides automatic pricing
calculator for the products that are added into cart. Both the scenarios are modified using class or
UML diagrams according to the advanced requirements of the system. The design patterns are
defined in this report which is used in software development and the creational design pattern is
explained in detail with its methods or applications. Finally, one design pattern method is
selected for a class diagram which is designed for the iChipKart system and explained with
merits and demerits.
11 | P a g e
Document Page
References
Palma, F., Farzin, H., Guéhéneuc, Y.G. and Moha, N., 2012, June. Recommendation system for
design patterns in software development: An dpr overview. In 2012 Third International
Workshop on Recommendation Systems for Software Engineering (RSSE) (pp. 1-5). IEEE.
Practices, B., Boot, S., Questions, I., Gupta, L., Gupta, L., Gupta, L., Gupta, L. and Gupta, L.
(2019). Creational Design Patterns. [online] HowToDoInJava. Available at:
https://howtodoinjava.com/design-patterns/creational/ [Accessed 11 May 2019].
McNatt, W.B. and Bieman, J.M., 2013. Coupling of design patterns: Common practices and their
benefits. In 25th Annual International Computer Software and Applications Conference.
COMPSAC 2001 (pp. 574-579). IEEE.
12 | P a g e
chevron_up_icon
1 out of 12
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]