MITS4002 Object-Oriented Software Development Report
VerifiedAdded on 2025/05/02
|12
|1233
|95
AI Summary
Desklib provides solved assignments and past papers to help students succeed.

MITS4002 - OBJECT-ORIENTED
SOFTWARE DEVELOPMENT
SOFTWARE DEVELOPMENT
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

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

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
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
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

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
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
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

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

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
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
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

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
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
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

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
(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

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
(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
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

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
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
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

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

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
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
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide
1 out of 12
Related Documents

Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2025 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.