0% found this document useful (0 votes)
49 views15 pages

Chapter 3

Uploaded by

Rishika Ellappan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views15 pages

Chapter 3

Uploaded by

Rishika Ellappan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

CHAPTER 3

SYSTEM DESIGN

3.1 OBJECTIVE

The main objective of this chapter is to satisfy the needs of the system
requirements and to handle all user’s needs. Numeric analysis is also taken into
consideration to benchmark the system hardware and software. The Hardware and
Software use matrix has been kept as per the users need. The details are followed
accordingly in this chapter.

3.2 MODULE DESCRIPTION

A module description provides detailed information about the module and its
supported components, which is accessible in different manners. In this application it
contains two main modules with many sub-modules. The two main and sub-modules
are:
 Product module
 Category module
 Orders module
 Payment module
 Contact module
 Cart module

3.2.1 Admin Module

The admin module within the described system plays a crucial role in managing and
overseeing various aspects of the application. The dashboard encompasses a range of
features, including category counts, total products, sales revenue, feedback analysis, delivery
status, and various other functionalities. This centralized interface provides administrators
with comprehensive insights and tools to effectively manage and monitor the diverse aspects
of the system.
The system also incorporates an employee salary calculation feature, addressing a
fundamental requirement in the process of gathering necessary information. This
functionality enables accurate computation of salaries based on predefined parameters,
ensuring a comprehensive approach to managing employee compensation within the system.

Product Module :

Admins have the ability to manage the product catalog. This includes adding new
products, updating existing product details (such as name, description, and price), and
removing products from the catalog. The organization is enhanced through categorization
into various categories and subcategories, providing users with a structured and navigable
product hierarchy. Detailed product information, including specifications and features, can
be input to aid users in making informed purchasing decisions. Search and filtering options
enhance administrative efficiency, allowing quick identification of specific products within
the catalog. The system provides information on the available quantity for each product, and
if the quantity falls below the specified limit, it indicates 'Out of Stock' to the user. The
system allows for the editing and deletion of products.

Category Module:

Categories of products are added along with their descriptions, accompanied by a


checkbox to indicate their active state. If the 'IsActive' checkbox is selected, the
categories are seamlessly incorporated into the user interface. Conversely, if it remains
unchecked, the system restricts their addition, ensuring only active categories are made
available. The available categories include pizza, melts, drinks, pastas, desserts, and sides.

3.2.2 User Module

The User module stands as one of the primary modules within this application. In
this module, users can utilize their username and password for entry and access to the
screen. Prior to accessing the application, users are required to undergo the registration
process by providing their details. The registration process includes OTP verification. In
the login if user forgets their password, a 'Forgot Password' option is available. By entering
their username and email, users can initiate the password recovery process, and the
password will be sent to their email through the SMTP protocol.
Orders Module :

The Order module holds paramount significance in this user site. Customers can
seamlessly place orders for their desired products through this module. The Add to Cart
option facilitates users in adding multiple products to their cart section. Once users have
completed their product selection, they can proceed to finalize their order. Notably,
customers are not restricted to a specific quantity when adding products to their cart,
allowing for a flexible and user-friendly shopping experience.

Cart Module :

The Cart module encompasses essential details including product name, image,
price, quantity, and total price for a comprehensive overview of selected items.
Convenient buttons such as Update Cart, Continue Shopping and Checkout offer users
flexible navigation and control. Additionally, the cart count is dynamically updated at the
top, providing users with a real-time summary of the number of items currently in their
cart.

Payment Module :

After adding the product to the cart, the subsequent step involves the checkout
process. Within the checkout, there are facilities for applying coupons, allowing
customers to select a coupon and receive a discounted price. During the payment phase,
customers are prompted to provide their details, and the system calculates the total
amount. Clicking the Pay button redirects customers to Razor Pay, where they can
securely complete the payment transaction. Razor Pay is a widely used online payment
gateway that facilitates secure and efficient electronic transactions.
After a successful payment, the user is redirected to a confirmation page, denoted
as the 'Success Page.' On this page, essential information such as the order ID and
payment ID is presented to the user, ensuring transparency and acknowledgment of the
completed transaction. Additionally, a convenient Order Again button is available,
allowing users to easily initiate a new order should they wish to make additional
purchases or replicate a previous order. This user-friendly approach enhances the overall
shopping experience by providing a seamless transition from payment confirmation to the
option of placing another order

