Online Shopping Cart Application: Design and Functionality, Study Guides, Projects, Research of Software Engineering

The functionality and design of an online shopping cart application. It details user and admin interfaces, database interactions, and functional requirements. Aspects such as adding items to the cart, user authentication, checkout processes, and database management. It also touches on potential future enhancements like detailed categories and wish lists, providing a comprehensive overview of the system's architecture and features. Useful for understanding the software analysis process related to online shopping cart applications, including product function, user characteristics, functional and nonfunctional requirements, constraints, assumptions, and dependencies. It also provides insights into the user interface and database interactions, making it a valuable resource for students and professionals in computer science and e-commerce.

Typology: Study Guides, Projects, Research

2023/2024

Available from 06/17/2025

wilson-rich
wilson-rich 🇰🇪

282 documents

1 / 79

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ONLINE SHOPPING CART APPLICATION
A Paper
Submitted to the Graduate Faculty
of the
North Dakota State University
of Agriculture and Applied Science
By
Swati Gupta
In Partial Fulfillment of the Requirements
for the Degree of
MASTER OF SCIENCE
Major Program:
Software Engineering
June 2013
Fargo, North Dakota
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f

Partial preview of the text

Download Online Shopping Cart Application: Design and Functionality and more Study Guides, Projects, Research Software Engineering in PDF only on Docsity!

ONLINE SHOPPING CART APPLICATION

A Paper Submitted to the Graduate Faculty North Dakota State Universityof the of Agriculture and Applied Science

By Swati Gupta

In Partial Fulfillment of the Requirements MASTER OF SCIENCEfor the Degree of

Software EngineeringMajor Program:

June 2013

Fargo, North Dakota

North Dakota State University Graduate School

Title

Online Shopping Cart Application

By Swati Gupta

The Supervisory Committee certifies that this disquisition complies with North Dakota State University’s regulations and meets the accepted standards for the degree of MASTER OF SCIENCE

SUPERVISORY COMMITTEE: Kendall E. Nygard Kenneth Magel Brian Slator Linda Langley

Approved by Department Chair: 7/1/2013 Dr. Brian Slator Date Signature

Chair

ACKNOWLEDGMENTS

I would like to express my deep sense of gratitude and convey thanks to everyone who helped me and supported during the completion of this project and my research paper. First, I would like to express a deep sense of gratitude to Dr. Kendall Nygard for helping, guiding, and supporting me throughout my master’s degree and research completion. I also convey thanks to my all committee members for helping me from time to time and for being on my committee. I acknowledge my department for providing the courses and a great atmosphere that helped complete different chapters of this paper. I especially thank my supervisor, Mickey Arora, for supporting me and my concepts and for allowing me to do something the way I liked, as well as my company, Thomson Reuters, for helping me develop the skills necessary to design this application as part of my master’s research. Last but not least, I would like to thank my family members for their constant and unrelenting support towards my education and for their impartial love for me. I would also like to thank my friends, without whom this project would have been impossible.

v

TABLE OF CONTENTS

ABSTRACT ................................................................................................................................... iii ACKNOWLEDGMENTS ............................................................................................................. iv LIST OF TABLES ........................................................................................................................ vii LIST OF FIGURES ..................................................................................................................... viii CHAPTER 1. INTRODUCTION .................................................................................................. 1 1.1. Motivation ........................................................................................................................... 2 1.2. Aim of the Software ............................................................................................................ 2 1.3. Literature Review................................................................................................................ 3 1.4. Paper Organization.............................................................................................................. 6 CHAPTER 2. OBJECTIVES .......................................................................................................... 7 2.1. Requirements Analysis ....................................................................................................... 7 2.1.1. Product Perspective ..................................................................................................... 9 2.1.1.1. User Interface ...................................................................................................... 9 2.1.1.2. Hardware Interface.............................................................................................. 9 2.1.1.3. Software Interface ............................................................................................. 10 2.1.2. Product Function ....................................................................................................... 10 2.1.3. User Characteristics .................................................................................................. 11 2.1.4. Constraints ................................................................................................................ 12 2.1.5. Assumptions and Dependencies ............................................................................... 12 2.1.6. Specific Requirements .............................................................................................. 12 2.1.6.1. Functional Requirements .................................................................................. 13 2.1.6.2. Performance Requirements ............................................................................... 15

vii

LIST OF TABLES

Table Page

  1. List of Functional Requirements.. ............................................................................................ 59
  2. List of Test Cases. .................................................................................................................... 60
  3. List of Test-Case Results. ........................................................................................................ 65

LIST OF FIGURES

CHAPTER 1. INTRODUCTION

