







































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 79
This page cannot be seen from the preview
Don't miss anything!








































































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
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
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
Table Page
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
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.
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.
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:
2.1.2. Product Function The online shopping-cart application would have the following basic functions:
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.