Contact Module :

The Contact module includes fields for customer name, email, subject, and
description, allowing users to provide valuable feedback or reach out with inquiries.
Moreover, an integrated map feature enhances user interaction by displaying the precise
location of the shop. This combination of contact information and map integration ensures
a seamless communication channel for customers to engage with the business and share
their thoughts or seek assistance.

3.3 DATAFLOW DIAGRAM


A Data Flow Diagram (DFD) is a visual representation that illustrates the flow of data
within a system. It typically consists of processes, data stores, data flows, and external
entities. The processes represent functions or operations that manipulate data, while data
stores depict where data is stored within the system. Data flows show the movement of
data between different elements, and external entities represent sources or destinations of
data.

LEVEL 0

Figure 3.1 Dataflow Diagram Level 0

In Figure 3.1, both Admin and Customer can log in to the system, utilizing their
respective processes within the food shop project. The high-level data flow illustrates
interactions between entities involved in the system. Customers engage with the food shop
by browsing products and utilizing the Cart Module to add items to their cart. When ready
to complete their purchase, customers proceed to the Payment Gateway for the finalization
of the payment process. This systematic approach ensures a streamlined flow of data
between the various components, facilitating a seamless experience for both administrators
and customers within the food shop project.

The administrator has the capability to add products to the appropriate categories,
aiding users in swiftly locating desired items. Additionally, the administrator can create
new categories for products and assign items to the newly established categories.

This streamlined process not only assists users in quickly finding products but also
provides the administrator with the flexibility to create new categories and assign products
to them. It encapsulates the entire system as a single cohesive process and outlines its
relationships with external entities.

LEVEL 1

Figure 3.2 Dataflow Diagram Level 1


Within Figure 3.2, the Admin is granted login access to oversee product
management, payment tracking, and user account administration. On the other hand, the
User, upon logging into their account, can seamlessly place orders, explore available
products, manage their account details, and view the product catalog. This figure delineates
the distinct roles and responsibilities of both the administrator and the customer. The
admin is primarily tasked with product and order management, ensuring the smooth
functioning of the system, while customers enjoy the capability to browse products, add
items to their cart, and place orders with ease.

3.4 ER DIAGRAM

An Entity-Relationship (E-R) diagram serves as a visual portrayal of the intricate


relationships existing between entities within a database, elucidating how various entities
interconnect and detailing the attributes associated with each entity. Comprising entities,
attributes, relationships, and cardinality, this diagram becomes a structured representation
of the database schema. Entities, representing objects or conceptual entities in the database,
are encapsulated within rectangles, bearing their names. Attributes, denoting the
characteristics or properties of these entities, are visually linked through ovals connected to
the corresponding entities. Relationships between entities take form as diamond shapes,
intricately connected with lines, each line articulating the nature of the relationship—be it
one-to-one, one-to-many, or many-to-many. The E-R diagram serves as a potent tool,
aiding in the identification of data requirements and ensuring that the database design
aligns seamlessly with the users' needs. the following are the steps to create an E-R
diagram:

Step 1 : Identify the Entities


Within the system architecture, the "User" entity stands as the representation of
individuals engaging with the platform, uniquely identified by specific credentials like
username and password. Users actively participate in diverse activities such as perusing
products, placing orders, and managing their accounts.

The "Categories" entity plays a pivotal role, offering a systematic classification for
products. Admins leverage this entity to organize the product catalog effectively, ensuring
a streamlined and user-friendly browsing experience.
In the database, the "Orders" entity functions as a repository for comprehensive
details regarding customer purchases. It captures essential information, including order ID,
date, and associated products, facilitating efficient order tracking and management.

