Online Shopping System: Design, Implementation and Database

Verified

Added on  2023/03/20

|19
|4748
|66
Project
AI Summary
This project report details the design and implementation of an online shopping system. It begins with an overview of the system design phase, emphasizing the transformation of requirements into detailed specifications using the Software Development Lifecycle (SDLC) and the Agile methodology. The report covers architectural design, including a contextual diagram illustrating information flow, and a modular approach with components for product display, shopping cart, and product descriptions. The database design is presented with high-level and relationship schema diagrams, highlighting the use of surrogate keys and the relationship between order and order items. The implementation section describes the technologies used, including IIS, ASP.NET, and MySQL, detailing their roles in handling user requests and managing the backend database. The report also addresses security considerations and design goals, providing a comprehensive view of the online shopping system's development process.
Document Page
Online Shopping System 1
Online Shopping System
By (Name)
The Name of the Class (Course)
Professor (Tutor)
The Name of the School (University)
The City and State where it is located
The Date
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
Online Shopping System 2
Online Shopping System
Design
The design phase of the software development lifecycle (SDLC) transforms software
requirements into detailed specifications by covering all aspects of the systems as defined during
the requirement engineering and data modeling phases (Yang, et al., 2008). A ‘tangible' system is
developed following a suitable software development methodology to meet or to satisfy all user
requirements that were elicited during the initial development phases. At this stage, the
development team assesses and plans for security risks and countermeasures, and aims at getting
approval to continue with the next phase in the lifecycle - development phase by transforming
the requirements into a complete into complete and detailed system design specifications and
upon its completion, the development phase takes root.
The project team has to take critical decisions regarding system design approach,
execution of decisions and how these decisions are to be continued based on the identified
system needs. Consultations held with technical resources and operations staff help the
development team to identify all technical issues related to the installation, operations and
maintenance phase of the software (Dawson, 2015). Software deliverables from this stage create
a universal system understanding among all stakeholders and serve as reminders for critical
milestones throughout the project implementation phase. These deliverables also serve as a
mapping that directs the implementation phase by suggesting best design practices.
Successful design is founded on strict adherence to standards and applicable software
laws and ethics. This phase is brought to conclusion with the team delivering: system design
documentation, system's security consensus document, security plans, and data and disaster
Document Page
Online Shopping System 3
retention plans. They also define and initiate unit and integration plans, conversion documents
and the implementation plans. The system design documents outline is used to specify the
construction details of the system and how each of the components interact with each other and
external entities as well as the interfaces through which these interactions take place. The
system's security architecture, policies, security tests, and assessments any risks are also
included.
System design begins by reviewing the requirements as elicited during the requirements
engineering phase, and cascades through the phases of monitoring project performance, updating
and performing management activities, and submitting periodical reviews of updates. Design
activities are then initiated and are followed by a revalidation of the project's scope. Throughout
the designing processes, the requirement traceability matrix is constantly updated to ensure that
design for all requirements is satisfactorily met. Risk management activities are periodically
conducted to identify all project risk factors, determine their qualitative and quantitative effects,
and provide methods for risk mitigation, transfer and/or avoidance and to provide a definition of
risk tracking procedures and how response plans are to be executed. It must be understood that
after ambiguous requirements- attributed to most projects’ failure, poor design principles also
lead to projects’ failure (Whitten, et al., 2000). Decisions made at this phase greatly affect the
technology used, the project's framework, the implementation phase, and change management
activities which ensure adherence to design principles and standards.
Design goals
The design of the online shopping system involved the design of all forms of listing the
products, products searching bar, and the display of complete specification and products’
descriptions. It also involved the design of an interactive system that enables clients and admins
Document Page
Online Shopping System 4
alike to filter products based on different parameters and that which decreases data exchanges
between system servers and the clients.
Architectural design
The above contextual diagram identifies all the information provided to the system and
that which is received from the system- represented by the arrows. Sources and sinks of the
information are represented as closed boxes. This implies that the clients will use graphical
interfaces to interact with the application.
The agile development methodology will be used in during the development phase since
it requires less planning and it works by dividing complex problems into smaller manageable
tasks which are implemented incrementally (Grässle, et al., 2005). The software development
lifecycle (SDLC) based on agile methodology consists of requirement engineering, analysis,
design, coding, testing and maintenance phases. Agile methodology is an iterative process and
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
Online Shopping System 5
creates room for updates to be made according to customer needs (Sommerville, 2015). This is a
great development approach that not only simplifies the development work but also makes the
design process a very flexible one. Project team members can review and determine if what they
are building is likely to meet customer specifications and adjust accordingly (Sharma, et al.,
2012). Agile methodology can, therefore, be described as being an iterative and modular
development method. Other characteristics are incremental, adaptive, convergence,
collaborative, people oriented and parsimony.
Modular Approach
Among the modules that were included in the system include shop products, shopping
cart, and the products' description module. The shop products module runs when clients visit the
online shopping system's home page or when they search for products based on their preferred
parameters. This part of the application will be used to display all available products based on
their categories or type and the search parameters used by the clients. Search parameters to be
used include product type, brand, manufacturer, price, size, and color among other parameters.
The products’ description module will be accessed when users click on various items available in
the system. From this module, detailed description of the products including price, name, brand
and/models, manufacturer, and related purchase conditions. Additionally, clients who have used
or purchased these products before will have the option of writing a review or rating them; these
reviews are to be made visible to all other clients. The shopping cart module will be used by
clients and will consist of all items that clients are willing to buy from the firm. To be included in
this module are the functionalities of adding the number of items that the clients want to buy per
product and the capability of removing an item from the cart all the same.
Document Page
Online Shopping System 6
Database Design
Figure 1: high-level schema diagram
The systems will of multipole databases run by different database instances following
different user action triggers. The catalog database schema will be separated from more volatile
ones like order processing. This implies that the design will follow multiple schema approach
that will be interconnected when processing queries that will need concurrent access to the
schemas. Although this approach would result in slowed performance, this concern is
outweighed by the fact that a system designed this way is stable, maintainable, secure and offers
load balancing services.
Document Page
Online Shopping System 7
Figure 2: a relationship schema
Proper selection of primary and foreign keys determine the success of the implementation
of a secured database application. However, in this system, for the purposes of avoiding
dependences on data changes, system-generated primary key (surrogate keys) will be used.
These keys have embedded meaning and changes in associated data automatically change the
primary keys. To prevent data losses and create room for report generation and personalization
procedure, there are some instances in which an attribute that is a primary key in another table is
not declared? The table Order_items, for example, captures the Inv_Item attribute from the
Inventory_Item table in a relational schema. However, this attribute is not declared as a foreign
attribute because this will violate referential integrity when a record in the Inventory_Item table
is dropped from the database (Song & Whang, 2000). To generate a report, following the same
example, a join between the two tables can only use an outer join to make the report to include
the ordered item with the deleted product.
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
Online Shopping System 8
The relationship between order and OrderItem is a one-to-many relationship. The
OrderItem table is modeled as a weak entity of the Order table. As such, the primary key in the
OrderItem table will be made as a combination of the order number and a sequence of order
numbers within the order number. Other databases not included in this schema are database
tables that will be used store information related to customers- including their personal
information and shipping addresses.
Development
Before the actual design of the online shopping system was realized, a few user interfaces
were constructed to help in the visualization of the interactions that were expected to be taking
place once the system go live (Martin, et al., 2009). The interactions were modelled from user
activities in the website as they browse products, adding them to shopping carts, view
descriptions and reviews and initiate purchase transactions.
System Implementation Technologies
The purpose of this project undertaking is to develop an online shopping system to be
used in the selling of various commodities via the internet. A web server hosting the website site
will contacted when clients types the system’s URL (Universal Resource Link) in their PCs’
address fields of browser. The information will be accessed from the internet information service
(IIS) in the form of .NET framework. IIS, the web server in this case will be accepting user
requests and return the requested resources in form of hypertext transfer protocol (HTTP)
messages. Before replying to clients’ requests, the web server first decides how to process
individual request, and its decisions are based on the requested files’ extensions. Requests for
files with .aspx and .ascx extensions are, for example, handled by an ASP.NET web engine. The
Document Page
Online Shopping System 9
ASP.NET engine accesses the requested file, and where necessary, it contacts database
application through the ADO.NET for the required file before routing its information back to
then clients.
Internet Information Services (IIS)
The IIS is an internet service used for machines running on Windows operating systems.
Originally, it was supplied for use with Windows NT Option Pack but was later integrated with
Windows 2000 and Windows 2003 Server applications. Versions 8 and 10 (and their various
updates) include File Transfer Protocol (FTP) servers, Simple Mail Transfer Protocol (SMTP)
and the HTTP/HTTPS application layer protocols.
The ASP.NET
This refers to a programming framework which is built on common language runtime and
that which is used on different server machines to build powerful web applications. This
framework is advantageous in that it is compatible with the .NET framework. The compatibility
between the two enables developers to enjoy the benefits of faster web applications, powerful
database-driven functionalities and memory leak and crash protection. Through the common
language runtime (CLR) the programming framework is able to support codes written VB.NET,
C# and Jscript.Net among other languages.
An ASP.NET application is made up of two seperate authentication layers which flow
through the internet information service being finally handed over to the ASP.NET. Based on the
nature of a request made, the IIS decides to either permit or deny access even before the
ASP.NET is made aware of the request. The authentication process begins with the IIS
determining if incoming requests are from allowable IP addresses within the domain. It denies
Document Page
Online Shopping System 10
access to all ‘blacklisted’ IP addresses. Where it is not configured to authenticate user requests,
IIS performs self-authenticates user requests and by default, allows all anonymous access
requests. A request that is passed over to the ASP.NET is processed to determine if there has
been an impersonation. ASP.NET in this situation act as the original authenticated user.
MySQL Database
The backend database of the system was developed using MySQL which is a relational,
secure, fast, reliable, easy to use open-source database management system. Each of the MySQL
threads handles a single incoming request while an extra thread runs to manage the connection.
This means that multiple clients can perform simultaneous read operations concurrently. The
MySQL database was connected with the ASP.NET application using an Open Database
Connectivity (ODBC). An ODBC driver library is used to implement functions that are
supported by ADBC API. ODBC drivers process function calls made by ODBC and submit all
SQL requests to MySQL server and sends the results back to the application.
The below diagram represent a data-driven web application that use HTML documents to
get inputs and requests from users before submitting them to a web server. The web server
processes user inputs and dynamically composes a web page to reply. Programs running on the
server can either be machine language scripts or executed when clients’ requests are received on
the server side.
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
Online Shopping System 11
The development of the web-based application was based on client-server architecture
model that uses hypertext markup language (HTML), PHP, Jscript, JSon and CSS. The HHTP
protocol used in the development of the website is a stateless protocol meaning that it does not
make any association between one transaction and another. Each and every transaction is treated
as a discrete event in the system.
For the purposes of establishing database connections, ASP.NET uses ActiveX Data
Objects.NET (ADO.NET) technology to connect to the application’s database. Classic pages
developed on the ASP framework use ADO to access and modify database contents. While this
is a fairly easy to implement access interface, ADO suffers from the lack of an updated model for
use in accessing data plus other associated many limitations. Such as inability to transmit data in
a way that makes it universally available. To overcome these limitations, ADO.NET was
developed as a more scalable technology. ADO.NET technology uses core objects to allow
systems’ developers to work with data easily- data reader and the data set. For all .NET data
access pages, before connecting to a database, developers first have to import all the necessary
namespaces that would allow them to work with all the required objects efficiently. Namespace
in .NET refers to a set of classes that can be used when creating applications. The .NET
Framework has about thirty five thousand classes all which can easily be accessed through a
namespace. The online shopping system will be using a technology known as Open Data Base
Document Page
Online Shopping System 12
Connectivity (ODBC) to access the database applications; therefore all the important namespaces
must be imported first.
Implementation
Implementation and coding represent the third phase of the Software Development Life
Cycle (SDLC). This phase is preceded by requirements gathering, analysis, and software
designing phases. The system design phase paves the way for the onset of the implementation
and coding phase. The implementation process is characterized by the deployment of the new
system in its target environment. The phase is facilitated by support activities such as end user
training and preparation to change the system maintenance control over to the maintenance
personnel.
At this stage, the actual product is realized and delivered to the client. It is the most
fascinating phase since the customer's idea for the project is turned into tangible product. The
output in this particular stage is the functional specification which files all the details of the
functions implemented in the software. A software product is developed according to
specifications of the subset of design passed from the design stage. Functional specifications are
prepared for every subset included in the implementation.
For the coding process to be fully streamlined, it solely depends on the software
application being designed properly and the requirements that have been gathered accurately. In
addition, when the correct information regarding the proposed software is gathered upfront from
the customer, projects teams are able to efficiently meet the coding deadlines. The goal of the
coding phase is to translate the designed software of the system into a given programming
language. For a particular design given, coding facilitates its implementation in the best possible
chevron_up_icon
1 out of 19
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]