It is known globally that, in today’s market, it is extremely difficult to start a new small- scale business and its sustenance with competition from the well-established and settled/brand owners. Most often, even if the quality of the product is really good, due to a lack of advertisement or business at the small scale, it just becomes another face in the sea, and the product does not reach a larger group of customers. In fast paced life of today when everyone is squeezed for time, the majority of people are finicky when it comes to doing physical shopping. Logistically, a consumer finds a product more interesting and attractive when they find it on the website of a retailer directly and are able to see item’s details online.[4][5]^ The customers of today are not only attracted because online shopping is very convenient, but also because they have broader selections, highly competitive prices, better information about the product (including people’s reviews) and extremely simplified navigation for searching regarding the product. Moreover, business owners often offer online shopping options at low rates because the overhead expenses in opening and running a physical store are higher. Further, with online shopping, their products have access to a worldwide market, which increases the number of customers from different ethnic groups, adds customer value, and overall sustainable in the marketing.[8] Online web stores, such as Amazon and eBay, have gained huge popularity over the years because one can buy almost everything at these stores. These web stores also give an opportunity to a lot of small-scale companies and manufactures to reach the global market and to directly sell their products to people without involving different other companies or middlemen before their product can reach the shelves of a physical store. Further, instead of using the available platforms, manufacturers can bring a concept of designing their own web store to sell their products directly to the masses.

1.1. Motivation The motivation for designing this shopping-cart application came because I love online shopping rather than spending lot of time at physical markets. Further, using the available stores to sell the products, there is also the possibility of designing one’s own customized shopping-cart application from scratch because custom-designed platforms are expensive. Moreover, I value recent learning about the Java and JavaScript programming languages as well as seeing how powerful and dynamic they are when it comes to web designing and applications. Apart from helping computer science students understand the concepts of web-application designing, it would be very easy to incorporate the idea of using programming techniques from the available visuals to understand how a piece of code appears on a user interface. The languages used to build this application are JavaScript, HTML, and Java because I found them to be extremely useful while working on the technologies at my workplace, Thomson Reuters.

1.2. Aim of the Software This software is developed to help computer science students learn about application designing using JavaScript and HTML from their basic capabilities. This application allows the student to understand the basics about the appearance of a first web page and how a complete working application can be built from scratch. It allows students to understand the concept of user-integrated graphics and how JavaScript can be embedded into HTML. Further, it gives insight about how the client-side language interacts with the server-side language, Java, and finally with the database. This shopping-cart application is designed, primarily, for computer science students to learn and understand the concept of application development, and can also be used to teach ecommerce and web-application topics. The application can be downloaded and

friendly design is very critical to the success of any shopping-cart application because, unlike physical stores, consumers at online stores come from all ages, genders, and cultures.[10] Logistics clearly says that, to have a successful and profitable online shopping application, businesses have to spend a significant amount of time and money for designing, developing, testing, and maintaining the application. Apart from the high-class design and user interface, a good practice needs to be done to provide quality customer service.[11] A typical shopping cart should contain certain features such as adding items to the cart and checking out those items using the available payment methods. Most shopping-cart applications are implemented using HTTP cookies or query strings, and an HTML setup is required to install the shopping cart on the servers that ultimately hosts the site on the internet. Most of these server-based applications require data related to the items added in the shopping cart to be kept in a session object which can be accessed later and manipulated dynamically because the users can add or remove one or more items from the cart. Most simple shopping-cart applications do not allow checkout to be done before any items are added to the cart. Data are often stored in an external database or application-based databases which can be accessed in real time by the application administrator.[12] There are many examples of online shopping applications developed in different languages. Choosing a development platform and language depends on policies set by the company for which the application is being designed. It also depends on several other factors which are very important when considering the platform to design an application, for example, how portable the application will be after being built or if the application is open sourced. Java is chosen for this application because various reasons: it is a simple, robust, and cross-platform language. Applications written in Java can be transported and run on any environment, be it

MAC or Linux, because Java programs are compiled into platform-independent byte codes.[11] Because of the robustness of Java, it is a very safe language, as they provide exception handling and a layer method to communicate with the database, which prevents the system from crashing easily. Another very important factor from the development point of view is that the Java language is object oriented, where everything is treated as an object and where class methods are implemented instead of functions or procedures, which makes it very simple to understand the code. Several Java shopping-cart applications were examined, and implementation details were compared with the proposed design for this application to build an even simpler architecture was developed which is very easy to understand from the learning perspective. Some online shopping applications are as follows:  SoftSlate Commerce[12]  Commerce4j[13]  Cs.Cart[14]  Apache Ofbiz[15] These applications are designed for industrial purposes to generate revenue by providing these applications to customers looking to launch a website for their respective businesses.[17] The application proposed in this paper is more focused on developing a simple, yet complete, application specifically designed for computer science students to learn the basics about application design and development. This application performs all the basic functions that the above-mentioned applications do, such as selecting an item and adding it to the shopping cart, user login or registering, checkout of the item, etc. Other functions that can be added to this application are proposed in the future work, and they would be necessary under a more complete