The "Contact" entity serves as a centralized hub for customer interactions,


encompassing fields for customer name, email, subject, and description. Overseeing
financial transactions, the "Payment" entity meticulously records payment details,
transaction IDs, and associations with specific orders.

The "Cart" entity serves as a transient repository, capturing selected products


during user shopping sessions. It encompasses details like product quantity and total price,
contributing to a frictionless user experience during the shopping process.

The "Admin" entity represents privileged users with elevated system access.
Admins play a crucial role in overseeing various aspects, including product management,
user accounts, and order processing, ensuring the overall efficiency of the system.

Lastly, the "Product" entity embodies the diverse array of items available for
purchase within the system. It includes attributes such as name, price, description, and
images, providing comprehensive information to users throughout their browsing and
ordering journeys.

Step 2 : Define the Relationships

The intricate web of relationships within the system unfolds as the "User" entity
finds itself entangled in a dynamic many-to-many relationship with the "Order" entity,
illustrating the diverse and manifold connections users establish with various orders. On a
different axis, the "User" entity maintains a distinctive many-to-one relationship with the
"Payment" entity, underscoring the unique and singular nature of payment interactions
within the user domain. Similarly, the "User" entity extends its relational reach, forming a
many-to-one connection with the "Contact" entity, where a multitude of user interactions
converges into a singular contact association.

In the realm of categorization, the "Categories" entity intricately weaves a one-to-


many relationship with the "Product" entity, exemplifying the structured hierarchy wherein
one category encapsulates numerous products. Simultaneously, the "Product" entity
reciprocates this connection, acknowledging its affiliation to a singular category. A
nuanced dance of relationships unfolds as the "Products" and "Admin" entities establish a
harmonious many-to-one connection, signifying the multifaceted relationship between
products and the overseeing administrators.

Finally, the intricate interplay between "Orders" and "Cart" entities unfolds in a
dynamic many-to-many relationship, capturing the complexity of how orders and shopping
carts interweave in the vibrant tapestry of system interactions.

Step 3 : Identify the Attributes

Upon establishing the relationships, it becomes imperative to delineate the


attributes associated with each entity. In the "Category" table, the pivotal attribute is the
category_id, assuming the role of the primary key. Similarly, within the "Product" table,
the products_id takes center stage as the primary key, complemented by additional
attributes. The "Add to Cart" table orchestrates its functionality with Cart_id as the primary
key, and Product_id serves as a foreign key, fostering cohesion with other entities. In the
"Order" table, the linchpin attribute is the Order_id, serving dutifully as the primary key,
while Product_id and user_id dutifully play the role of foreign keys, establishing
connections across related entities. This meticulous consideration of attributes ensures a
comprehensive understanding of the data structure and fosters effective data management
within the relational database.

Step 4 : Draw the E-R diagram

To conclude the database design process, the creation of an Entity-Relationship


(ER) diagram ensues, employing standard symbols and notation. This diagram serves as a
visual representation, delineating entities, relationships, attributes, and cardinalities within
the database structure. An ER diagram, a fundamental tool in database design, offers a
graphical depiction of the intricate web of entities, their associated attributes, and the
dynamic relationships that interconnect them. Widely utilized, ER diagrams contribute to
modeling complex data relationships and furnish a visual blueprint of the database schema,
enhancing the comprehension and communication of the database architecture.
Figure 3.3 ER Diagram

In the ER Diagram depicted in Figure 3.3, a delineation of distinct processes and


interactions is evident for the Admin and User entities. The administrative role is vested in
the Admin entity, empowering it to oversee and manage both users and products. On the
user front, the User entity holds the capability to initiate product orders, with these
transactions finding representation in the Order table. The dynamic interplay unfolds as the
Admin processes products based on user input, showcasing the system's responsiveness to
user preferences. This diagram serves as a visual roadmap, capturing the nuanced
relationships and processes between Admin and User entities within the database schema.
3.5 TECHNICAL REQUIREMENTS PERFORMANCE

