Uploaded by Mohammed Ahmed

webProjectAss 1st Draf

advertisement
Online Book Store
Contents
1. Introduction ............................................................................................................................................... 2
1.1.
Objectives ..................................................................................................................................... 2
1.2.
Scop............................................................................................................................................... 3
2. Requirement Specification ........................................................................................................................ 3
2.1. Functional requirements..................................................................................................................... 4
2.2. Non functional requirements .............................................................................................................. 5
3. Analysis result....................................................................................................................................... 5
3.1. Use Case Diagram.......................................................................................................................... 6
Actors .................................................................................................................................................... 6
3.2.
user stories ................................................................................................................................ 9
3. Design ..................................................................................................................................................... 10
3.1. Content modeling ............................................................................................................................. 10
3.2. Navigation Modeling ....................................................................................................................... 16
3.3.
Presentation Modeling ................................................................................................................ 17
3.4.
Conceptul archetecture................................................................................................................ 17
Data Modeling - Conceptual Data Model ........................................................................................... 18
Logical Data Model - .......................................................................................................................... 19
Physical Data Model - ......................................................................................................................... 21
Component Diagrams ......................................................................................................................... 23
Deployment Diagram .......................................................................................................................... 24
4.
Conclusion .......................................................................................................................................... 24
1. Introduction
In recent years, the market for online bookstores has
grown significantly, driven by the convenience of
shopping from home, the wide selection of books
available, and competitive pricing. However, to
succeed in this competitive market, online
bookstores need to offer more than just shopping.
They need to provide additional features and services
that can differentiate them from competitors and
provide a more engaging and personalized
experience for customers.
In this proposal, we will explore some of the possible
features and services that an online bookstore can
offer to customers, including book reviews, shopping
cart management, account management, wishlists,
recommendations, book clubs, author events, and
educational resources. By providing these additional
services, online bookstores can attract and retain
customers, increase sales, and build a loyal customer
base.
To develop the web application for the online
bookstore, we will use a modern technology stack
that includes a front-end framework such as React or
Angular, a back-end framework such as Node.js or Django, and a database such as
MongoDB or PostgreSQL. We will also use cloud hosting services such as AWS or Google
Cloud Platform to ensure scalability, reliability, and security. By leveraging these
technologies, we can build a robust and scalable web application that can handle a large
number of users and provide a seamless and responsive user experience.
1.1. Objectives
The proposed an online bookstore web application will focused on providing a high
quality, convenient, and personalized experience for customers, while also driving
business growth and profitability.
1) To provide a user-friendly and intuitive interface that allows customers to easily
browse and purchase books.
2) To offer a wide selection of books, including new releases, bestsellers, and hard-tofind titles.
3) To offer customer reviews and recommendations to help customers make informed
decisions about which books to purchase.
4) To offer convenient and flexible delivery options, including home delivery and in-store
pickup.
5) To provide excellent customer service, including responsive support and easy returns
and exchanges.
6) To provide competitive pricing and discounts to attract and retain customers.
7) To provide a secure and reliable platform for online transactions, including secure
payment processing and data encryption.
8) To leverage data analytics and customer insights to improve the customer experience
and drive business growth.
1.2. Scop
The scope of a web application for an online bookstore would include the following:
2.
3.
4.
5.
6.
7.
8.
9.
User registration and login: The web application should allow new customers
to register for an account and existing customers to log in using their account ID
and password.
Book catalog: The web application should provide a searchable catalog of books,
including information such as title, author, ISBN, category, and price.
Book details: The web application should allow customers to view detailed
information about each book, including a description, reviews, and
recommendations.
Shopping cart: The web application should allow customers to add books to a
shopping cart, view the contents of their cart, and proceed to checkout.
Checkout and payment: The web application should provide a secure and easyto-use checkout process, including payment processing and order confirmation.
Order tracking: The web application should allow customers to track the status
of their orders, including shipping and delivery information.
Customer service: The web application should provide easy access to customer
service, including support for returns and exchanges.
Analytics and insights: The web application should leverage data analytics and
customer insights to improve the customer experience and drive business growth.
2. Requirement Specification
Overall, an online bookstore can offer a wide range of features and services to customers
beyond just shopping. By providing additional value-added services, an online bookstore
can differentiate itself from competitors and provide a more engaging and personalized
experience for customers.
2.1. Functional requirements
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Registration: New customers must register to create an account with the bookstore.
The registration process should require the customer to provide their name, phone
number, email address, home address, and password. The system should assign a
unique account ID to each customer upon registration.
Login: Customers should be able to log in to their account using their account ID
and password.
Account management: Customers can manage their account information, including
updating their personal details, viewing their order history, and tracking the status
of their orders.
Book browsing: Customers should be able to browse the bookstore's inventory of
books. The system should display information about each book, including its ISBN,
authors' names, title, edition, publication year, category, publisher, quantity-instock, selling price, and abstract or book reviews.
Book reviews: Customers can read book reviews or abstracts of the book to help
them make informed purchasing decisions.
Search functionality: The system could include a search bar that allows customers
to search for books by title, author, category, or other criteria.
Recommendations: The system could provide book recommendations to customers
based on their browsing and purchase history.
Shopping cart: Customers should be able to add books to their shopping cart. Each
customer can have multiple shopping carts, but each shopping cart should belong
to only one customer. The system should record the cart ID, name, date created,
date last updated, and books contained in each shopping cart.
Order placement: Customers should be able to place orders for the books in their
shopping cart. For each order, the system should record the customer who placed
the order, the order status, total price, shipping address, payment method, billing
address, and ordered books.
Discounts and promotions: The system could offer discounts or promotions to
customers based on their purchase history or other criteria.
Payment processing: The system should accept credit card payments from
customers. It should record credit card information for each order.
Wishlists: Customers could create wishlists of books they are interested in
purchasing in the future.
Ratings and reviews: Customers could rate and review books they have purchased,
which could help other customers make informed decisions about which books to
buy.
Shipping options: The system could offer different shipping options to customers,
such as standard shipping, expedited shipping, or international shipping.
Returns and refunds: The system could provide a process for customers to return
or exchange books they are not satisfied with, and issue refunds if necessary.
Customer support: The system could provide customer support through a chatbot,
email, or phone, to help customers with any issues they may encounter while using
the online bookstore.
Book clubs: Customers can join book clubs or discussion groups to connect with
18.
19.
other readers and discuss books.
Author events: Customers can participate in author events, such as book signings
or online Q&A sessions.
Educational resources: Customers can access educational resources, such as book
summaries, study guides, or online courses.
2.2. Non functional requirements
1.
2.
3.
4.
5.
6.
Performance: The web application should be able to handle a large number of
concurrent users and transactions without significant slowdowns or crashes.
Response times for common actions such as browsing books, adding items to the
shopping cart, and placing orders should be fast and consistent.
Security: The web application should be secure and protect user data from
unauthorized access, modification, or theft. This includes using encryption for
sensitive data such as passwords and credit card information, implementing secure
authentication and authorization mechanisms, and following best practices for web
application security.
Usability: The web application should be easy to use and navigate, with clear and
intuitive interfaces for common actions such as browsing books, adding items to the
shopping cart, and placing orders. The application should also be accessible to users
with disabilities, following relevant accessibility guidelines and standards.
Reliability: The web application should be reliable and available at all times, with
minimal downtime or disruptions. This includes implementing backup and
recovery mechanisms in case of hardware or software failures, and monitoring the
application for errors or issues.
Compatibility: The web application should be compatible with a wide range of
devices, browsers, and operating systems, to ensure that users can access the
application from their preferred platform. This includes following relevant web
standards and guidelines, and testing the application on a variety of devices and
configurations.
Scalability: The web application should be able to scale up or down as needed to
handle changes in user traffic or transaction volume. This includes using scalable
infrastructure such as cloud computing services, and designing the application to
be modular and easily extensible.
3. Analysis result
New customers need to register first to get an account ID. The customer needs to provide
the following information to the store: customer name, phone number, email address,
home address info (street, city, state and zip code), and password. After registration, the
customer will be assigned a unique account ID and he/she can login using the account ID
and password. One customer can only register one account and each account must belong
to exact one customer.
The bookstore keeps a large amount of books. Each book is identified by its ISBN. For
each book, the bookstore also needs to record its authors’ names, title, edition, publication
year, category, publisher, quantity-in-stock, selling price and abstract of the book or book
reviews. Customers can read book reviews or abstract of the book.
One customer can place any number of orders. For each order, the bookstore needs to
record who places this order, when, the order status, total price, shipping address,
payment method, bill address, and ordered books. Note there is only one shipping address
and one billing address for each order though the shipping address may not be the same
as the billing address. Currently for payment method, it only accepts credit card, hence
the bookstore needs to record credit card information.
Customers can also manage their shopping carts. One customer can have any number of
shopping carts. However, each shopping cart has exactly one customer. The shopping cart
contains the following info: cart-ID, name, date-created, date-last-updated, books
contained in this shopping cart, etc.
The bookstore also has a number of employees which are identified by employee ID. The
bookstore also needs to record employee’s name, address, salary. Some employees are
ranked as manager.
To better serve customers, each order will be assigned to one employee who will monitor
and handle the order. If an order has a total amount of more than 10,000 Etb, a manager
should be assigned to handle it.
3.1. Use Case Diagram
Actors
1. Customer: A person who wants to purchase books from the online bookstore. They
can register for an account, log in, browse books, add books to their shopping cart,
place orders, read book reviews, rate and review books, and manage their account
settings.
2. Administrator: A person who has administrative privileges for the online
bookstore. They can manage employee information, generate reports, and perform
other administrative tasks as needed.
3. Employee: A person who works for the online bookstore. They can handle orders,
manage employee information, and generate reports. Some employees are ranked
as managers and are responsible for handling orders with a total amount of more
than $1,000.
3.2. user stories
1. Register as a new customer: A user wants to create an account with the online
bookstore. They provide their name, phone number, email address, home address,
and password. The system assigns a unique account ID to the user.
2. Log in to the system: A customer wants to log in to their account. They enter their
account ID and password. The system verifies the credentials and logs the
customer in.
3. Browse books: A customer wants to browse the bookstore's inventory of books.
They search for books by title, author, category, or other criteria. The system
displays a list of books that match the search criteria.
4. Add books to shopping cart: A customer wants to purchase books. They add books
to their shopping cart. The system records the cart ID, name, date created, date
last updated, and books contained in the shopping cart.
5. Place an order: A customer wants to place an order for the books in their shopping
cart. They provide their shipping address, payment method, billing address, and
credit card information. The system records the customer who placed the order,
the order status, total price, and ordered books.
6. Handle an order: An employee wants to handle an order. They are assigned an
order to monitor and handle. They update the order status as needed.
7. Read book reviews: A customer wants to read book reviews or abstracts of the
book. They search for a book and click on the book to view its details. The system
displays the book's abstract or reviews.
8. Rate and review a book: A customer wants to rate and review a book they have
purchased. They navigate to the book's details page and provide a rating and
review.
9. Contact customer support: A customer encounters an issue while using the online
bookstore. They contact customer support through a chatbot, email, or phone. The
system provides assistance to resolve the issue.
10. Update customer information: A customer wants to update their personal
information, such as their name, phone number, email address, or home address.
They navigate to their account settings and make the necessary changes. The
system updates the customer's information.
11. View order history: A customer wants to view their order history. They navigate to
their account settings and select the option to view their order history. The system
displays a list of their past orders.
12. Cancel an order: A customer wants to cancel an order they have placed. They
navigate to their order history and select the option to cancel the order. The system
updates the order status and issues a refund if necessary.
13. Manage shopping carts: A customer wants to manage their shopping carts. They
navigate to their account settings and select the option to manage their shopping
carts. The system displays a list of their shopping carts and allows them to add or
remove books as needed.
14. Manage employee information: An administrator wants to manage employee
information. They navigate to the employee management section of the system and
add, edit, or delete employee information as needed.
15. Generate reports: An administrator wants to generate reports on sales, inventory,
or other metrics. They navigate to the reporting section of the system and select
the desired report. The system generates the report and displays the results.
3. Design
3.1. Content modeling
1. User: This class represents the users of the web application. It may include
attributes such as name, email address, password, and account status.
2. Book: This class represents the books that are available for purchase on the web
application. It may include attributes such as title, author, ISBN, publisher,
publication year, category, price, and quantity in stock.
3. Order: This class represents the orders that customers place on the web
application. It may include attributes such as order ID, customer ID, order date,
order status, total price, shipping address, billing address, and payment method.
4. Shopping Cart: This class represents the shopping carts that customers use to store
books they want to purchase. It may include attributes such as cart ID, customer
ID, cart creation date, cart last updated date, and books contained in the cart.
5. Review: This class represents the reviews that customers can write for books on
the web application. It may include attributes such as review ID, book ID, customer
ID, review text, and review rating.
6. Employee: This class represents the employees who work for the web application.
It may include attributes such as employee ID, name, address, salary, and job title.
7. Manager: This class represents the managers who work for the web application. It
may include attributes such as manager ID, name, address, salary, and job title.
Figure 1: Statechart Diagram
Figure 2: Statechart Diagram
Figure 3: Statechart Diagram
Figure 4 Statechart Diagram
Figure 5 Statechart Diagram
Figure 6 Statechart Diagram
Figure 7 Statechart Diagram
3.2. Navigation Modeling
3.3. Presentation Modeling
3.4. Conceptul archetecture
The conceptual architecture section should include the following points:
1. System components: The conceptual architecture should describe the main
components of the system, such as the user interface, business logic, and data storage
layers. It should also describe how these components interact with each other to support
the key operations of the system.
2. System interfaces: The conceptual architecture should describe the interfaces between
the system components, such as the APIs or protocols used to communicate between the
user interface and business logic layers, or between the business logic and data storage
layers.
3. System deployment: The conceptual architecture should describe how the system will
be deployed and hosted, such as on-premises or in the cloud. It should also describe any
relevant infrastructure components, such as servers, databases, or load balancers.
4. System scalability: The conceptual architecture should describe how the system will be
designed to scale up or down as needed to handle changes in user traffic or transaction
volume. This may include using scalable infrastructure such as cloud computing services,
or designing the system to be modular and easily extensible.
5. System security: The conceptual architecture should describe how the system will be
secured and protected from unauthorized access or theft. This may include using
encryption for sensitive data such as passwords and credit card information,
implementing secure authentication and authorization mechanisms, and following best
practices for web application security.
6. System performance: The conceptual architecture should describe how the system will
be designed to meet performance requirements, such as response times for common
actions such as browsing books, adding items to the shopping cart, and placing orders.
This may include using caching mechanisms, optimizing database queries, or using load
balancing and clustering techniques.
Overall, the conceptual architecture section should provide a high-level overview of the
system architecture and design, and should serve as a basis for the detailed design and
implementation of the system.
Data Modeling - Conceptual Data Model
Logical Data Model -
Physical Data Model -
Component Diagrams
Deployment Diagram
4. Conclusion
An online bookstore can be a viable business opportunity due to several factors. These
factors include the growing market for online bookstores, the convenience of shopping
from home, the wide selection of books available, competitive pricing, and the ability to
personalize the shopping experience for customers. In addition to shopping, an online
bookstore can offer a range of features and services to customers, such as book reviews,
shopping cart management, account management, wishlists, recommendations, book
clubs, author events, and educational resources. By providing these additional services,
an online bookstore can differentiate itself from competitors and provide a more engaging
and personalized experience for customers. Overall, an online bookstore can be a
profitable and rewarding business opportunity for entrepreneurs who are passionate
about books and technology.
Download