Object-Oriented Software Development Research Study

Verified

Added on  2025/05/02

|9
|1035
|348
AI Summary
Desklib provides solved assignments and past papers to help students succeed.
Document Page
MITS4002
OBJECT-ORIENTED SOFTWARE
DEVELOPMENT
Research Study
Student Name:
Student ID:
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
Q.1..............................................................................................................................................2
Q.2..............................................................................................................................................3
a).............................................................................................................................................3
b)............................................................................................................................................4
c).............................................................................................................................................5
d)............................................................................................................................................6
References..................................................................................................................................7
Document Page
Q.1.
Creative design patterns in software engineering are those patterns which address
mechanisms of creating objects, and try to build objects according to the scenario. The basic
level form of creating objects might lead to design challenges or to a new design complexity.
They offer additional mechanisms to create objects that make the existing code more flexible
and reusable. There are several creation design patterns which are described below.
Singleton
The design pattern for a singleton checks the no. of objects for a class. This
pattern provides for just a single access and design point for class objects, and so as a
result the no. of objects generated for such a class can be controlled. If one want only
one class instance and that all customers share the very same instance, then the
singleton should be considered.
Iterator
This pattern gives the possibility of sequentially accessing the
components, irrespective of the implementation of the Iterating algorithm. This means
that perhaps the design pattern of an Iterator is being used in an absolute numbers
customer, irrespective of the particular aggregate type as well as the particular
iteration type that is used on aggregate. The performance of the aggregate or the
iteration may alter without influencing the customer.
Factory Method
If anytime a requirement for the creation of an object occurs which will conform the
interface (abstract) in such a way that will separate the overall responsibility for the
creation of the object which will come from the customer, then factory method is used
to solve this problem.
Abstract Factory
Abstract Factory is used to solve problems of creating an array of associated objects
which adhere to abstract interfaces in such a manner that perhaps the creation
responsibility for all the objects is different from the customer that uses the objects.
They both solve this problem of creating objects conforming to such abstract interface
so that the responsibility of creating objects outside the customer is shifted. As soon
as the object is created, the customer makes the decision but then another class
outside customer makes the decision which classes are to be created.
Document Page
Q.2.
a)
The best design pattern for this scenario according to me is the abstract factory because the
abstract factory is used for defining the interface or the abstract class for the creation of
related objects families without specifying the subclasses. This pattern isolates customer code
from structural classes (development). It facilitates the exchange of families of objects. The
accuracy between objects is promoted. It addresses the problem of creating an abstract
interface related objects families in such a way as to segregate objects from clients who are
using the objects. Because the factory decides to return an abstract-pointer to a generated
object, the customer is unaware of the type of object. It means that class declarations
regarding the specific type, the customer trying to deal with the abstract form, are not
necessary at certain times. The abstract factory is used:
If the system has to be free from the creation, composition and representation of its
object. This limit must be enforced when ultimately related objects family is used
together.
If there is a need to include an object library that shows only interfaces and does not
display the implementations.
If the system must be set up using one of a multiple object family.
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
b)
Compute Price
Document Page
Checkout
Document Page
c)
There are various different benefits which are provided by the design patterns. Some of them
are listed below.
The integration of reusing more was one of the distressing software development
problem. Many participants engaged in the development of the software are aware of
that need as well as the chance to reuse, but it's been difficult to achieve huge scale re-
use. This reuse facility can be used in the checkout and compute price scenario. These
patterns offer a path for reusing the overall design solutions in different applications.
The patterns are used in defining a very common vocabulary to examine architecture
and design. For good communication, a common vocabulary is required. Furthermore,
the statements in the vocabulary must be abstract for all the conveyed ideas. The
terms "class" or "interface" or "extends" in implementing languages are not suitable
for referring about the more abstract form of design. These have the exact and concise
name that describes a common vocabulary at the correct abstract level to examine
designs. This enables interactions among developers of design elements.
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
d)
There are several security design and 2 of them are discussed below.
Reusability
Many operations use current technologies to meet new design needs include design
reuse. The end goal of design reuse would be to enable developers to build better
quality products that maximize value by minimizing efforts, cost & resources. Reuse
of the design requires the existence of a collection of designed products as well as the
accessibility of product design info. Generally, large software firms have such a range
of products programmed. The reuse of the design therefore makes it easier to produce
new products with better software.
Design Valid-ability
Validation demonstrates that the design is consistent and complete with the user
needs. This stage is where the version of the product is built and validated it against
certain requirements of user. It is a software evaluation process, which ensures that
the produced system fulfils the specifications of end-user product or app and
environment throughout or at the later part of the design process. Verification could
be described as the confirmation method by analysing and demonstrating that now the
design result fulfils the feedback requirements of the design. An important process is
like the intended use in any product design that guarantees the particular designed
product.
Document Page
References
Cooper, J. W. (2017). Design Pattarn Java Companion. Addison Wesley.
Ampatzoglou, A., Charalampidou, S., & Stamelos, I. (2013). Research state of the art on GoF
design patterns: A mapping study. Journal of Systems and Software, 86(7), 1945-1964.
Ampatzoglou, A., Michou, O., & Stamelos, I. (2013). Building and mining a repository of
design pattern instances: Practical and research benefits. Entertainment Computing, 4(2),
131-142.
chevron_up_icon
1 out of 9
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]