Performance requirements define acceptable response times for system


functionality. The load time for user interface screens shall take just a few seconds.
Queries shall return the results very faster.

Security

Security is the most important thing on the network. The system verifies the
username and password and then allows the administrator to access the data if only the
username and password is correct; otherwise, it will display the error message. It provides
more security to the administrator for accessing the data.

Maintainability

This system is being developed using HTML that supports all types of data in a
different format, and which has a high community support. Therefore, it is easy to maintain
all data. Maintenance of the system is very flexible and cost effective.

Reliability

Reliability describes the ability of a system or component to function under stated


conditions for a specified period of time. Reliability is closely related to availability, which
is typically described as the ability of a component or system to function at a specified
moment or interval of time.

3.6 DATABASE DESIGN

Database design involves organizing data in accordance with a predefined database


model. The designer is responsible for determining the essential data to be stored and
establishing the interrelationships between data elements. Armed with this information, the
designer can adeptly align the data with the designated database model. The database
management system then takes charge of efficiently managing the data. The term "database
design" encompasses various aspects of an overall database system. Primarily and
accurately, it refers to the logical design of the foundational data structure employed for
data storage. In an object database, entities and relationships directly correspond to object
classes and named relationships. However, the term "database design" can also extend to
encapsulate the comprehensive process of designing not only the base data structure but
also the forms and queries integral to the overarching database application within the
database management system.

Data Integration

In a database, information from various files is harmonized, accessed, and


manipulated as if it were a unified entity. Logically centralized, the data may reside on
disparate devices interconnected through data communication facilities. Data integrity
entails consolidating all data in a singular location and specifying how each application
should access it. This methodology ensures more uniform information, with a single update
effectively altering the record status across all applications that utilize it. Consequently,
this leads to diminished data redundancy, eliminating the need for duplicating data items
and resulting in a reduction in the direct access storage requirements.

Data Independence

Data independence refers to the shielding of application programs from alterations


in the physical organization of data. This objective aims to permit changes in the content
and structure of physical data without necessitating the reprogramming of applications, and
it facilitates modifications to application programs without requiring awareness of the
underlying physical data. In the event of changes and expansions in the database over time,
it becomes crucial that modifications at one level do not adversely impact the data at other
levels of the database. The tables required for each module were meticulously designed,
and the specifications for each column were defined based on the records and details
collected during the system study's record specification phase, as illustrated below.

Data Security

In a database, information from several files is coordinated, accessed, and operated


upon as if it were in a single file. Logically, the information is centralized; physically, the
data may be located on different devices connected through data communication facilities.
Data integrity involves storing all data in one place only and determining how each
application has to access it. This approach ensures more consistent information, with a
single update being sufficient to achieve a new record status for all applications that use it.
This leads to less data redundancy, as data items need not be duplicated, resulting in a
reduction in the direct access storage requirement.
Data security refers to the process of protecting data from unauthorized access and
data corruption throughout its lifecycle. Data security includes practices such as data
encryption, hashing, tokenization, and key management that safeguard data across all
applications and platforms. Protecting digital data, such as that in a database, from
destructive forces and the unwanted actions of unauthorized users, like a cyberattack or a
data breach, is a key aspect of data security.

Security requirements impose restrictions on the use of this application by the


admin and customers of the Wireless LAN communicator only. It controls access to the
data, providing different requirements for different people and necessitating the use of
passwords. Organizations worldwide are heavily investing in information technology and
cybersecurity capabilities to protect their critical assets.

Whether an enterprise needs to safeguard its brand, intellectual capital, or customer


information, or to provide controls for critical infrastructure, the means for incident
detection and response and protecting organizational interests have three common
elements: people, process, and technology. Solutions that provide end-to-end encryption
for email and mobile messaging, keeping personally identifiable information and personal
health information secure and private, are integral.

