Research Project
Research Project
Research Project
by
Submitted to
1
DECLARATION
"I thus certify that this project titled is a real and bona fide research activity conducted out by
myself under the supervision of Dr. (name here) accompanied by (the student's name and
supervisors.)"
Name:
Signature:
Date:
2
ABSTRACT
The Charcoal Factory App is a browser based tool for online shopping. The proposed software's
major goal is to make it responsive and simple to use. It would make product finding, browsing,
and purchasing simpler. It has a powerful search function that allows individuals to search for
goods that are designed to meet the needs. The search engine offers an easy and practical way to
identify for items, allowing people to browse for items actively while the search engine refines
the goods accessible depending on their input. The user may then examine each product
thorough description. They can also read customer reviews as well as create their own. The
program also has a drag and drop functionality, which allows users to add products to their
shopping basket by simply sliding them into the basket. The major focus is on offering a user-
friendly search tool that successfully displays the necessary outcomes, as well as its drag-and-
drop functionality. (Mittapelli 2005)
3
ACKNOWLEDGEMENT
4
TABLE OF CONTENTS
Chapter 1. Introduction
1.1 Introduction and Project background.........................................................................................8
1.1.1 Overview.................................................................................................................................8
1.1.2 Justification.............................................................................................................................9
1.2 Statement of the Problem...........................................................................................................9
1.3 Objectives of the Project..........................................................................................................10
1.3.1 General Objectives................................................................................................................11
1.3.2 Specific Objectives...............................................................................................................11
1.4 Project Plan..............................................................................................................................12
Chapter 2. Review of Related Literature and Studies
2.1 Literature Review.....................................................................................................................13
2.1.1 Theoretical Review...............................................................................................................13
2.1.2 Related Work........................................................................................................................14
2.2 Synthesis..................................................................................................................................15
Chapter 3. Project Analysis
3.1 Research Methodology and Data Collection...........................................................................17
3.2 Analysis and Problem Solving Method...................................................................................19
3.3 Software Methodology............................................................................................................19
3.3.1 System Requirements............................................................................................................20
3.4 Selected Programming Language............................................................................................20
3.4.1 Database Requirements.........................................................................................................21
Chapter 4. Project Design
4.1 System Overview and Design Constrains................................................................................22
4.2 System Architecture.................................................................................................................22
4.3 Process Model..........................................................................................................................23
5
4.4 Data Model...............................................................................................................................24
Chapter 5. Project Implementation, Testing & Evaluation
5.1 Solution of the Problem...........................................................................................................26
5.2 Implementation........................................................................................................................26
5.2.1 User Interface Design and Implementation..........................................................................27
5.2.2 Technical Discussion............................................................................................................33
5.3 Testing......................................................................................................................................34
5.3.1 Unit Testing..........................................................................................................................34
5.3.2 Integration Testing................................................................................................................35
5.3.3 Validation Testing.................................................................................................................36
5.3.4 White Box Testing................................................................................................................37
5.3.5 Performance Testing.............................................................................................................38
5.3.6 Observation from Summary Reports....................................................................................38
5.4 Evaluation................................................................................................................................39
5.4.1 Challenges.............................................................................................................................39
Chapter 6. Conclusion, Critical Evaluation & Future Work
6.1 Conclusion...............................................................................................................................40
6.2 Critical Evaluation...................................................................................................................40
6.3 Future Work.............................................................................................................................40
References......................................................................................................................................42
6
LIST OF FIGURES
Figure 4.2.......................................................................................................................................22
Figure 4.4.......................................................................................................................................24
Figure 4.4 (ii).................................................................................................................................25
Figure 5.2.......................................................................................................................................27
Figure 5.2.1....................................................................................................................................28
Figure 5.2.1 (ii)..............................................................................................................................29
Figure 5.2.1 (iii).............................................................................................................................30
Figure 5.2.1 (iv).............................................................................................................................31
Figure 5.2.1 (v)..............................................................................................................................31
Figure 5.2.1 (vi).............................................................................................................................32
Figure 5.2.1 (vii)............................................................................................................................33
Figure 5.3.2....................................................................................................................................36
7
CHAPTER 1
INTRODUCTION
The practice or activity of purchasing things or services through the internet is known as online
purchasing. It entails going online, locating on a merchant's webpage, making a purchase, and
coordinating shipment. The purchaser can pay for the item or service using a credit or debit card
electronically or at the time of delivery. It's been approximately twenty-five years since internet
shopping became popular. Numerous shops now provide online buying options. To put it another
way, they have a webpage or an application that allows their customers to buy from them online.
It has seen a huge growth in numbers of individuals shopping online.
One can now buy almost everything on the internet. In fact, according to retail experts, digital
marketing will soon outspend traditional shopping in terms of money. Many people regard
purchasing to be a leisure pastime. Internet shopping is no exception. The proposed Charcoal
Factory Application's purpose is to create a web-based experience for online shops. The
technology would be simple to use, making consumers' shopping experiences more enjoyable.
(Unknown n.d.)
A strategy shall be used by the researchers that will allow them to create, build, and evaluate
mobile apps on smart phones tackles a number of cross-cutting themes that are influencing
technology education. The recent fashion of students using smart phones in and out of the
classrooms to interact, cooperate, and customize understanding new opportunities necessitates
educating and educating students on the research and development associated in how these tools
operate. The respective smart phone app creation may well be done in a number of ways and
using a number of different technologies.
8
This research proposes the development, implementation, and evaluation of Charcoal Factory
Application as a teamwork. This study will also provide you an overview of the app's
environment in terms of gadgets, programming, software platforms, and evolving levels of
personalization in regards of the technological innovations and viewpoints on content
organization. The impact of interface design on the consumer experience will be a priority of
content creation for mobile apps. (Downs 2013)
A smart phone app may assist organizations in reaching more consumers, improving promotional
activities, providing value to consumers, raising brand recognition, increasing consumer
commitment and loyalty, and gaining one or perhaps more competitive advantages. In addition,
mobile applications might help you make more money. So, this provides a justified explanation
of choosing the respective project to design a mobile-friendly application complemented by a
robust mobile marketing plan that devotes significant resources to cross-device accessibility. In
today's competitive environment, a business not owning a smart app may experience serious
consequences. (Blair n.d.)
Moreover, app development has been a flourishing business in recent decades. Presently, there
are an estimated 2.3 million smart phone app designers working hard to keep up with the market
requirements. However according to Apple, 1.25 million applications were launched in the
Apple app store in 2013, resulting in 50 billion installations and $5 billion in creator payments.
With statistics like these, it's easy to see why mobile app development is so important for success
of the organization. (Hiliard 2014)
There are a plethora of business internet shopping websites that provide a diverse range of items
geared to the purchasing habits of a diverse range of clients. Thousands of items are offered
under various segments on these internet marketplaces.
9
Problem:
One of the main issues with present systems is that they provide the customers with a
non-interactive atmosphere.
The usage of conventional user interface design that send constant post backs to the
server; every post back performs a connection to the server, receives the answer, and then
sends it back. The full online form is refreshed to show the outcome. This circumstance
adds a new wrinkle, resulting in a gap in the presentation of the results
A web browser that displays findings without enabling users to edit them further refine
the outcomes deeper using other criteria.
Some websites are built in a way that they are difficult to use conventional and non-user-
friendly designs. (Mittapelli 2005)
The latest advancements of the smart phone market has heightened competitiveness in the phone
application business, as new technologies and gadgets emerge at breakneck pace. As the amount
of smart phone apps grows at a rapid rate, reliability is becoming a big concern. As a result,
smart phone software companies require an evaluation method to help them enhance and
preserve the standard of their applications throughout creation. Because mobile applications rely
heavily on user reaction and approval, they require features such as sustainability, accessibility,
and appropriateness.
This study proposes a smart phone app excellence model that focuses on important characteristic
features of selling and cart, and have an impact on the quality of mobile apps. These statistics
illustrate that a smart phone is an essential part of our daily life. Almost everybody presently
uses their mobile phone for much more than just texting and calling. They use it for leisure, web
communication, sophisticated financial transactions, immediate access to necessary knowledge,
10
and so much more. The need for the expansion of mobile application development has risen
tremendously as a result of this quick spread. As a consequence, for businesses and individual
innovators, this strong demand opens up a wide range of possibilities. (Javed 2013)
Mobile app development, like mobile phone advancement, has increased significantly over the
past decade. However, there are still some few procedures for designing such applications, and
not even all of them take into account the unique elements of the cellular field. The current
research offers an effective paradigm for mobile app development centered on enhance that
connects application programming processes with key components of the digital cloud, with the
purpose of enhancing the performance of the resultant app.
Create an easy-to-use a browser based interface that allows users to search for items,
browse detailed descriptions, and place orders.
A search site that allows users to quickly and easily find goods that meet their individual
requirements. The browser would provide a list of items depending on the research word,
which the user could then categorize using different factors.
11
An AJAX-enabled website with the most up-to-date AJAX capabilities gives browsing
pages a more appealing and engaging appearance while avoiding unpleasant post backs.
A drag-and-drop function that allows users to add or remove products from their
shopping carts by dropping them in and out of the cart.
A customer may read the item's comprehensive description, as well as multiple photos
and customer feedback. They have the option of writing their own evaluations as well.
The goal of the proposed Charcoal Factory App is to allow users to experiment with the search
feature and develop various creative search criteria in order to conduct an extensive search.
Enabling AJAX in the app eliminates these needless pauses, allowing customers to
conduct a thorough search. The contrast between Ajax-enabled applications and
conventional user interfaces is immediately discernible by this app's customers.
Include an active interface that allows users to easily engage with various aspects of the
program.
A browsing page that makes it simple and straightforward for users to find items that
meet their individual needs. The browser would provide a list of items based on the
search word, which the user could then filter using various factors.
Enables the customers to drag things in and out of the shopping cart, enabling them to be
added to or removed from the shopping cart.
12
CHAPTER 2
The purpose of this literature review is to find and evaluate automated testing estimate
methodologies for application development for desktop/laptop, and mobile software/apps. This
literature review identifies the qualities that justify this proposal of development of Charcoal
Factory Application. Furthermore, because the pattern in the application development is towards
rapid, this research analyzes and discusses estimating approaches utilized in agile methodology
for creating the Charcoal Factory App. According to the findings of the literature review, there is
a need to address a research gap by presenting important concepts for assessing the mobile
application that take into account special features. (Kaur 2018)
Mobile phones, palmtops, and handheld computers, tablet PCs, desktop computers, and personal
media players are examples of transportable, compact technology. These gadgets are small and
portable, and they may be used for interaction, cooperation, and learning environments that are
not feasible with conventional media. According to Traxler (2009), smart phones and mobile
13
application communication technologies have had an impact on all disciplines, which is now
experiencing a transition. In fact, he coined the term "mobile age" to describe this moment of
upheaval. He went on to say that the majority of these mobile applications are not intended for
educational or training purposes, but rather for personal or private use, primarily for one-on-one
social connection. Organizations had to pick among cradle-based synchronization via a wired
communication link or a traditional retail mobile solution when it came to early smart phone app
solutions (PENTA group, 2010). Mobile apps, on the other hand, are a fast growing section of
the global mobile market, consisting of software that runs on a smart phone and executes specific
activities for customers. Mobile Apps are frequently used by customs because of their varied
purposes, which include user interfaces for fundamental telephony and also complex capabilities.
(Ozturk 2017)
Furthermore, mobile Apps are a vast and rapidly expanding industry, with a rapid growth of
mobile App developers, editors, and suppliers serving it (the Mobile Marketing Association
group, 2008). According to new data, the worldwide demand for smart apps will boom in the
next 2 years. According to another research, the world's second largest app store, the industry
will expand to $17.5 billion (£12 billion) in the next two years, with installations rising from 7
billion last year to 50 billion by 2012 - a 92 percent growth (BBC News, 2010).
In this part, we will discuss the research that has been done to address the problems of studying
contemporary mobile application development procedures. Researchers have discovered
concerns or obstacles in Charcoal Factory Mobile Application creation using first-degree
methodologies to acquire data. Flora et al. [6] used a survey of the mobile research and
development community to look at the issues that arise during the creation of mobile
applications. Couple group members raised concerns about a complete absence of experienced
and knowledgeable resources to create smart phone applications, evaluating the skill involved at
the start of the program, and noting that the development team spends lots of time understanding
and evaluating client's expectations, boosting their volume of work. Furthermore, numerous
studies indicate that almost all mobile app developers utilize rapid or nearly commercial
14
methodologies, considering the fact that, despite the fast evolution of mobile devices, brief
production and time management skills are necessary, and product innovations could be the
solution [6] [7].
2.2 Synthesis
After analyzing the observations, the researchers determined that design-based research is a good
fit for creating and creating technological advancements breakthroughs since testing process is a
necessary aspect of the process. Because scholars and practitioners were engaged from the start,
their input was invaluable in envisioning the answer within a theoretical framework. The
accompanying design guidelines for mobile applications were generated from the outcomes of
the research project. (Francis 2017)
Principle 1: The research group must have transparent interactions with all participants,
including the programmer, to provide a variety of schemes and techniques. In order to decrease
the production time of the invention, the group can examine these techniques and find the best
answers.
Principle 2: The research group should examine current research and methods in the local
environment while developing culturally sensitive approaches.
Principle 5: Adaptive technology should also be implemented into the mobile application to
support disabled people and make them more included.
Principle 6: In order for new mobile application solutions to be sustained and adopted,
institutional leadership for orientation, guidance, and giving mechanisms for developing support
15
structures is critical. Otherwise, invention dispersion will be visible solely at the individual level
and would eventually fade away. (Snighda 2021)
Moreover, given the increasing number of mobile apps available today, application development
methods are not better adjusted to mobile app development initiatives and are hard to
comprehend, because features of smart phone apps in their functioning and real-world
environments create a fresh series of research subjects with alternative approaches. New
techniques use generalized assessments that aren't frequently focused on a specific app
development, culminating in conclusions that are quite vague. We provide a study technique that
enables for the investigation of individual mobile apps in tiny, moderate, and big businesses in
two situations: academic and industrial, in the following. (Sama 2008)
16
CHAPTER 3
PROJECT ANALYSIS
The models for the online shopping system via Charcoal Factory App are listed below.
Shop Products; This element is activated when a user accesses the landing page or seeks
for an item using a searching keyword. This section of the program comprises presenting
all of the items that are available or that matches the customer's search query. The user
may then categorize these goods based on numerous criteria such as supplier, product
category, compatible software applications, and budget range. The user browses through
the items, which are shown with a picture and details such as the user interface enabled,
the amount of user licenses available, and whether the product is a full version or an
upgraded edition. A customer may add an items to the cart by dragging and dropping it
into the cart or by pressing a button. The shopping cart overview would be visible to the
user.
Product Description; When a consumer sees the product information screen, this widget
is activated. A user may examine a variety of product photos in varying sizes. In a pop -
up window, the user may see an expanded image. The user may read the item's
comprehensive documentation, including its characteristics, operating system
compatibility, and requirement analysis, among other things. A user may also look up
information on the supplier, as well as discounts and replacement procedures. The
product's evaluations can also be viewed by the customer. A product review can also be
written by a user.
Shopping Cart; When the client uses the shopping cart, this component begins. All of the
goods that the user has entered to their shopping cart, as well as their pricing and number,
are presented. The total cost of all the items added to the cart is shown. The amount of
17
each goods may be changed or the product may be removed from the shopping basket.
By pressing a button or dragging and dropping the item outside of the cart, a user can
eliminate it from the cart. Whenever a user adjusts the amount of a product or removes it
from the basket, the total cost adjusts correspondingly. (Saptoto 2020)
Since the application's purpose is to be simple to use and engaging, a lot of study has gone into
understanding the requirements and habits of different users. The application's operation is made
simple and straightforward for the average consumer. I and my fellow researchers, gave the
research regular input. (Yumusak 2014)
Users can be divided into two groups based on how well they understand the items that meet the
needs of customers. They may be divided into two groups; customers who understand what
service will meet their needs and customers who must discover out what product will meet their
wants. Customers who are familiar with the brand should be able to locate it quickly with the
press of a button. Such people can utilize the product description as a search phrase to find the
right product. Clients that need to locate an item that meets their needs may use a keyword
phrase to get a list of items, and then refine the findings using factors such as product category,
supplier, budget range, technology compatible, and so forth. (Solanki 2017)
Customers should be able to see the whole design specifications as well as multiple photos at
different magnification settings. The customer should be able to see the item's user reviews as
well as the rankings. They should be allowed to write comments for themselves. They should be
able to write item specs or send the company website to pals, for example. (Lypchenko 2019)
To make the shopping cart more user-friendly, the customer should be able to click and drag
products into the basket. The items of a shopping cart should be editable by the customer. It
They should be possible to alter the amounts of things in the cart as well as delete items from the
cart. By dragging and dropping the item outside of the shopping cart, the user must be able to
eliminate it from the cart.
Whenever the items are added to or removed from a shopping cart, pop-up notifications may be
used to make the app more engaging. If the arrow hits a drop box, the customer can be reminded
18
of the item that might be discarded. Clients are also restless, thus it's essential that websites load
quickly. (Elberzhager 2019)
Aside from that, I conducted a lot of study on different ways to construct this application and
was able to include a few more advanced features into it. The suggested ASP.NET styles and
AJAX Toolkit controls are utilized in the application, which increase accessibility, usability, and
interaction.
According to the opinions of the new users, the respective mobile application should be typically
efficient, simple to follow, browse, attractive, and interesting. It should also stand beneficial for
marketing purposes, since the information and tools employed in the program must be
advantageous to the app developer, the company, and as well as the users. As a result, by giving
instructional strategies through digital technology, the major purpose of this research project is
achieved. From the developer's view, the built mobile visual interface is relevant to the users
general objective, and could be utilized as a mobile application system for the entire corporation.
It can also be utilized as a marketing support network. (Contributor 2018)
The creation and assessment of the Charcoal Factory App (phase 3) was performed sequentially
with via reflective practice in this research. The goal of the application's design-based research is
to enhance users marketing experiences by employing a systematic yet flexible technique that
includes adaptive analysis throughout the app's conception, development, and deployment (Wang
and Hannafin, 2005, pp. 6-7). These practices are founded on the perspectives shared by buyers
and customers in a typical setting, and they will lead to the formulation of contextually
responsive design principles and theories (Wang and Hannafin, 2005). As a result, the respective
design-based research achieves its ultimate purpose of strengthening the link between shopping
through a web application, and traditional shopping challenges. Scholars and practitioners are
19
key parts of the research project in this circumstance, and they are actively engaged from the
application's original concept and creation through its ultimate deployment. However, others
challenge the validity of the findings of design-based study because of the engagement of
experts, believing that research team may not be trustworthy and loyal in their assessments
(Barab and Squire, 2004). Furthermore, because design-based research is context-dependent, the
approach may not be repeated in different situations (Design-Based Research Collective, 2003).
The following sections can be used to break down the system's requirements:
Technical Requirements; The sole technical requirements for deploying the application
include, Win 2000/XP as the operating system, IIS and the.Net Framework, SQL Server
2005 database. And for the users, Internet Explorer and a Connection to the Web.
Behavioral Requirements; The program does not require any specific technological
knowledge, and all of the views accessible are self-explanatory. For all activities made,
the users are effectively led by caution and error warnings.
C++, Java, Kotlin, JavaScript, and a variety of other programming languages may all be used to
create mobile applications. In the creation of these applications, each programming language has
its own set of benefits and drawbacks. As a result, a comparison is required to determine the
relative worth of such programming languages. Java and Kotlin, two prominent programming
languages for Charcoal Factory Application development, were evaluated in this research.
According to the test findings, Kotlin is superior in terms of more succinct lines of code and less
data utilization, resulting in a significant reduction in defects and a speedier development time.
20
Java, on the other hand, has a little advantage over Kotlin in terms of compilation time and APK
size. Overall, for android mobile application development, Java should be used if the APK size
and compilation / build time are priorities, whereas Kotlin should be used if the priority is fewer
defects, succinct code, and shorter development time. We used Kotlin in the proposed research
for the development of Charcoal Factory Application.
Databases, sometimes known as mobile application databases, are a logically ordered collection
of structured data tailored to the needs of a mobile app. The databases are kept on a computer,
either a desktop or a laptop. Database management systems are used to manage, maintain, and
amend databases. With so many options, choosing the correct database for the appropriate
application was quite difficult for our research group of mobile app developers. The apparent
explanation is that mobile app development generates a tremendous volume of data, therefore,
we chose PostgreSQL which is a strong, open source object-based relational database with a lot
of customization options.
21
CHAPTER 4
PROJECT DESIGN
The web application's design includes the creation of forms for listing items, searching for items,
displaying detailed product specifications, and creating an easy-to-use shopping cart. It provides
a design of an interactive application that allows the user to filter items by a variety of criteria.
Design of an application with drag-and-drop functionality. Moreover, the program should be
designed in such a way that data transfers between the client and the server are minimized.
22
(Fig 4.2 Architectural Context Diagram)
The information delivered to and collected from the user is depicted in this context diagram.
Purchasing over the internet has been recognized. The arrows indicate the data that the program
receives or generates. The enclosed areas reflect the collection of data sources and sinks. We can
see that the users engage with the program via a graphical interface in the network. The
customer's Sort and Filter criteria, as well as a fresh comment published by the customer, are the
program's inputs. In addition, the output is in the type of Repeater and tabular displays, which
provide users with a set of possible items. Users may see the whole description, as well as
pictures and customer reviews.
The software development process model that is chosen is determined by the parameters of the
software project. We need to understand the features of mobile applications in order to design
them. The following are the main qualities of a mobile application:
The needs of users are changing all the time. There is a lot of change.
The time it takes to develop a product is limited.
The emphasis is on the user interface.
With these needs in mind, mobile application development requires flexible software process
models that can adapt to rapidly changing system needs in a short amount of time and at a cheap
cost. As a result of the unpredictability in mobile app development, an iterative and incremental
methodology is required. Agile has been recognized as the best appropriate process paradigm.
Among the different software process models, this section explains why Agile is the best suited
software process model for mobile application development. Agile software development is
based on iterative development, but it varies from other conventional software process models in
that it places a greater emphasis on the user. It uses a hybrid iterative and incremental method, in
which the whole SDLC is split down into discrete iterations, allowing the project to quickly react
23
to changes. It lowers the total risk. Customers and their feedback are given priority. For the
development of a highly pleased product, it believes in self-organizing teams and consumer
collaboration. Testing and quality assurance cycles are repeated several times to enhance
reliability.
We suggest using a generalized data model for mobile applications that is based on the Resource
Description Framework, a semantic web data model standard (RDF). RDF is a basic data model
that consists of subject-predicate-object triples and triple statements. “University U1 has
Department D1,” for example, is a triple statement in which U1 is the subject, D1 is the object,
and “has” is the predicate. In this approach, any sophisticated connections may be represented in
an RDF model as objects, while binary connections may be represented as in- objects in an
object-oriented model. RDF may be represented as a graph containing "nodes," also known as
resources, and "directed connections or connections," also known as properties, connecting
nodes.
Oval nodes represent objects, such as "edogdu" (a faculty member in the computer engineering
department), while rectangular nodes indicate literal values, such as the faculty edogdu's phone
number (literal values are given in quotes). Because literal value nodes are end points (not
objects), they cannot be connected to other objects; only object nodes and literal value nodes
may be connected to each other. If this data model is translated into a relational data model,
24
relations or tables are used to specify entities such as universities, departments, professors, and
relationships between ideas.
Every new notion, entity, or interaction between entities necessitates a new relation in the
relational model. As a result, it's more sophisticated and tough to keep up with. On the other
hand, we propose using the RDF data model, which only needs one table or triple store to
capture all entities and relationships. This is a simpler schema to create, update, and manage than
the relational data model, which needs at least four relations (tables) for the same example;
university, department, faculty, and department faculty (in the c database).
(Fig 4.4 ii RDF triples for the data model in Fig 4.4)
25
CHAPTER 5
The goal of this online purchasing Charcoal Factory Application is to allow users to experiment
with the search tool and develop various combinatorial search criteria in order to conduct an
exhaustive search. Making the application AJAX-enabled eliminates these inconvenient delays,
allowing the user to conduct a thorough search. The contrast between Ajax-enabled user
interfaces and conventional user interfaces is immediately discernible by this application's users.
Provide an interactive interface that allows users to quickly engage with various aspects of the
program. A search engine that makes it simple and straightforward for users to find items that
meet their individual needs. The search tool would provide a list of items depending on the
search word, which the customer could then filter using multiple aspects. Enable the participants
to drag things in and out of the shopping basket, permitting them to be added to or removed from
the shopping cart.
5.2 Implementation
The database was designed in a similar way as the analytical phase. SQL Server 2005 was used
to create the database.
26
(Fig 5.2 Database Implementation using SQL Server 2005)
The application's major tables, as well as search and querying tabular, are listed below.
Microsoft Visual Studio 2008 was used to create the application's graphical interface. Repeaters,
Ajax Update panels, Ajax toolkit components including modal popup, textbox watermark, and
Auto complete controls are the major features utilized in the layout.
27
(Fig 5.2.1 Shop Products Page)
The customer may see the selected classification in a list. The customer may browse for goods
by typing a query word into the top-right search text field. This text box is digitized with the
phrase "Search Terms" to indicate to the viewer that this is where the search results should be
entered. The user may utilize the dropdown lists to select the items.
A item may be dragged and dropped into the shopping cart. This is seen in Figure 5.3. As
illustrated in figure 5.4, the basket is amended accordingly.
28
(Fig 5.2.1 ii Showing Drag & Drop a Product in the cart)
29
(Fig 5.2.1 iii Showing that Cart has been updated)
By tapping on the product link, a user may see the full information about the product. Figure 5.5
depicts this. The user may drag the pointer over the little pictures to see an expanded version of
the same picture. As demonstrated in Figure 5.6, the user may click on the expanded picture to
see an even larger image in a pop-up box.
30
(Fig 5.2.1 iv Product Description Page)
31
(Fig 5.2.1 iv Pop up Window showing an enlarged image)
The write review tab panel, as seen in figure 5.7, may also be used to write a review. Likewise, a
customer may get relevant information by clicking on the tab panel customer feedback, specs,
manufacturer information, and so forth.
32
(Fig 5.2.1 vi Cart Details Page)
Items may be searched by a variety of criteria, including supplier, product category, operating
system compatibility, and so on. Originally, it was determined that all of the list elements would
be pre-defined. However, additional suppliers and item kinds may be introduced over period. As
a result, the information for the producer list and products kinds are automatically imported from
the database. Essentially, it was planned to include a budget range drop down list, from which
the user may choose a price range from the available options. However, the user's ability to filter
items depending on multiple price brackets would be limited as a result. Offering two text areas
for the user to specify their pricing strategy would instead provide them with more freedom.
By dragging and dropping a product into the cart area, it may be added to a shopping cart. A
button might be pressed to remove items from the cart. Products could be removed from the cart
to preserve symmetry and convenience of use simply dragging the goods out of the cart.
33
By dragging and dropping a product into the cart, it may be added to the cart. Initially, it was
determined that when a product was added to the cart, the cart summary label could be updated
on the client side without requiring a server call, and then the session variables (Shopping cart)
could be changed afterwards. When the user's internet connection is lost, this will result in data
loss. When a product is added to the cart, a web service is invoked, which changes the shopping
cart's experience parameters and recalculates and sends the cart overview response to the
customer. This would increase the application's dependability.
5.3 Testing
Software testing is a method of executing programs with the goal of detecting software flaws.
Software testing ensures software quality and represents the ultimate assessment of earlier phases
of software development, such as description, layout, and coding creation.
Unit testing focuses on the smallest unit of software development, such as a software system or
unit, for validation. Unit testing is a dynamic form of verification in which the software is
compiled and performed in real time. Parallel to the coding step, unit testing is carried out. Unit
testing examines individual parts or modules rather than the entire package.
Our research team initially screened each view/module of the program. Testing was performed in
parallel with the module construction, monitoring each and every type of input and validating the
associated output until the module was found to be functional.
The modules' functioning was also evaluated as individual pieces. Each of the 3 sections was put
through its paces as a stand-alone unit. All of the features in each module were examined
thoroughly.
When an items are added to the shopping basket in the Shop Products Module, it is ensured that
if the item currently appears in the shopping cart, the number is raised by one, and a new product
34
is generated in the shopping cart. In addition, the state of the system after dragging a product into
the shopping cart is much like the state of the system after pressing the add to cart button.
Additionally, every one of the product photos presented on the store products page are draggable
and contain the product attribute, allowing them to be put into the cart section.
All of the photos in the Product Description Module have been checked for correct presentation.
Users may add reviews, and the see customer feedback tab is updated as soon as a person adds a
review. When a user submits a comment, it has been tested to see if the entire page updates or if
only a portion of it does.
When a user adjusts a number or eliminates an item from the basket, the total price is changed
correspondingly, as per the Cart Details. Whenever a user modifies the cart, it has been tested to
see if the entire page updates or if only a portion of it does.
Visual Studio 2008 includes built-in functionality for app development. Without the use of an
external program, unit testing may be done in Visual Studio 2008. For the aim of testing phase,
many methodologies have been developed. For these techniques, test cases are produced
automatically. The tests run in an ASP.NET context, which ensures that the parameters from the
Web.config file are taken up immediately once the testing phase starts to run.
Methods were built to extract all manufacturers from the database, strings matching a specific
search keyword, items matching specific filter criteria, all photos associated with a specific
product, and so on. (Rachel Harrison 2013)
Integration testing examines a system made up of various modules for issues coming from
component interaction. The system definition should be used to build integration testing. To
begin, a basic setup must be implemented and tested.
In this project, we used a bottom-up approach to integration testing, which means that we began
building and testing with atomic modules. The modules are merged one by one after unit testing,
and the system is then tested for faults caused by component interaction.
35
(Fig 5.3.2 Unit Testing in Visual Studio 2008)
It ensures that the program fulfills all functional, behavioral, and performance specifications.
Techniques such as black box testing are employed. There are three major elements.
Alpha and Beta testing—Alpha testing is conducted at the creator's location, i.e. at home,
and Beta testing is done once the app is released. We were unable to do Beta testing since
my application had not yet been released.
36
Test Cases- In order to test the product, I employed a variety of test cases. Different inputs were
employed in various circumstances to determine if the intended output was created or not.
A new row in the shopping cart should be created when a new product is added to the
cart.
The amount of an existing design must be updated when it is added to the cart.
The atomicity of the transaction is evaluated since the same page inserts data into many
tables in the database.
The response of the system after dragging an item into the cart should be the same as the
state of the system after adding the same product to the cart.
Understanding the interior workings of a product allows white box testing to be carried out to
guarantee that inner transactions are carried out according to requirement and that all internal
components have been sufficiently exercised. The thinking styles via the program is evaluated in
white box testing by creating test scenarios that stress particular processes and conditions and
sequences.
Developers can create test cases using white-box testing tools that;
Ensure that each module's separate pathways have been tested at least once.
All logical judgments should be tested on their true and false sides.
All loops should be exercised at their boundaries and within their operational bounds.
37
Internal data structures should be tested for validity.
We verified the project's logic at every level of development by providing erroneous data and
producing the appropriate warning messages. All loops and dependent expressions are evaluated
and evaluated against the boundary conditions.
To simulate virtual users and evaluate the system's performance, Jakarta JMeter, an application
testing tool, was employed. It may be used to assess both static and dynamic resource
performance (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and
more). It may be used to assess the strength of a server, network, or item by simulating a strong
load on it, as well as to monitor overall performance under various load types. It may be used to
do a graphical study of performance and to evaluate the behavior of the server, script, or object
under high concurrent demand.
We conducted efficiency research to evaluate the application's highest and sustained load. This
has been done with a few pages, such as the Shop Products (extensive Database access, business
logic intensive, and more Images) and the Cart Details (extensive Database access, business
logic intensive, and more Images) (simple page). Below are a few sample screenshots of test
results. The tests were carried out on the same system as the application (server) and JMeter.
Because the server and JMeter are both operating on the same system, these testing results do not
take into account things like bandwidth utilization.
When the number of users is maintained constant and only the loop-count is raised, response
time grows dramatically. This is because the number of requests processed by the server per
second remains constant for every execution of the loop count and for every increase in the loop
count if the number of users is maintained constant and only the loop count is raised. As a result,
the reaction time will not be significantly increased in this scenario. When the number of users is
38
raised while the loop count remains constant, the number of requests processed by the server per
second rises, resulting in a longer response time.
5.4 Evaluation
Any Ecommerce application can benefit from the application. It's simple to use since it makes
use of the user dialog's GUI. Screens that are easy to use are available. The software is simple to
use and dynamic, making online purchasing a pleasurable experience for consumers. It has
undergone extensive testing and implementation.
5.4.1 Challenges
With minimal instruction, learning new technologies such as utilizing JavaScript for drag
and drop behavior and Ajax toolkit controls.
The main goal of this project is to gain real-world experience. New technology should be
learned.
39
CHAPTER 6
6.1 Conclusion
The Charcoal Factory Application is intended to provide an application that facilitates product
searching, browsing, and selection. The search engine offers a simple and convenient way to
search for items, allowing users to search for items interactively while the search engine refines
the goods accessible depending on their input. The user may then examine each product's
detailed specification. They can also read product reviews as well as create their own. The use of
Ajax components would make the application more interactive and eliminate the need for
unpleasant postbacks. Its drag-and-drop functionality would make it simple to use.
There is no built-in check-out mechanism in this application. This application requires the
integration of an external checkout package. Furthermore, users are unable to store shopping
carts for later access, i.e. they are unable to construct wish lists for later access. This program
lacks capabilities that allow users to create price ranges for goods and receive alerts when the
price falls within that range.
Users may establish accounts and save things to wish lists using the existing system,
which can be expanded.
40
Users may sign up for price alerts, which would notify them when the price of a product
fell below a certain threshold.
Only the shopping cart procedure is covered by the existing system. It may be enhanced
to provide a simple check-out process.
Multiple shipping and billing addresses can be saved by users. They may utilize the drag
and drop function to pick shipping and payment details during payment.
41
REFERENCES
Javed, S.Z.A.K. (2013) An Efficient and Effective New Generation Objective Quality
Model for Mobile Applications [online] available from
<https://www.researchgate.net/publication/274048560_An_Efficient_and_Effective_New
_Generation_Objective_Quality_Model_for_Mobile_Applications> [13 June 2021]
Danilo Martínez Xavier Ferre Diego Miguel Marcillo (2018) Proposal for an Integrated
Framework for Mobile Applications Development [online] available from
<https://www.researchgate.net/publication/322250372_Proposal_for_an_Integrated_Fra
mework_for_Mobile_Applications_Development> [13 June 2021]
42
Sama, H.R.D.A. (2008) Blue Search in Kansas River Database [online] available from
<https://krex.k-state.edu/dspace/handle/2097/959> [13 June 2021]
Saptoto, R. (2020) A Comparative Study of Java and Kotlin for Android Mobile
Application Development [online] available from
<https://ieeexplore.ieee.org/document/9315483/authors#authors> [13 June 2021]
Solanki, J. (2017) How to Choose the Right Mobile App Database [online] available from
<https://www.simform.com/mobile-app-developers-database-selection/> [13 June 2021]
44