Final Documentation of the project
Final Documentation of the project
Book Store
By
Kartik Patil
Amey Bhutkar
MCA – I, SEM – I
2023-24
To
Savitribai Phule Pune University, Pune
CERTIFICATE
This is to certify that Mr. Kartik Patil , has successfully completed his/her
project work entitled “Book Store” in partial fulfillment of MCA – I Semester-I program
for the year A.Y. 2023-24. He / She have worked under our guidance and direction.
Examiner 1 Examiner 2
Date:
Place:
Acknowledgment
We are the student of MCA first year. Here by we express our thanks to our project guide for
allowing us to do the project on Book Store. This project work has been the most exciting part
of our learning experience which would be an asset for our future carrier. We would especially
like to thank our guide and mentor Dr. Anagha Dudgikar, who constantly guided us in
developing, pushing us to search for more answers to her numerous questions. Also, I would like
to thank our project coordinators Dr. Rupali Dahake & Prof. Apurva Patil, for their support. As
a building block of MCA Department, I thank Dr. Manisha Kumbhar, HOD, MCA Department
for her continuous support and help. We are grateful to many classmates who contributed their
suggestions. Their hard work and examples push us to limits of our capability and encourage us
daily.
Thank You
Kartik Patil
Index
1. Introduction
❖ The Book Store. This system plays a vital role in organization. This project is related to bookshop
which is sales the book to customer and purchase book from distributors.
❖ Book Store gives all the information about available stock of books and stationary items, purchase
orders and immediate availability of the required information will be provided by the computer,
which is the main aim of the system.
❖ Our project is prepared on the platform which is JAVA and back-end Microsoft Office Access. In
short, our “Book Store” will reduce large amount of manual work with minimum time loss which
will ultimate increase the profit share of the shop.
Security: The data of transaction or other materials are put into safety manner. Hence lick of private
or personnel data or material is cured from unknown persons.
As the existing system not depend on electricity so even if there is no electricity it doesn’t affect to
system.
• Speedy operations.
• Accuracy in calculation.
• Huge storage capacity.
• Expensive input validations.
• Various reports including standards, customized are available
1. Inventory Management:
• Stock Control: Helps in tracking the quantity of books in stock, preventing overstock or
stockouts.
1
• Real-time Updates: Provides real-time information on inventory levels, helping with timely
restocking and reducing the risk of lost sales.
3. Customer Management:
• Customer Database: Maintains a database of customer information, including purchase history
and contact details.
Hardware Requirements:
Processor: Intel Pentium Dual Core
RAM: 512 MB
Software Requirements:
Technology : JAVA
2
CHAPTER 2: PROPOSED SYSTEM
The following documentation is a project the “Book Store”. It is a detailed summary of all the
drawbacks of the old system and how the new proposed system overcomes these shortcoming. The
new system takes into account the various factors while designing a new system. It keeps into the
account the economical bandwidth available for the new system. The foremost thing that is taken
care of is the need and requirement of the user.
• Book Management:
Add, edit, and delete book details (title, author, genre, price, quantity in stock, etc.).
Search for books based on various criteria (title, author, genre, etc.).
• View a list of all available books with relevant details. Inventory Management:
Track the stock of each book (quantity available, sold, etc.).
Automatically update the stock as books are sold.
• Order Management:
Allow customers to place orders for books.
Process orders, update inventory, and generate invoices.
3
• Sales Management:
Record and track sales transactions.
Generate sales reports (daily, monthly, yearly) for analysis.
• Customer Management:
Maintain customer details (name, contact information, purchase history, etc.).
Add new customers and update existing customer information.
• Reporting:
Generate reports on sales, inventory status, popular books, etc.
Allow customization of report parameters and export options (PDF, Excel, etc.).
• Data Persistence:
Store data in a database (e.g., Microsoft Access) for persistent storage.
Ensure data integrity and security.
• Integration:
Integrate with payment gateways for online transactions (optional).
Integration with external APIs for book recommendations or other functionalities
(optional).
• Security:
Implement security measures to protect sensitive information and prevent unauthorized
access.
By defining a clear and detailed scope, you provide a roadmap for the development of the
bookstore management system, ensuring that all necessary functionalities are included and
expectations are set for the project.
4
2.3 Objectives of System
➢ To keeps database of book details Price, Book details, Sales & Distributor details.
5
CHAPTER 3: ANALYSIS & DESIGN
A use case diagram is used to represent the dynamic behavior of a system. It encapsulates the
system's functionality by incorporating use cases, actors, and their relationships. It models the
tasks, services, and functions required by a system/subsystem of an application. It depicts the high-
level functionality of a system and also tells how the user handles a system.
A use case diagram is a visual representation of the functional requirements of a system from the
perspective of its users. It illustrates how users interact with a system and the various ways the
system responds to those interactions. The primary components of a use case diagram include
actors, use cases, and the relationships between them.
6
Let's consider an example of a simple library management system to create a use case diagram:
1.Actors:
• Librarian
• Member
• Guest
2.Use Cases:
• Borrow Book:
• Actors: Librarian, Member
• Description: The member can borrow a book from the library. The librarian assists in
the borrowing process.
• Return Book:
• Actors: Librarian, Member
• Description: The member can return a borrowed book to the library. The librarian
updates the system accordingly.
• Search CatLog:
• Actors: Librarian, Member, Guest
• Description: Users can search for books in the library catalogue. The librarian can also
use this to manage the inventory.
• Register Member:
• Actors: Librarian
• Description: The librarian can register a new member in the system.
3.Relationships:
• Association:
• Connects an actor with a use case to show that the actor is involved in the use case.
7
• Include Relationship:
• Indicates that a use case includes the behaviour of another use case. For example, the
"Borrow Book" use case might include the "Check Library Hours" use case to ensure
the library is open.
• Extend Relationship:
• Indicates that a use case can be extended with additional behaviour. For example, the
"Borrow Book" use case might be extended by a "Late Fee" use case if the book is not
returned on time.
4.System Boundary:
• Draw a boundary around the use case diagram to represent the system itself.
This diagram provides a high-level view of the interactions between users and the system, helping
stakeholders understand the functionality of the library management system.
In UML, use-case diagrams model the behaviour r of a system and help to capture the
requirements of the system.
Use-case diagrams describe the high-level functions and scope of a system. These diagrams also
identify the interactions between the system and its actors. The use cases and actors in use-case
diagrams describe what the system does and how the actors use it, but not how the system operates
internally.
Use-case diagrams illustrate and define the context and requirements of either an entire system or
the important parts of the system. You can model a complex system with a single use-case diagram,
or create many use-case diagrams to model the components of the system. You would typically
develop use-case diagrams in the early phases of a project and refer to them throughout the
development process.
8
3.2 Activity Diagram
An activity diagram is a UML (Unified Modeling Language) diagram that illustrates the workflow
of a system or a process, showing the sequence of activities and actions. It is particularly useful
for modeling business processes, workflows, and the dynamic aspects of a system. Here's an
example of an activity diagram for a simple online shopping process:
1.Start and End Nodes:
• The activity diagram begins with a rounded rectangle, representing the start point of the
process.
• The process concludes with another rounded rectangle, symbolizing the end of the process.
9
2.Activities:
• Activities are represented by rectangles and describe specific actions or operations in the
process. Each activity represents a unit of work.
• Example activities: "Browse Products," "Add to Cart," "Proceed to Checkout," "Enter
Shipping Information," etc.
3.Decision Nodes:
• Diamond-shaped nodes represent decision points in the process. Based on a condition or
a decision, the flow of the process may take different paths.
• Example decision: "Is the item in stock?"
5.Merge Nodes:
• Merge nodes (represented by a diamond with multiple arrows entering it) indicate points
in the process where parallel flows converge into a single flow.
6.Fork Nodes:
• Fork nodes (also represented by a diamond) indicate points where a single flow splits into
multiple parallel flows.
Activity Diagrams describe how activities are coordinated to provide a service which can be at
different levels of abstraction. Typically, an event needs to be achieved by some operations,
particularly where the operation is intended to achieve a number of different things that require
coordination, or how the events in a single use case relate to one another, in particular, use cases
where activities may overlap and require coordination.
We use Activity Diagrams to illustrate the flow of control in a system and refer to the steps
involved in the execution of a use case. We model sequential and concurrent activities using
10
activity diagrams. So, we basically depict workflows visually using an activity diagram. An
activity diagram focuses on condition of flow and the sequence in which it happens. We describe
or depict what causes a particular event using an activity diagram. UML models basically three
types of diagrams, namely, structure diagrams, interaction diagrams, and behavior diagrams. An
activity diagram is a behavioral diagram i.e. it depicts the behavior of a system. An activity
diagram portrays the control flow from a start point to a finish point showing the various decision
paths that exist while the activity is being executed. We can depict both sequential processing and
concurrent processing of activities using an activity diagram. They are used in business and process
modelling where their primary use is to depict the dynamic aspects of a system. An activity
diagram is very similar to a flowchart.
11
3.3. Sequence Diagram
A sequence diagram is a type of interaction diagram that shows how processes or objects within a
system interact with one another over a specific period. It visualizes the flow of messages, events,
and actions between different components or objects in a system. Sequence diagrams are
particularly useful for understanding the dynamic behaviour of a system and for designing or
documenting complex systems.
Here are some key elements and notations used in a sequence diagram:
1.Lifeline: Represented by a vertical dashed line, a lifeline represents an individual participant
or entity in the sequence diagram. It typically corresponds to an object or a class.
2.Activation Bar: This is a horizontal bar that represents the time during which an object is
active or involved in the sequence. It is drawn on a lifeline.
12
3.Message Arrows: Arrows represent messages exchanged between lifelines. Messages can be
synchronous (denoted by a solid line with a filled arrowhead) or asynchronous (denoted by a
dashed line with an open arrowhead).
4.Return Message: In response to a message, an object may send a return message, indicating
the flow of control back to the sender.
5.Self-Message: A message that is sent from an object to itself is represented by a loop arrow.
6.Activation Boxes: These are optional and represent the time during which an object is
actively processing a message.
Unified Modelling Language (UML) is a modeling language in the field of software engineering
which aims to set standard ways to visualize the design of a system. UML guides the creation of
multiple types of diagrams such as interaction , structure and behavior diagrams. A sequence
diagram is the most commonly used interaction diagram. Interaction diagram – An interaction
diagram is used to show the interactive behavior of a system. Since visualizing the interactions
in a system can be a cumbersome task, we use different types of interaction diagrams to capture
various features and aspects of interaction in a system. Sequence Diagrams – A sequence diagram
simply depicts interaction between objects in a sequential order i.e. the order in which these
interactions take place. We can also use the terms event diagrams or event scenarios to refer to a
sequence diagram. Sequence diagrams describe how and in what order the objects in a system
function. These diagrams are widely used by businessmen and software developers to document
and understand requirements for new and existing systems.
The sequence diagram represents the flow of messages in the system and is also termed as an event
diagram. It helps in envisioning several dynamic scenarios. It portrays the communication between
any two lifelines as a time-ordered sequence of events, such that these lifelines took part at the run
time. In UML, the lifeline is represented by a vertical bar, whereas the message flow is represented
by a vertical dotted line that extends across the bottom of the page. It incorporates the iterations as
well as branching.
13
A sequence diagram is a form of interaction diagram which shows objects as lifelines running
down the page, with their interactions over time represented as messages drawn as arrows from
the source lifeline to the target lifeline. Sequence diagrams are good at showing which objects
communicate with which other objects; and what messages trigger those communications.
Sequence diagrams are not intended for showing complex procedural logic.
14
3.4 Class Diagram
A class diagram is a type of static structure diagram that represents the structure of a system in
terms of classes, their attributes, operations, and the relationships between them. It is a key
component of UML (Unified Modelling Language) and is commonly used in software
development for visualizing and designing the structure of a system.
Here are some key elements and notations used in a class diagram:
1.Class:
• A class is represented by a rectangle.
• The name of the class is usually written in bold and centred at the top of the rectangle.
15
2.Attributes:
• Attributes are the data members of a class and are listed below the class name.
• Each attribute typically includes the name of the attribute and its data type.
3.Operations/Methods:
• Operations or methods represent the behaviour of the class and are listed below the
attributes.
• Each operation includes the name of the method, its parameters, and the return type.
4.Visibility:
• The visibility of attributes and operations can be denoted by symbols like '+' for public, '-'
for private, and '#' for protected.
5.Associations:
• Associations represent relationships between classes.
• Lines connect classes, and labels on the lines indicate the nature of the relationship.
• Multiplicity notations (such as 0..1, 1, *, etc.) show how many instances of one class are
related to another.
6.Inheritance/Generalization:
• Inheritance relationships are represented by a solid line with a triangular arrowhead
pointing to the superclass.
• The superclass is usually placed above the subclass.
16
Class diagram is a static diagram. It represents the static view of an application. Class diagram is
not only used for visualizing, describing, and documenting different aspects of a system but also
for constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints imposed
on the system. The class diagrams are widely used in the modelling of object oriented systems
because they are the only UML diagrams, which can be mapped directly with object-oriented
languages.
Class diagram shows a collection of classes, interfaces, associations, collaborations, and
constraints. It is also known as a structural diagram.
The class diagram depicts a static view of an application. It represents the types of objects residing
in the system and the relationships between them. A class consists of its objects, and also it may
inherit from other classes. A class diagram is used to visualize, describe, document various
different aspects of the system, and also construct executable software code.
It shows the attributes, classes, functions, and relationships to give an overview of the software
system. It constitutes class names, attributes, and functions in a separate compartment that helps
in software development. Since it is a collection of classes, interfaces, associations, collaborations,
and constraints, it is termed as a structural diagram.
17
3.5 Module Hierarchy Diagram
18
3.Arrows/Edges:
• Arrows connecting modules indicate the direction of dependency or communication
between them.
• For example, an arrow from module A to module B may represent that module A depends
on module B.
5.Grouping:
• Modules can be grouped together to represent larger units or subsystems.
• This helps in organizing the diagram and conveying a higher level of abstraction.
6.Interfaces:
• If applicable, you may include information about the interfaces exposed by each module.
• This helps in understanding how different modules interact with each other.
19
3.6. Table Specification (Database design)
20
3.5 ERD
2.Attribute:
• Describes a property or characteristic of an entity.
• Shown as an oval connected to the corresponding entity.
21
3.Relationship:
• Describes how two or more entities are related to each other.
• Represented by a diamond shape, and lines connect it to the related entities.
4.Cardinality:
• Indicates the number of instances of one entity that can be related to the number of
instances of another entity.
• Notation often includes symbols like "1" and "M" (many) to represent one-to-one, one-to-
many, or many-to-many relationships.
5.Primary Key:
• Unique identifier for an entity.
• Typically denoted by underlining the attribute(s) that form the primary key.
6.Foreign Key:
• Attribute(s) in one entity that refers to the primary key of another entity, establishing a link
between them.
An entity relationship diagram (ERD) is a visual form of relational databases. ERDs can be used
to design a new database, or to visualize and understand an existing one. They're also often referred
to as entity relationship models, or entity relationship graphs.
Understanding ERD's begin with understanding what an entity is, and what an entity set is. An
entity in this context is an object, a component of data. An entity set is a collection of similar
entities. An ERD demonstrates the relationships of entity sets stored in a database. These entities
can have attributes that define its properties. By defining the entities, their attributes, and showing
the relationships between them, an ERD illustrates the logical structure of databases.
There are three main components in ERDs: entities, attributes, and relationships.
Entities correspond to tables in relational databases (rows). Attributes are the properties you want
to capture about that entity (columns). And finally, relationships are how the entities interact.
22
An entity–relationship model (or ER model) describes interrelated things of interest in a specific
domain of knowledge. A basic ER model is composed of entity types (which classify the things of
interest) and specifies relationships that can exist between entities (instances of those entity types).
In software engineering, an ER model is commonly formed to represent things a business needs to
remember in order to perform business processes. Consequently, the ER model becomes an
abstract data model,[1] that defines a data or information structure which can be implemented in a
database, typically a relational database.
Entity–relationship modelling was developed for database and design by Peter Chen and published
in a 1976 paper, with variants of the idea existing previously, but today it is commonly used for
teaching students the basics of data base structure. Some ER models show super and subtype
entities connected by generalization-specialization relationships, and an ER model can be used
also in the specification of domain-specific ontologies.
23
3.6 DFD
A Data Flow Diagram (DFD) is a graphical representation of the flow of data within a system. It
is a powerful tool for visualizing how data moves through a process or a system and how it is input,
processed, stored, and output. DFDs use various symbols to represent processes, data stores, data
flow, and external entities. Here are the key components and symbols typically used in a DFD:
1.Process:
• Represents a function or activity that transforms data.
• Shown as a rectangle.
2.Data Flow:
• Represents the flow of data between processes, data stores, and external entities.
• Shown as arrows.
24
3.Data Store:
• Represents where data is stored.
• Shown as a rectangle with a rounded top.
4.External Entity:
• Represents external sources or destinations of data.
• Shown as squares.
DFD is the abbreviation for Data Flow Diagram. The flow of data of a system or a process is
represented by DFD. It also gives insight into the inputs and outputs of each entity and the process
itself. DFD does not have control flow and no loops or decision rules are present. Specific
operations depending on the type of data can be explained by a flowchart. It is a graphical tool,
useful for communicating with users, managers and other personnel. it is useful for analyzing
existing as well as proposed system.
Data Flow Diagram can be represented in several ways. The DFD belongs to structured-analysis
modeling tools. Data Flow diagrams are very popular because they help us to visualize the major
steps and data involved in software-system processes. A Data Flow Diagram (DFD) is a traditional
visual representation of the information flows within a system. A neat and clear DFD can depict the right
amount of the system requirement graphically. It can be manual, automated, or a combination of both.
It shows how data enters and leaves the system, what changes the information, and where data is
stored.
The objective of a DFD is to show the scope and boundaries of a system as a whole. It may be
used as a communication tool between a system analyst and any person who plays a part in the
order that acts as a starting point for redesigning a system. The DFD is also called as a data flow
graph or bubble chart.
25
A data flow diagram (DFD) is the flow of a system or a procedure in terms of inputs and outputs.
It also represents the requirement of the system and shows how the current system is implemented.
Many system analysts use it to communicate with a user.
26
3.7 Data dictionary
27
Table Name: Sale Bill
28
CHAPTER 4: USER MANUAL
29
30
31
32
33
4.2 Output Screens with data
Login Page: -
The login page is the authorized page which is used by the admin himself for authorize login. This
page prevents the system from unauthorized user access by which we can maintain the privacy of
our system.
Menu Bar: -
The Menu bar provides the facility to add functionality in the system. By this functionality user of
the system can get clear idea, how to issue or buy the books, & follow the system.
34
Notebook Details: -
The notebook detail screen provides the facility to the admin to add the details about the Notebooks
as well as the other material available in the stock and update the stock. With this feature the user
or customer can easily shop or buy the material by viewing the above screen.
35
Book Details: -
The Book detail screen provides the facility to the admin to add the details about the books as well
as the other material available in the stock and update the stock. With this feature the user or
customer can easily shop or buy the material by viewing the above screen.
36
4.3 Data Reports
1.Introduction:
• Provide an overview of the Book Store System project.
• Briefly describe the purpose and objectives of the data analysis.
3. Data Sources:
• Identify the sources of the data, such as the Book Store System database, user inputs, or
external data feeds.
• Clarify the types of data gathered, including book details, customer information, and
transaction records.
4.Data Representation:
• Present examples of how the collected data is represented, considering formats like tables,
graphs, or charts.
• Explain the choice of visualization methods to effectively convey information.
6.Results:
• Provide the key findings and outcomes of the data analysis.
• Use visuals like bar charts, pie charts, or line graphs to illustrate significant trends or
correlations.
37
7.Challenges and Limitations:
• Address any challenges encountered during data collection or analysis.
• Acknowledge limitations in the dataset or methodologies used, and discuss their potential
impact on the results.
9. Conclusion:
• Summarize the key points discussed in the data report.
• Emphasize the relevance of the data analysis to the overall success and efficiency of the Book
Store System.
10.References:
• Include any references to tools, frameworks, or literature used in the data analysis process.
Ensure clarity, coherence, and relevance in each section to effectively communicate the value of
your data analysis within the Book Store System project.
Functional Testing:
User Registration and Login:
Test Procedure: Verify that users can register with valid information and log in successfully.
Test Cases:
• Verify that all mandatory fields are present during registration.
• Verify that users receive a confirmation email after registration.
• Verify that users can log in with valid credentials.
• Verify that users cannot log in with invalid credentials.
38
Browse and Search Books:
Test Procedure: Check the functionality of browsing and searching for books.
Test Cases:
• Verify that users can browse books by categories.
• Verify that users can search for books using keywords.
• Verify that search results are accurate and relevant.
• Verify that users can filter search results.
39
4.5 Sample program code
40
41
42
4.6 Limitations and Bibliography
• Limitations
Every system has limitations. In the developed system there are some limitations.
1)The coding system is developed assuming the lengths of codes created is insufficient.
2) The data across the field size is supplied it would not supports the database.
3)The min. mentioned software and requirements are must else the system will not work.
• Bibliography
1. https://www.w3schools.com/
2. https://www.geeksforgeeks.org/types-references-java/
3. https://www.scribd.com/doc/124378514/Book-Shop-ManagementSystemDocumentation
4. https://www.academia.edu/41982986/Java_The_Complete_Reference_11th_edition
43