CHAPTER 2. OBJECTIVES

All the steps required in the software-analysis process related to this project (product function, user characteristics, functional and nonfunctional requirements, constraints, assumptions, and dependencies for the online shopping cart application) are described in the following sections.

2.1. Requirements Analysis The requirements analysis and gathering processes are critical for the success of any software engineering project. Requirements analysis in software engineering is a process that determines the tasks that are required to determine the needs and conditions to design a new product or to make modifications in any existing product/application. This process considers all the stakeholders’ conflicting requirements, and analyzes the documentation and validation of the system. The requirements should be actionable, measurable, testable, and related to the defined needs of the system design. From the software-engineering perspective, requirements analysis is a three-step process.

  1. Requirements Elicitation: Elicitation of requirements, also known as requirements gathering, includes the task of identifying various requirement types from stakeholders or from project documentation.
  2. Requirements Analysis: Analysis of requirements determines if the gathered requirements are clear, complete, and consistent. The analysis also handles any ambiguous requirements that do not clearly state what needs to be implemented, which could create a loss of resources and time if identified later in the development or testing phase. Requirement analysis requires identifying the stakeholders and taking their needs into account to help them understand the implications of designing the new system, along with

what modules are worth implementing and which ones are more cost efficient, and then to create a software-requirement specification document. To clearly elicit the stakeholders’ requirements, different processes, such as developing a scenario or user stories, and identifying the use case which is being used for the project, can be utilized. Stakeholder analysis says that, to clearly gather the requirements of the project, analysts first need to identify the stakeholders. Stakeholders are people or organizations that have a valid interest or use in the system. The steps to identify the stakeholders are as follows:  Anyone who operates the system.  Anyone who benefits from the system  Anyone who is directly or indirectly involved in purchasing the system  People or organizations opposed to the system  Organizations responsible for the system design  Organizations that regulate the financial or safety aspects of the system Once the stakeholders are successfully identified, interviews are conducted through different processes; the needs and requirements of the system are identified, and a requirements specification document is prepared. The document is then discussed with the major stakeholders to identify any ambiguity with the requirements and understanding of the system.

  1. Requirements Documentation: This step involves documenting the requirements in various forms, including summary lists, natural language documents, visual documents, use cases, user stories, or process specifications. A requirement specification document is categorized in different ways according to the stakeholders’ need, helping to create a clear contract between development and business. The following sections include the different

 32 MB of free hard-drive space  128 MB of RAM 2.1.1.3. Software Interface This section lists the requirements that are needed to run the system efficiently. The operating system needed for the system to run effectively, the interface to run the application, the driver for running Java web applications, the integrated development environment to develop the application, and the third-party tool used for editing purposes are as follows:

  1. Operating System: Windows (Vista/Windows 7) or MAC OS
  2. Web Brower: Internet Explorer (8.0 and above), Mozilla Firefox (3.0 and above), or Google Chrome
  3. Drivers: Java Runtime Environment
  4. Integrated Development Environment: Eclipse Juno or Apache Tomcat
  5. Third-Party Tool: Microsoft Word

2.1.2. Product Function The online shopping-cart application would have the following basic functions:

  1. Display all the categories available for shopping on the system’s main page.
  2. Display all the items linked to each category listed on the main page.
  3. Allow the administrator to add new items to the existing list of available items.
  4. Allow users/administrator to remove items.
  5. Allow the administrator to modify the price of each item.
  6. Allow the administrator to update the description about each item.
  7. Allow the administrator to view and edit information about each user that checkouts the items from the system.

2.1.3. User Characteristics The users of the online shopping-cart application, based on their roles, are customers (users) and the administrator (owner). These users are identified based on their experience and technical expertise.

  1. Admin: The administrator is the owner of this online shopping-cart application. One must have a basic understanding of computers and the internet as well as prior knowledge for operating the eclipse and Java programming languages. The administrator is responsible for maintaining all the training documents required for the system. The administrator can perform the following functions:  Assign or change the price of the items, update the items in the list, and delete the items.  Assign sales tax for different states at the time of checkout.  View the history of the customers who purchased the items.
  2. Users: The users of this online shopping-cart application are all customers who would shop to test the application. These users are anyone with shopping experience and the know-how to browse through a shopping-cart application. They must have basic understandings about computers and the internet. The users should be able to perform the following functions using this system:  View, browse, and select a category on the home page.  View, add, and update items in the cart.  Delete items from the cart.  Check out the items from the application or continue shopping.  Sign-on/login using a username and password.  Place the order by completing the order form.