Minor Project On Online Bookstore
Minor Project On Online Bookstore
Minor Project On Online Bookstore
Minor Project On
ONLINE BOOKSTORE
Batch 2020-23
(Affiliated to Guru Gobind Singh Indraprastha University, Delhi) Ranked "A+" Institution by
SFRC, Govt. of NCT of India Recognized under section 2(f) of the UGC Act, 1956 NAAC
Accredited "B++" Grade Institution
CONTENTS
2 Acknowledgements
3 List of Figures
4 List of Abbreviations
13 Chapter-9: Conclusion 99
14 References 100
LIST OF FIGURES
1 E-R Diagram 11
I Avinash Singh Mankotia, Enrolment No. 01120602020 from BCA Sem-5th (1st shift) of the
Trinity Institute of Professional Studies, Delhi hereby declare that the Minor Project Report
entitled Online Bookstore Based on idea of presence of online store.
Submitted at Trinity Institute of Professional Studies is an original work and the same has not
been submitted to any other Institute for the award of any other degree.
Certified that the Project Report submitted in partial fulfillment of Bachelor of Computer
Applications (BCA) to be awarded by G.G.S.I.P. University, Delhi by Avinash Singh Mankotia
Enrolment No. 01120602020 has been completed under my guidance and is Satisfactory
Date: Signature of
Guide:
Name of Guide:
Ms. Neha
Designation: Assistant
Professor
Acknowledgment
We express our deep sense of guidance and indebtedness to MrsUpasana for her valuable
guidance, consistent encouragements, untiring and continuous supervision and support at every
stage of project.
We are thankful to the Lab Technicians and instructor for their help, co-operation and for
extending all possible facilities within their means to successfully complete this project.
At last but not the least we express our thanks to all those who directly or indirectly helped us
and encouraged us in carrying out this work.
INTRODUCTION
This Online BookStore follows the concept of e-commerce (online shopping) in depth.
Ecommerce it is also known as electronic commerce or internet commerce, refers to the buying
and selling of goods or services using the internet, and the transfer of money and data to execute
these transactions. Ecommerce is often used to refer to the sale of physical products online, but it
can also describe any kind of commercial transaction that is facilitated through the internet.
Online shopping is a form of electronic commerce which allows consumers to directly buy goods
or services from a seller over the Internet using a web browser or a mobile app. Consumers find
a product of interest by visiting the website of the retailer directly or by searching among
alternative vendors using a shopping search engine, which displays the same product's
availability and pricing at different e-retailers. As of 2020, customers can shop online using a
range of different computers and devices, including desktop computers, laptops, tablet computers
and smartphones. An online shop evokes the physical analogy of buying products or services at a
regular "bricks- and-mortar" retailer or shopping center the process is called business-to-
consumer online shopping. When an online store is set up to enable businesses to buy from
another businesses, the process is called business-to-business online shopping. Just Like that
Online bookstore is designed to sell products online from various categories of book collections.
This project definitely helps the user to buy something from the internet because in the book
store the user able to buy anything by selecting the book details and, By using this output design,
the user can save their time by buying the product that is wasting Time while roaming the
market. From here they can probably get all the things they want as well as they have several
options in the Single Collection.
This site is developed with the purpose of enabling vendor to setup online store, customers to
browse through the books, and a system administrator to approve and reject requests for new
books and maintain lists of book categories. Bringing a local retail bookstore.
Objective
The main objective of Project on Online Bookstore is to provide an essence of Online Bookstore.
Manage the details of books, customers, order, payment. It manages all the information about
Books, Payment, Up-to-date Descriptions. The Project is 5
totally built at administrator end and thus administrator is guaranteed the access. The purpose of
the project is to build an application to reduce the manual work for the managing the Books, Bill,
Customers. It tracks all the details about the Customers, Order etc.
Starting the project, we should fully know about the meaning of project. There are seven letters
in the word "PROJECT". Each character has its own technical meaning. P-planning: this deals
with the idea at thinking and which are required for project.
R- Resource: the money problem will be solved and resources from which collected.
0 - Operating: the procedure from which getting job is prepared in a systematic way is known as
operation.
J - Joint effort: this is directly proper to a operation output is a made of several person working
sincerely is known as JOIN EFFORT.
E - Engineering: A well-educated engineer can do this work in a better way to find out better
result. Hence the project is as engineer function.
C - Cooperation: To make the project successfully, it is necessary for its success and completion
of project.
T-a Technique: It must as it gives a better shape. It is not possible to complete the project
without technique.
The project is a system that gives the systematic way of planning and working.
It representing the temporary task, in a scientific manner carried out of engineers to achieve a
goal. The basic concept of the application is to allow the customer to shop virtually using the
Internet and allow customers to buy the clothes. The Server process the customers and the items
are shipped to the address submitted by them. The details of the items are brought forward from
the database for the customer view based on the selection through the menu and the database of
all the products are updated at the end of each transaction.
A responsive website has an adaptive design, such that it is able to respond according to the
device or technology used by visitors. The basic idea behind designing a responsive website is to
create a website that looks good on all screen sizes.
• The layout of a responsive website changes as the user device's screen size changes.
• The functionality of a responsive website is dependent on the user device.
• A responsive website has a lot of dynamic content that changes from device to device.
• A responsive website improves the usability of a website by simply shrinking it.
Problem Statement
• One of the most common problems today small scale business face is there presence and its
name in the market. In The pandemic most of small scale business went downhill because of lack
of customers
As everybody was stuck in there home or they were Doing online shopping. Is to find a specific
deal which offers the best of service according to our needs.
Solution:
Online Bookstore as the name suggested is a website through which we provide an local
bookstore an online presence to their business in online(global) scale everyone who wants to
Discover the joy of buying is provided the service as same as a local bookstore.
Users find the best service available, saving time, resources and effort. The website fills up
efficiently and time can be utilized properly by commercial and corporate entities.
CHAPTER-2
Pre-conditions defined clearly: one of the most important part of test cases is pre-
conditions. If they are not met properly then actual result will always be different
expected result. Verify that in SRS, all the pre-conditions are mentioned clearly.
Requirements ID: These are the base of test case template. Based on requirement Ids,
test case ids are written. Also, requirements ids make it easy to categorize modules so just
by looking at them, tester will know which module to refer. SRS must have them such as
id defines a particular module.
Security and Performance criteria: security is priority when a software is tested
especially when it is built in such a way that it contains some crucial information when
leaked can cause harm to business. Tester should check that all the security related
requirements are properly defined and are clear to him. Also, when we talk about
performance of a software, it plays a very important role in business so all the
requirements related to performance must be clear to the tester and he must also know
when and how much stress or load testing should be done to test the performance.
Assumption should be avoided: sometimes when requirement is not cleared to tester, he
tends to make some assumptions related to it, which is not a right way to do testing as
assumptions could go wrong and hence, test results may vary. It is better to avoid
assumptions and ask clients about all the "missing requirements" to have a better
understanding of expected results.
Deletion of irrelevant requirements: there are more than one team who work on SRS so
it might be possible that some irrelevant requirements are included in SRS. Based on the
understanding of the software, tester can find out which are these requirements and
remove them to avoid confusions and reduce work load.
Freeze requirements: when an ambiguous or incomplete requirement issent to client to
analyse and tester gets a reply, that requirement result will be
updated in the next SRS version and client will freeze that requirement. Freezing here means that
result will not change again until and unless some major addition or modification is introduced in
the software.
Most of the defects which we find during testing are because of either incomplete requirements
or ambiguity in SRS. To avoid such defects it is very important to test software requirements
specification before writing the test cases. Keep the latest version of SRS with you for reference
and keep yourself updated with the latest change made to the SRS. Best practice is to go through
the document very carefully and note down all the confusions, assumptions and incomplete
requirements and then have a meeting with the client to get them clear before development phase
starts as it becomes costly to fix the bugs after the software is developed. After all the
requirements are cleared to a tester, it becomes easy for him to write effective test cases and
accurate expected results.
three steps: data input - system behavior - data output. It can calculate, manipulate data, carry out
business processes, establish user interaction, or do any other tasks
In other words, a functional requirement is WHAT an application must or must not do after some
data input.
Functional requirements are important as they show software developers how the system is
intended to behave. If the system doesn't meet functional requirements it means that it doesn't
work properly.
What Are Non-Functional Requirements?
Well-defined functional and non-functional requirements help software developers to build the
product that exactly corresponds to the client's needs. However, is it really necessary to know the
difference between functional and non-functional requirements?
The main reason to know the difference between functional and non-functional requirements is
that they define the scope of work for a project. Software developers need to keep up with this
scope to develop an application within its timeframe and budgetIf the scope of work constantly
changes, the development team has to extend the deadlines and the development costs increase.
This may lead to adverse consequences for a project.
The importance of distinguishing between the two types of requirements is paramount when
creating an MVP. A development team and a customer should discuss which features and
functionalities to implement in the app first. A customer may have his own vision of the project
and its requirements. If a customer decides that they want to remove or modify some feature, it's
essential to realize what type of requirement it is. Most of the time, software developers can
simply change the non-functional requirements while functional requirements will demand more
work and profound changes.
When a customer and a software development provider know the difference between functional
and non-functional requirements, it helps them to more
\
7.security - defines how secure the app should be, for example, FinTech and banking apps should
meet the international and regional security standards;
8. capacity - assesses the amount of data or services the app can handle.
Example
There is a wide range of other formats that can help make up the project requirements. Let's have
a look at the most effective ones.
User Stories
It is a common practice to formulate the requirements in a form of user stories. User stories are
the requirements conveyed by a user. They usually take the form of several simple sentences
which have the same pattern:As a (user), I want to (goal) so that (reason).
A user story example: As a project manager, I want to understand the software development
team's progress so that I can report on the outcomes to the CEO and project stakeholders.
Software developers usually compile requirements using user stories when they want to
communicate the ideas on product features and functionality to non- technical members.
Use Cases
Use cases have a broader scope than user stories. They include types of users and all the possible
actions a user can do in an app. Unlike user stories that describe the end purpose of a feature, use
cases involve the flow of steps which lead to the purpose.
For example, if you want to create an application for logistics and supply chain management, the
number of roles software developers should think about are: sellers, buyers, suppliers, managers,
dispatchers, and many others.
The actions for these roles can look like these:
both seller and buyer can view the product route in the app;
Software Requirements:
Front-End: PHP, HTML, JavaScript, Bootstrap, CSS.
Back-End: MySql
customer's lifetime value (revenue generated via a customer during a lifetime). But largely, it
depends on the industry.
Image: The Average CPA in AdWords across all industries through search & display
ad network
Here you can get a fairly good idea on how much money you need to spend to acquire a new
customer for a particular type of business. Of course, during the initial stage of your business, the
cost per acquisition will be way more than the corresponding average value due to extra
expenditure on business setup & branding. But it would fall around the average value as your
business grows withtime. Now, after consuming all these details, you need to determine - a) Are
you capable of spending the amount on acquiring each customer that the business in mind takes
on average? & b) Do you have viable plans to reduce that amount down the line? Only after
addressing these concerns can you say that the business idea you have in mind is the right choice.
10. Is It Strictly Legal?
your
Adoptability and scalability of your business model won't be of any use if it isn't legal. For
instance, buying/selling alcohol online is legal some US states, but restrictive in others.
Moreover, in India, it is simply not possible, given the current state of law.
Surprisingly, legality is a factor that is overlooked quite often when selecting a business model.
It's a huge mistake, which can swipe-off all your efforts and investment in an instance, or at least
become a long-term pain in the neck, like in the case of Uber.
Uber's business model doesn't meet the criteria for a legal business in many countries since it
doesn't have its own fleet; neither has it kept drivers on company payroll. As a result, the
company is currently facing numerous lawsuits. Lyft, another American transportation network
company, is amidst similar lawsuits. In most cases, you should be able to identify an illegitimate
business model on your own. In case of doubt, it is better to have a legal audit of the business
idea to stay on the safe side.
Type of Feasibility study
Technical Feasibility:
Technical feasibility assesses the current resources (such as hardware and software) and
technology, which are required to accomplish user requirements in the software within the
allocated time and budget. For this, the software development team ascertains whether the
current resources and technology can be upgraded or added in the software to accomplish
specified user requirements.
The key customer/user benefits kept in mind while envisaging this architecture were:
Increased Safety while traveling.
Real-Time trendiest travel.
Enhanced Travel Experienced.
Provide Customer Support.
Increase Services.
Economical Feasibility:
Economic feasibility determines whether the required software is capable of generating financial
gains for an organization. It involves the cost incurred on the software development team,
estimated cost of hardware and software, cost of performing feasibility study, and so on. For this,
it is essential to consider expenses purchases (such as hardware purchase) and activities required
to carry out software development. In addition, it is necessary to consider the benefits that can be
achieved by developing the software.
Cost Benefits Analysis was done in this stage. Following activities were performed during this
stage:-
•
Each phase of the project was analyzed for the cost involve in it.
This was calculated based upon resources and infrastructure used.
Benefits of each phase which were the end products were also analyzed and listed.
Both cost involved and benefits obtained were compared to the details to get the final result.
Operational Feasibility:
Operational feasibility assesses the extent to which the required software performs a series of
steps to solve business problems and user requirements. This feasibility is dependent on human
resources (software development team) and involves visualizing whether the software will
operate after it is developed and be operative once it is installed.
Our website is uniquely suited to help customers provide the highest level of
customer services.
Travel enables customers too quickly and easily provide service of:-
• Consulting
• Booking
WATERFALL MODEL was being chosen because all the requirements were known beforehand
and the objective of our website development is the computerization/automation of an already
existing manual working system.
The goal of this phase is to understand the exact requirement of the customer and to document
them properly. The requirements describe the "what" of the system, not the "how". This phase
produces a large document, written in a natural language, contains a description of what the
system will do without describing how it will be done. The resultant document is known as
Software Requirement Specification (SRS). The SRS document may act as a contract between
the developer
& customer.
Design Phase:
The goal of this phase is to transform the requirements specification into a structure that is
suitable for implementation in scripting language. Here, overall software architecture is defined,
and the high level and detailed design work is performed. This work is documented and known
as Software Design Description (SDD)
document.
Implementation & Unit Testing:
During this phase, design is implemented. If SDD is complete, the implementation or coding
phase proceeds smoothly.
During Testing, the major activities are centered on the examination and modification of the
code. Initially small modules are tested in isolation from the rest of the website product.
Integration& System Testing Phase:
This is a very important phase. Effective testing will contribute to the delivery of higher qualify
web products, more satisfied users, lower maintenance costs, more accurate and reliable results.
It is a very expensive activity and consumer one-third
to one-half of the cost of typical developments projects.
As we know, the purpose of unit testing is to determine that each independent
module is correctly implemented. This gives a little chance to determine that the interface
between modules is also correct, and for this reason integration testing of the entire system is
done whereas software is part of the system. This is essential to build confidence in the
developers before software is delivered to the customer or released in the market.
Operation & Maintenance Phase:
Website maintenance is a task that every development group has to face, when the software is
delivered to the customer's site, installed and is operational. Therefore, release of website
inaugurates the operation and maintenance phase of the life cycle. The time spent and effort
required to keep the website operational after is very significant. Despite the fact that it is very
important and challenging task; it is routinely the poorly managed headache that nobody wants to
face.
Website maintenance is a very board activity that includes error correction, enhancement of
capabilities and optimization. The purpose of this phase is to preserve the value of the Website
overtime. This phase of this phase is for 5-50 years whereas development may be 1-3 years.
Modules Used:
The modules that can be included in the Parking Selection synopsis are as follows:
> Administrator Module: The administrator can add, delete, modify andview the data related to
places, etc. Admin monitor maintains and improve the
content.
➤ Main Page: This Page is the front page for the website. It contains the option for existing user
and administrator to login. This page is the home page for every user. When an anonymous user
views this page, he is given menu options like Home, About (Timeline, Developer, Contact us),
Booking, Features (Reviews, Location, Price Plan).
> Feedback/Review Module: The Feedback/Review module allows you to conduct surveys to
collect feedback. Unlike the Survey tool it allows you to write your own questions, rather than
choose from a list of pre-written questions and unlike the tool, you can create non-graded
questions. The Feedback activity is ideal for the likes of course or teacher evaluations.
➤ Contact Us Module: The Contact module allows site visitors to send emails to other
authenticated users and to the site administrator. The Contact Us module helps one to implement
a contact us page in a website. It allows one to make a contact us request which is send to the
appropriate person. One can also view all the contact request made on a website.
- Price Plan Module: The Price Plan module allows site visitors to check the
reasonable prices packages offered by the website. This Page gives you the information about
our travelling packs.
Inquiry form Module: The module allows site visitors to make an inquiry related to website,
destination etc. It provides a platform where the visitor can ask the queries and get the answers
from the team.
About Page: This Page allows a visitor to know about our company, what our website do, great
deals and package of the desired vacation destination and further information.
> Review Page: This Page provide the review form where customer can share their reviews,
thoughts and suggestions and experience with us through a feedback form
➤ Services page: It contains a description about our all provided services so that the customer
can avail these services and enjoy their vacation with any worries.
Advantage and Disadvantage of waterfall model:
Advantages of the Waterfall model
Waterfall relies on teams following a sequence of steps and never moving forward until the
previous phase has been completed. This structure is suited to smaller projects with deliverables
that are easy to define from the start. Ben Aston from The Digital Project Manager explains,
"Waterfall is generally regarded with some disdain as an inefficient and passé traditional project
management approach. But Waterfall can be a useful and predictable approach if requirements
are fixed, well documented, and clear, if the technology is understood and mature, if the project
is short, and if there's no additional value gained from 'going agile.' A Waterfall approach can
actually provide more predictable end result for budget, timeline, and scope."
Here's an in-depth look at what the Waterfall methodology does best.
1. Uses clear structure
When compared with other methodologies, Waterfall focuses most on a clear, defined set of
steps. Its structure is simple each project goes through these steps: Requirement gathering and
documentation
• System design
• Implementation
• Testing
Delivery/deployment
Maintenance
Teams must complete an entire step before moving onto the next one, so if there are roadblocks
to completion, they're brought to light right away. Half-finished projects are less likely to get
pushed aside, leaving teams with a more complete, polished project in the end.
In addition to being clear, the progression of Waterfall is intuitive. Unlike Six Sigma or Scrum,
Waterfall does not require certifications or specific training for project managers or employees.
If you visually outline the process at the beginning using Lucidchart and explain the
methodology, team members will be able to jump into the system without a steep learning curve
slowing their progress.
Waterfall
2. Determines the end goal early
One of the defining steps of Waterfall is committing to an end product, goal, or deliverable at the
beginning, and teams should avoid deviating from that commitment. For small projects where
goals are clear, this step makes your team aware of the overall goal from the beginning, with less
potential for getting lost in the details as the project moves forward.
Unlike Scrum, which divides projects up into individual sprints, Waterfall keeps the focus on the
end goal at all times. If your team has a concrete goal with a clear end date, Waterfall will
eliminate the risk of getting bogged down as you work toward that goal.
3. Transfers information well
Waterfall's approach is highly methodical, so it should come as no surprise that the methodology
emphasizes a clean transfer of information at each step. When applied in a software setting,
every new step involves a new group of people, and though that might not be the case at your
company, you still should aim to document information throughout a project's lifecycle. Whether
you're passing projects off at each step or experience unexpected personnel changes, Waterfall
prioritizes accessible information so new additions to the team can get up to speed quickly if
needed.
You can maximize your benefits from this characteristic of Waterfall by staying organized with
the right process. Use Lucidchart (it's free to sign up!) to document processes so each team
member knows what has already been done on a project when it gets to them.
The disadvantages of the Waterfall model:
Waterfall is a respected methodology, but lately it's faced criticism for being an outdated model.
The methodology's limitations become more apparent depending on the size, type, and goals of
the project it's guiding. Rather than adapting your organization to Waterfall's guidelines later,
consider these limitations to assess whether Waterfall is truly a fit for your team.
1. Makes changes difficult
Waterfall is based entirely on following a set of steps that keep teams always moving forward.
The methodology, in its traditional form, leaves almost no room for unexpected changes or
revisions. If your team has loyally followed the steps of Waterfall nearly to the end of the project
but then faces an unplanned roadblock that necessitates a change in scope or goals, pivoting
won't be easy. You'll have put a considerable amount of work into a project under very specific,
rigid assumptions. A sudden change to the parameters of the project could render much of the
work you've carried out up to that point useless, which can throw off the entire timeline. If your
team's projects are unpredictable or involve frequent change, consider adapting Waterfall to
allow more room for reflection and revision as you go, rather than just at the end, to prevent
wasted time and energy. If you decide to go this route, tailor a Lucidchart template to your team's
version of Waterfall to keep everyone aware of how to use the adjusted process.
2. Excludes the client and/or end user
As an internal process, the Waterfall methodology focuses very little on the end user or client
involved with a project. Its main purpose has always been to help internal teams move more
efficiently through the phases of a project, which can work well for the software world.
However, if you work in an industry other than software, clients often want to be involved during
a project, adding opinions and clarifying what they want as the project moves forward.
If your projects have clear, unchanging goals from the beginning and you aren't responsible for
updating end users or clients through the development process, then Waterfall will probably
work well for your team. In other cases, consider an agile methodology to better anticipate
change and keep stakeholders informed through the life of the project. By involving
stakeholders, you lower the risk of late requests for change throwing off your project deadlines.
3. Delays testing until after completion
Saving the testing phase until the last half of a project is risky, but Waterfall insists that teams
wait until step four out of six to test their products. Outside of the software industry, the testing
phase could mean showing a new website design to a client, A/B testing content, or taking any
number of steps to gain empirical data on the viability of the project. At this point, the project
has likely taken considerable time to complete, so large revisions could cause significant delays.
The agile methodology was created in direct response to this principle of Waterfall. Critics of
Waterfall felt that there was too much room for problems to remain unnoticed until the project
neared completion, which left large, costly changes as the only solution. If you feel that frequent
testing would serve your team better, implement testing at the end of every project stage so that
you don't move forward until you know things are working. Or consider a different project
management methodology that encourages reflection and revision throughout the process.
CHAPTER-4
What is systems design?
What is system design
Systems design is simply the design of systems. It implies a systematic and rigorous approach to
design an approach demanded by the scale and complexity of many systems problems.
Where did it come from?
Systems design first appeared shortly before World War II as engineers grappled with complex
communications and control problems. They formalized their work in the new disciplines of
information theory, operations research, and cybernetics. In the 1960s, members of the design
methods movement (especially Horst Rittel and others at Ulmand Berkeley) transferred this
knowledge to the design world. Systems design continues to flourish at schools interested in
design planning and within the world of computer science. Among its most important legacies is
a research field known as design rationale, which concerns systems for making and documenting
design decisions.
What can designers learn from systems design?
Today, ideas from design methods and systems design may be more relevant to designers than
ever before as more and more designers collaborate on designing software and complex
information spaces. Frameworks suggested by systems design are especially useful in Modeling
interaction and conversation. They are also useful in modeling the design process itself.
modeling interaction and conversation. They are also useful in modeling
What is the most important thing to be aware of in systems design?
A systems approach to design asks:
For this situation, what is the system? What is the environment?
What goal does the system have in relation to its environment? What is the feedback loop by
which the system corrects its actions? How does the system measure whether it has achieved its
goal? Who defines the system, environment, goal, etc.-and monitors it? What resources does the
system have for maintaining the relationship it desires?
Are its resources sufficient to meet its purpose?
Is systems design incompatible with user-cantered design?
A
systems approach to design is entirely compatible with a user-cantered approach. Indeed, the
core of both approaches is understanding user goals. systems approach looks at users in relation
to a context and in terms of their interaction with devices, with each other, and with themselves.
Entity - A data entity is anything real or abstract about which we want to store data.
Entity types fall into five classes: roles, events, locations, tangible things or concepts.
E.g. employee, payment, campus, book. Specific examples of an entity are called
instances. E.g. the employee John Jones, Mary Smith's payment, etc.
Relationship:- A data relationship is a natural association that exists between one or more
entities. E.g. Employees process payments.
Attribute:- A data attribute is a characteristic common to all ormost instances of a
particular entity. Synonyms include property, data element, field. E.g. Name, address,
Employee Number, pay rate are all attributes of the entity employee. An attribute or
combination of attributes that uniquely identifies one and only one instance of an entity is
called a primary key or identifier. E.g. Employee Number is a primary key for Employee.
What is ER Model?
ER Model stands for Entity Relationship Model is a high-level conceptual data model diagram.
ER model helps to systematically analyze data requirements to produce a well-designed
database. The ER Model represents real-world entities and the relationships between them.
Creating
an ER Model in DBMS is considered as a best practice before
implementing your database.
• ER Modeling helps you to analyze data requirements
systematically to produce a well-designed database. So, it is considered a best practice to
complete ER modeling before implementing your database.
History of ER models
ER diagrams are visual tools that are helpful to represent the ER model. Peter Chen proposed ER
Diagram in 1971 to create a uniform convention that can be used for relational databases and
networks. He aimed to use an ER model as a conceptual modeling approach.
Why use ER Diagrams?
Here, are prime reasons for using the ER Diagram
Helps you to define terms related to entity relationship modeling
Provide a preview of how all your tables should connect, what fields are going to be on
each table
Helps to describe entities, attributes, relationships
ER diagrams are translatable into relational tables which allows you to build databases
quickly
ER diagrams can be used by database designers as a blueprint for implementing data in specific
software applications
The database designer gains a better understanding of the information to be contained in the
database with the help of ERP diagram
ERD Diagram allows you to communicate with the logical
structure of the database to users
Facts about ER Diagram Model
Now in this ERD Diagram Tutorial, let's check out some interesting facts about ER Diagram
Model:
ER model allows you to draw Database Design
It is an easy to use graphical tool for modeling data
Widely used in Database Design
It is a GUI representation of the logical structure of a Database It helps you to identifies the
entities which exist in a system and the relationships between those entities
ER Diagrams Symbols & Notations
Entity Relationship Diagram Symbols & Notations mainly contains three basic symbols which
are rectangle, oval and diamond to represent relationships between elements, entities and
attributes. There are some sub-elements which are based on main elements in ERD Diagram. ER
Diagram is a visual representation of data that describes how data is related to each other using
different ERD Symbols and Notations. Following are the main components and its symbols in
ER Diagrams:
Rectangles: This Entity Relationship Diagram symbol represents entity types
Ellipses: Symbol represents attributes
Diamonds: This symbol represents relationship types
Lines: It links attributes to entity types and entity types with other relationship types
Primary key: attributes are underlined
Double Ellipses: Represent multi-valued attributes
ER Diagram Symbols
Relationship
Entity or Strong Entity
Weak Entity
Weak Relationship
Attribute
Multivalued Attribute
Components of the ER Diagram
This model is based on three basic concepts:
Entities
Attributes
Relationships
ER Diagram Examples:-
For example, in a University database, we might have entities for Students, Courses, and
Lecturers. Students entity can have attributes like Rollno, Name, and DeptID. They might have
relationships with Courses and Lecturers.
WHAT IS ENTITY?
A real-world thing either living or non-living that is easily recognizable recognizable. It is
anything in the enterprise that is to be represented in our database. It may be a physical thing or
simply a fact about the enterprise or an event that happens in the real world.
and non
data in the database. The characteristics of entities are must have an An entity can be place,
person, object, event or a concept, which stores attribute, and a unique key. Every entity is made
up of some 'attributes' which represent that entity.
Examples of entities:
Person: Employee, Student, Patient Place: Store, Building
Object: Machine, product, and Car
Event: Sale, Registration, Renewal Concept: Account, Course
Notation of an Entity
Entity set:
Student
An entity set is a group of similar kind of entities. It may contain entities with attribute sharing
similar values. Entities are represented by their properties, which also called attributes. All
attributes have their separate values. For example, a student entity may have a name, age, class,
as attributes.
A university may have some departments. All these departments employ various lecturers and
offer several programs.
Some courses make up each program. Students register in a particular program and enroll in
various courses. A lecturer from the specific department takes each course, and each lecturer
teaches a various group
of students.
Relationship
Relationship is nothing but an association among two or more entities. E.g., Tom works in the
Chemistry department.
Tom Chemistr
y
Entities take part in relationships. We can often identify relationships with verbs or verb phrases.
For example:
You are attending this lecture
I am giving the lecture
Just loke entities, we can classify relationships according to
relationship-types:
A student attends a lecture
A lecturer is giving a lecture.
Weak Entities
A weak entity is a type of entity which doesn't have its key attribute. It can be identified uniquely
by considering the primary key of another entity. For that, weak entity sets need to have
participation.
Cardinality
Defines the numerical attributes of the relationship between two entities or entity sets.
Different types of cardinal relationships are:
One-to-One Relationships
One-to-Many Relationships
May to One Relationships Many-to-Many Relationships
1.One-to-one:
One entity from entity set X can be associated with at most one entity of entity set Y and vice
versa.
Example: One student can register for numerous courses. However, all
Student Course
2.One-to-many:
One entity from entity set X can be associated with multiple entities of entity set Y, but an entity
from entity set Y can be associated with at least one entity.
For example, one class is consisting of multiple students.
Class Student
3. Many to One
More than one entity from entity set X can be associated with at most one entity of entity set Y.
However, an entity from entity set Y may or may not be associated with more than one entity
from entity set X.
For example, many students belong to the same class.
Student Class
4. Many to Many:
One entity from X can be associated with more than one entity from Y
and vice versa.
For example, Students as a group are associated with multiple faculty members, and faculty
members can be associated with multiple students.
Student
Course
Professor
Student Professor
Course
Assign Deli
ed vers
Step 3) Cardinality Identification For them problem statement we know that, A student can be
assigned multiple courses A Professor can deliver only one course
Professor
Student Course
Deli
Ass
vers
ign
ed
A Data Flow Diagram (DFD) is a graphical representation of the "flow" of data through an
information system. A DFD is often used as a preliminary step to create an overview of the
system. DFDS can also be used for the visualization of data processing (structured design).
ADFD shows what kind of information will be input to and output from the system, where the
data will come from and go to, and where the data will bestored. It does not show information
about the timing of process or information about whether processes will operate in sequence or
in parallel.
History
Data flow diagrams were proposed by Larry Constantine. The original developer of structured
design, based on Martin and Estrin's "Data Flow Graph" model of computation. Starting in the
1970s, data flow diagrams (DFD) became a popular way to visualize the major steps and data
involved in software system processes. DFDs were usually used to show data flows in a
computer system, although they could in theory be applied to business process modelling. DFD
were useful to document the major data flows or to explore a new high-level design in terms of
data flow
A data flow diagram represents the following:
Terminator
The Terminator is an external entity that stands outside of the system and communicates with the
system. It can be, for example, organizations like banks, groups of people like customers or
different departments of the same organization, which is not a part of the model system and is an
external entity Modeled stems also communicate with terminator.
Rules for creating DFD
The name of the entity should be easy and understandable without any extra
assistance(like comments).
The processes should be numbered or put in ordered list to be referred easily.
The DFD should maintain consistency across all the DFD levels.
A single DFD can have maximum processes upto 9 and minimum 3 processes.
Levels of DFD
DFD uses hierarchy to maintain transparency thus multilevel DFD's can be created. Levels of
DFD are as follows:
0-level DFD
1-level DFD:
2-level DFD:
Advantages of DFD
phase, within scheduled time frames and cost estimates. Computer systems are link multiple
traditional systems potentially supplied by different software vendors. complex and often
(especially with the recent rise of service-oriented architecture) To manage this level of
complexity, a number of SDLC models or methodologies have been created, such as waterfall,
spiral, Agile software development, rapid prototyping, incremental, and synchronize and
stabilize.
SDLC can be described along a spectrum of agile to iterative to sequential processes which allow
for rapid changes (without necessarily following the pattern methodologies. Agile
methodologies, such as XP and Scrum, focus on lightweight of SDLC approach) along the
development cycle. Iterative methodologies, such as Rational Unified Process and dynamic
systems development method, focus on limited project scope and expanding or improving
products by multiple iterations. Sequential or big-design-up-front (BDUF) models, such as
waterfall, focus on complete and correct planning to guide large projects and risks to successful
and predictable results. Other models, such as anamorphic development, tend to focus on a form
of developinent that is guided by project scope and adaptive iterations of feature development.
In project management a project can be defined both with a project life cycle (PLC) and an
SDLC, during which slightly different activities occur. According to Taylor (2004), "the project
life cycle encompasses all the activities ofthe project, while the systems development life cycle
focuses on realizing the product requirements".
The SDLC is not a methodology per se, but rather a description of the phases in the life cycle of
a software application. In a broad sense, these phases are,: investigation, analysis, design, build,
test, implement, and maintenance and support. All software development methodologies follow
the SDLC phases but the method of doing that Varies vastly between methodologies. In the
Scrum framework, for example, one say a single user story goes through all the phases of the
SDLC within a single two-week sprint. Contrast this to the waterfall
And help to secure the funding and resources they need to make their plan happen.\
Perhaps most importantly, the planning stage sets the project schedule, which can be of key
importance if development is for a commercial product that must be sent to
market by a certain time.
Analysis Stage
The analysis stage includes gathering all the specific details required for a new system as well as
determining the first ideas for prototypes.
Developers may:
Define any prototype system requirements
Evaluate alternatives to existing prototypes
Perform research and analysis to determine the needs of end-users
Furthermore, developers will often create a software requirement specification or SRS document.
This includes all the specifications for software, hardware, and network requirements for the
system they plan to build. This will prevent them from overdrawing funding or resources when
working at the same place as other development teams.
Design Stage
The design stage is a necessary precursor to the main developer stage. Developers will first
outline the details for the overall application, alongside specific
aspects, such as its:
User interfaces
System interfaces
Network and network requirement
Databases
They'll typically turn the SRS document they created into a more logical structure that can later
be implemented in a programming language. Operation, training, and maintenance plans will all
be drawn up so that developers know what they need to
do throughout every stage of the cycle moving forward.
Once complete, development managers will prepare a design document to be referenced
throughout the next phases of the SDLC.
Development Stage
The development stage is the part where developers actually write code and build the application
according to the earlier design documents and outlined specifications.
This is where Static Application Security Testing or SAST tools come into play. Product
program code is built per the design document specifications. In theory, all of the prior planning
and outlined should make the actual development phase relatively straightforward.
Developers will follow any coding guidelines as defined by the organization and utilize different
tools such as compilers, debuggers, and interpreters.
Programming languages can include staples such as C++, PHP, and more. Developers will
choose the right programming code to use based on the project specifications and requirements.
Testing Stage
Building software is not the end. Now it must be tested to make sure that there aren't any bugs
and that the end-user experience will not negatively be affected at any point.
During the testing stage, developers will go over their software with a fine-tooth comb, noting
any bugs or defects that need to be tracked, fixed, and later retested. It's important that the
software overall ends up meeting the quality standards that were previously defined in the SRS
document.
Depending on the skill of the developers, the complexity of the software, and the requirements
for the end-user, testing can either be an extremely short phase or take a very long time.
Implementation and Integration Stage
After testing, the overall design for the software will come together. Different modules or
designs will be integrated into the primary source code through developer efforts, usually by
leveraging training environments to detect further errors or defects.
The information system will be integrated into its environment and eventually installed. After
passing this stage, the software is theoretically ready for market and may be provided to any end-
users.
Maintenance Stage
The SDLC doesn't end when software reaches the market. Developers must now move into a
maintenance mode and begin practicing any activities required to handle Issues reported by end-
users.
are responsible for implementing any changes that the
Furthermore, developers Software might need after deployment
This can include handling residual bugs that were not able to be patched before launch or
resolving new issues that crop up due to user reports. Larger systems may
require longer maintenance stages compared to smaller systems.
Role of System Analyst
An SDLC's system analyst is, in some ways, an overseer for the entire system. They should be
totally aware of the system and all its moving parts and can help guide the
project by giving appropriate directions.
The system analyst should be:
An expert in any technical skills required for the project
A good communicator to help command his or her team to success
A good planner so that development tasks can be carried out on time at each phase of the
development cycle
Thus, systems analysts should have an even mix of interpersonal, technical, management, and
analytical skills altogether. They're versatile professionals that can make or break an SDLC.
Their responsibilities are quite diverse and important for the eventual success of a given project.
Systems analysts will often be expected to:
Gather facts and information
Make command decisions about which bugs to prioritize or
features to cut
• Suggest alternative solutions
what
Draw specifications that can be easily understood by both users and
programmers
Developers can't move on to the next age until the prior one is completed and
Member Flexibility
Since SDLCs have well-structured documents for project goals and methodologies, members can
leave and be replaced by new members relatively painlessly
Perfection Is Achievable
All SDLC stages are meant to feed back into one another. SDLC models can therefore help
projects to iterate and improve upon themselves over and over until essentially perfect.
No One Member Makes or Breaks the Project
Again, since SDLCs utilize extensive paperwork and guideline documents, it's a team effort and
losing one even major member will not jeopardize the project timeline.
What You Need to Know About System Development Life Cycle
Where is SDLC Used?
System development life cycles are typically used when developing IT projects. Software
development managers will utilize SDLCs to outline various development stages, make sure
everyone completes stages on time and in the correct order, and e project is delivered as
promptly and as bug-free as possible.
SDLCs can also be more specifically used by systems analysts as they develop and later
implement a new information system.
SDLC can be used to develop or engineer software, systems, and even information systems. It
can also be used to develop hardware or a combination of both software and hardware at the
same time.
CHAPTER-6
System Implementation
Implementation is a process of ensuring that the information system is operational.
It involves
Constructing a new system from scratch
Constructing a new system from the existing one.
Implementation allows the users to take over its operation for use and evaluation. It involves
training the users to handle the system and plan for a smooth conversion.
Training
The personnel in the system must know in detail what their roles will be, how they can use the
system, and what the system will or will not do. The success or failure of well-designed and
technically elegant systems can depend on the way they are operated and used.
Training Systems Operators
Systems operators must be trained properly such that they can handle all possible operations,
both routine and extraordinary. The operators should be trained in what common malfunctions
may occur, how to recognize them, and what steps to take when they come.
Training involves creating troubleshooting lists to identify possible problems and remedies for
them, as well as the names and telephone numbers of individuals to contact when unexpected or
unusual problems arise. Training also involves familiarization with run procedures, which
involves working through the sequence of activities needed to use a new system.
User Training
End-user training is an important part of the computer-based information system development,
which must be provided to employees to enable them to do their own problem solving.
User training involves how to operate the equipment, troubleshooting the system problem,
determining whether a problem that arose is caused by the equipment or software.
Most user training deals with the operation of the system itself. The training courses must be
designed to help the user with fast mobilization for the organization.
CHAPTER-7
System Testing:
Testing which is major part of creating our website as we want customer to use a problem free
Parking Website, for this we test the site over multiple browsers and devices to check weather its
working like supposed to. As at this point the URL is private and should launch after being
confirm all the things.
System testing involves the execution of a software component or system component to evaluate
one or more properties of interest. In general, these properties indicate the extent to which the
component or system under test:
meets the requirements that guided its design and development,
responds correctly to all kinds of inputs,
performs its functions within an acceptable time,
it is sufficiently usable,
can be installed and run in its intended environments, and
achieves the general result its stakeholders desire.
Finally we arrive at system testing, where the software and other system elements
are tested as a whole.
Manual testing:
A key step in the process is testing the software for correct behavior prior to release
to end users.
For small scale engineering efforts (including prototypes), exploratory testing may be sufficient.
With this informal approach, the tester does not follow any rigorous testing procedure, but rather
explores the user interface of the application using as many of its features are the possible, using
information gained in prior tests to intuitively derive additional tests. The success of exploratory
manual testing relies heavily on the domain expertise of the tester, because a lack of knowledge
will lead to incompleteness in testing. One of the key advantages of an informal approach is to
gain an intuitive insight to how it feels to use the application.
Choose a high level test plan where a general methodology is chosen, and resources such as
people, computers, and software licenses are identified and acquired.
Write detailed test cases, identifying clear and concise steps to be taken by the tester, with
expected outcomes.
Assign the test cases to testers, who manually follow the steps and record the results. Author a
test report, detailing the findings of the testers. The report is used by managers to determine
whether the software can be released, and if not, it is used by engineers to identify and correct
the problems.
A rigorous test case based approach is often traditional for large software engineering projects
that follow a Waterfall model. However, at least one recent study did not show a dramatic
difference in defect detection efficiency between exploratory testing and test case based testing..
Testing can be through black-, white- or grey-box testing. In white-box testing the tester is
concerned with the execution of the statements through the source code. In black-box testing the
software is run to check for the defects and is less concerned with how the processing of the
input is done. Black-box testers do not have access to the source code. Grey-box testing is
concerned with running the software while
Testing an internal perspective of the system, as well as programming skills, are used to design
test cases. The tester chooses inputs to exercise paths through the code and determine the
appropriate outputs. This is analogous to testing nodes in a circuit, in-circuit testing (ICT).
e.g.
While white-box testing can be applied at the unit, integration and system levels of the software
testing process, it is usually done at the unit level. It can test paths within a unit, paths between
units during integration, and between subsystems during a system-level test. Though this method
of test design can uncover many errors or problems, it might not detect unimplemented parts of
the specification or missing requirements.
Black box testing:
Black box testing treats the software as a "black box"-without any knowledge of internal
implementation. Black box testing methods include: equivalence partitioning, boundary value
analysis, all-pairs testing, fuzz testing, model-based testing, exploratory testing and specification-
based testing.
CHAPTER-8
FUTURE SCOPE
In a nutshell, it can be summarized that the future scope of the project circles around maintaining
information regarding following:
We can give more advance software for online book store including more facilities. We will host
the platform on online servers to make it accessible worldwide. Integrate multiple load balancers
to distribute the loads of the system.
Create the backup mechanism for taking backup of codebase and database on regular basis on
different servers.
The above-mentioned points are the enhancements which can be done to increase the
applicability and usage of this project, here we can maintain the records of Books and stock.
Also, as it can be seen that now-a-days the players are versatile, I.e., so there is a scope for
introducing a method to maintain the
Online Bookstore. Enhancements can be done to maintain all Books, stock, Customer, Order,
Payment.
CHAPTER -9
Conclusion:
One of the most common problems today for a small-scale business face is there presence and its
name in the market. In The pandemic most of small-scale business went downhill because of
lack of customers as everybody was stuck in their home or they were Doing online shopping. Is
to find a specific deal which offer the best of service according to our needs. Online Bookstore as
the name suggested is a website through which we provide an local bookstore an online presence
to their business in online(global) scale everyone who wants to Discover the joy of buying is
provided the service as same as a local bookstore.
Our project is only a humble venture to satisfy the needs to manage their project work. Several
user-friendly coding has also adopted. This package shall prove to be a powerful package in
satisfying all the requirement of the school. The objective of software planning is to provide a
frame work that enables the managers to make reasonable estimate made within a limited time
frame at the beginning of the software project and should be updated regularly as the project
progresses.
In the last we would like to thanks all the persons involved in the development of the system
directly or indirectly. We hope that the project will serve its purpose for which it is develop there
by underlining success of process.
References:
Research papers:
Distributed traveling Development Process Astro Grid Experience by Pedro
Contreras
Anne-Mai Aadamsoo WEB BASED PROJECT MANAGEMENT SYSTEM Technology
and Communication 2010
. Software project management: from concept to deployment / Kieron Conway.
Scottsdale (Ariz.): Coriolis, c2001
Information systems project management: methods, tools and techniques / John
McManus and Trevor Wood-Harper, Harlow [etc.]: Prentice Hall, c2003
https://www.scribd.com/document/342098884/Synopsis-of-Online-Book-
Store
https://www.academia.edu/Documents/in/Web_Application_Development_
with_php_mysql
Websites:
1. www.en.wikipedia.org
2. www.javapoint.com
3. www.tutorialpoint.com
4. www.w3schools.com
5. www.freeprojectz.com/synopsis
6. www.researchgate.net/publication
Books:
The complete reference by Thomas A. Powell
Head First HTML with CSS by Chris Schalk www.(Author), Ed Burns (Author), James
Holmes.
HTML BLACK BOOK.
The Best-Practice Guide to XHTML by Patrick Griffiths.
JavaScript book