They protect sensitive data captured at the browser from the point the customer
enters cardholder or personal data, keeping it protected throughout the ecosystem to the
trusted host destination. Solutions that provide an end-to-end data-centric approach to
enterprise data protection are essential.
3.7 TABLE STRUCTURE

TABLE NAME : User

Table 3.1 : User Details

SNO FIELD DATATYPE SIZE CONSTRAINT DESCRIPTION

1 userid Int Primary Key,Not Unique Number


Null Of User

2 name Varchar 50 Null Name Of User

3 username Varchar 15 Not Null Password Of


User

4 mobile Varchar 50 Null Mobile Number

5 email Varchar 50 Null Email Address

6 address Varchar Max Null Address Of The


User

7 postcode Varchar 50 Null Zip Code

8 imageurl Varchar Max Null Image Of The


User

9 createddate Datetime Null Date Of Creation

10 password Varchar 50 Null Password

TABLE NAME : Category

Table 3.2 : Category Details

SNO FIELD DATATYPE SIZE CONSTRAINT DESCRIPTION

1 Categoryid Int Primary_Key,Not Null Unique Number


Of Category
2 Name Varchar 50 Null Name Of The
Category
3 Imageurl Varchar Max Null Image Of
Product
4 Isactive Bit Null Isactive Or Not

5 Createddate Datetime Null Dateof Creation


TABLE NAME : Product

Table 3.2 : Product Details

SNO FIELD DATATYPE SIZE CONSTRAINT DESCRIPTION

1 Productid Int Primary Unique Number For The


Key,Not Null Product

2 Name Varchar 50 Not Null Name Of Product

3 Description Varchar Max Not Null Description Of The


Product

4 Price Decimal(18,2) Not Null Price Of The Product

5 Quantity Int Null Quantity Of The Product

6 Imageurl Varchar Max Null Image Of The Product

7 Categoryid Int Foreign Key Id Of The Category

8 Isactive Bit Null Isactive Or Not

9 Createddate Datetime Null Date Of Creation

TABLE NAME : Payment

Table 3.2 : Payment Details

SNO FIELD DATATYPE SIZE CONSTRAINT DESCRIPTION

1 Paymentid Int Primary_Key,Not Unique Number Of


Null Payment
2 Name Varchar 50 Null Name Of Theproduct
3 Cardno Varchar 50 Null Card Number
4 Expirydate Varchar 50 Null Expiry Date
5 Cvvno Int Null 3 Digit Number
6 Address Varchar Max Null Address For Delivery
7 Paymentmode Varchar 50 Null Mode Of Payment
TABLE NAME : Order

Table 3.2 : Order Details

SNO FIELD DATATYPE SIZE CONSTRAINT DESCRIPTION

1 Orderdetailsid Int Primary_Key,Not Unique Number Of


Null Orderdetail
2 Orderno Varchar Max Null Order Number
3 Productsid Int Foreign Key, Null Id Of The Product
4 Quantity Int Null Quantity Of The
Product
5 Userid Int Foreign Key, Null Id Of The User
6 Status Varchar 50 Null Status Of Delivery
7 Orderdate Datetime Null Date Of Order
8 Paymentid Int Null Id Of The Payment

TABLE NAME: Cart

Table 3.2 : Cart Details

SNO FIELD DATATYPE CONSTRAINT DESCRIPTION

1 Cartid Int Primary_Key,Not Null Unique Number Of


Orderdetail
3 Productsid Int Foreign Key, Null Id Of The Product
4 Quantity Int Null Quantity Of The
Product
5 Userid Int Foreign Key, Null Id Of The User

TABLE NAME: Contact

Table 3.2 : Contact Details

SNO FIELD DATATYPE SIZE CONSTRAINT DESCRIPTION

1 Contactid Int Primary_Key, Unique Number


Not Null Of Contact
3 Subject Varchar 200 Null Subject
4 Message Varchar Max Null Content Of The
Messsage
5 Createddate Datetime Null Date Of Creation

You might also like