Professional Documents
Culture Documents
Online Bookstore: TH ST
Online Bookstore: TH ST
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.
CHAPTER-1
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.
The system is highly flexible one is well efficient to make easy interaction with the customer.
The key focus is given on data security, as the project is online and will be transferred in
network. The speed and accuracy will be maintained in a proper way.
This will be user-friendly one and can successfully overcome strict and severe validation
checks.
This will be user-friendly one and can successfully overcome strict and severe validation checks.
The system will be a flexible one and changes whenever can be made easy. Using the facility and
flexibility in PHP and SQLite software can be developed in a neat and simple manner there by
reducing the operator's work.
Since The project is developed in HTML, CSS as a Front-end and PHP, SQL as a back-end it can
be modified easily and used for a long period.
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.
• 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
A good SRS defines the how Software System will interact with all internal modules, hardware,
communication with other programs and human user interactions with wide range of real life
scenarios. Using the Software requirements specification (SRS) document on QA lead, managers
create test plan. It is very important that testers must be cleared with every detail specified in this
document in order to avoid faults in test cases and its expected results.
A software requirements specification (SRS) is a description of a software system to be
developed. It is modeled after business requirements specification (CONOPS). specification lays
out functional requirements specification and non-functional requirements, and it may include a
set of use cases that describe user interactions that the software must provide to the user for
perfect interaction. Software requirements specification establishes the basis for an agreement
between customers and contractors or suppliers on how the software product should function (in
a market-driven project, these roles may be played by the marketing and development divisions).
Software requirements specification is a rigorous assessment of requirements before the more
specific system design stages, and its goal is to reduce later redesign. It should also provide a
realistic basis for estimating product costs, risks, and schedules. Used appropriately, software
requirements specifications can help prevent software project failure.
The software requirements specification document lists sufficient and necessary requirements for
the project development. To derive the requirements, the developer needs to have clear and
thorough understanding of the products under development. This is achieved through detailed
and continuous communications with the project team and customer throughout the software
development process. The SRS may be one of a contract's deliverable data item descriptions or
have
other forms of organizationally-mandated content.
Correctness of SRS should be checked. Since the whole testing phase is dependent on
SRS, it is very important to check its correctness. There are some standards with which
we can compare and verify.
Ambiguity should be avoided: Sometimes in SRS, some words have more than one
meaning and this might confuse testers making it difficult to get the exact reference. It is
advisable to check for such ambiguous words and make the meaning clear for better
understanding.
Requirements should be complete: When tester writes test cases, what exactly is
required from the application, is the first thing which needs to be clear. For e.g. if
application needs to send the specific data of some specific size then it should be clearly
mentioned in SRS that how much data and what is the size limit to send.
Consistent requirements: The SRS should be consistent within itself and consistent to
its reference documents. If you call an input "Start and Stop" in one place, don't call it
"Start/Stop" in another. This sets the standard and should be followed throughout the
testing phase.
• Verification of expected result: RS should not have statements like "Work as expected", it
should be clearly stated that what is expected since different testers would have different
thinking aspects and may draw different results from this statement.
• Testing environment: some applications need specific conditions to test and also a particular
environment for accurate result. SRS should have clear documentation on what type of
environment is needed to set up
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.
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.
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.
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.
While functional requirements determine what the system does, non-functional requirements
describe HOW the system does it. For example, a web application must handle more than 15
million users without any decline in its performance, or a website must not load more than 3
seconds.
If an app doesn't meet non-functional requirements, it continues to perform its basic functions,
however, it won't be able to provide a great user experience. Non-functional requirements are
important as they help software developers to define the system abilities and constraints that are
essential for developing high- quality software. Therefore, non-functional requirements are as
important as functional requirements for successful product adoption.
Why Is the Difference Between Functional and Non-Functional
Requirements Important?
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.
both seller and buyer can view the product route in the app;
all the users can view the delivery time on items in their accounts, etc.
TOOLS: HARDWARE & SOFTWARE SPECIFICATION:
Hardware Requirements:
CPU: 2.9GHz Intel Core i7-7500U (dual-core, 4MB cache, up to 3.5GHz)
Microsoft Compatible
RAM: 8GB DDR4
Graphics: Intel HD Graphics 620
Storage: 1 TB Hard Drive
Keyboard & Mouse
Software Requirements:
Feasibility study is a preliminary study undertaken before the real work of project starts to
ascertain the likelihood of the project's success. It is an analysis of all possible solution to a
problem and a recommendation on the best solution to use. It involves evaluating how the
solution will fit into the corporation.
It is used to determine if the project should get the go-ahead. If the project is to proceed, the
feasibility study will produce a project plan and budget estimates for the future stages of
development.
Feasibility is defined as the practical extent to which a project can be performed successfully. To
evaluate feasibility, a feasibility study is performed, which determines whether the solution
considered to accomplish the requirements is practical and workable in the software. Information
such as resource availability, cost estimation for software development, benefits of the software
to the organization after it is developed and cost to be incurred on its maintenance are considered
during the feasibility study. The objective of the feasibility study is to establish the reasons for
developing the software that is acceptable to users, adaptable to change and conformable to
established standards. Various other objectives of feasibility study are listed below.
• To determine whether the software can be implemented using the current technology and
within the specified budget and schedule.
• To determine whether the software can be integrated with other existing software.
Some common question asked during the study?
If you are assured 'yes, it will', narrow down your target audience. It might require a little
brainstorming but it shouldn't be too difficult a task. For example, if you are opening an online
fashion store, your prime target audience will be young and middle-aged women, who are also
tech-savvy. Define a customer persona to clearly outline their needs & expectations.
Once you get a clear picture of your target audience, take a moment and analyze 'as a business,
are you capable & willing to serve them?', 'do you have enough industry knowhow or access to
resources to keep your target audience engaged over a long period of time?', and most
importantly, 'do you have a vision?' If the answer is yes, (which it should be after that much of
analysis & market segmentation) assuredly, you have a better chance at succeeding.
Say, you are associated with textile industry. Do you have a better chance to succeed at
launching an apparel ecommerce store or at offering travel booking services? Travel booking
may be the ongoing big thing, but if you don't have any industry knowhow, there is a very thin
chance that things will work out for you. The importance of product knowledge becomes more
apparent when it comes to enhance the customer experience. Without any product knowledge
and usage experience, the best you can do is offer a me-too product, which in no way can
guarantee you the success.
Preferably, you should be a consumer yourself, since only then you can come up with ways to
improve the product visually, practically, & emotionally and give customers a reason why they
should choose you over competitors.
So, begin with asking people in your social circle about your product or service. Is it something
that they want or are missing in their life? To get more critical & honest feedback, present it as
someone else's idea. If you have a good social media following, you can ask them the same thing
and make a more informed decision before taking any major action.
However, catering to customers' need is only one of the various factors that decide whether a
product will be adopted by masses. Other key factors include - how accessible is the product or
service, is it easy to use, and is it something your target customers can afford.
To ensure these other factors, you have to analyze your entire chain of business operations - from
accumulation of resources to the means of facilitating the service (which we will discuss in point
5). Only by taking care of these concerns can you be sure that your product/service will click
with your target audience.
Besides adoption, sustainability is another crucial aspect you need to judge your business idea
upon. Despite the popularity of the business, you mustn't step forward without asking whether
the product or service at hand will still be in demand 2-3 years down the line, or can it become a
victim of a disruptive innovation. Groupon can serve as a good example here. During the initial
years, Groupon's
business model spread like a jungle fire, but over the last few years it has been constantly
degrading. (The company is continuously ceasing its operations in international markets; cut
down more than 1000 position from its staff in 2015, and suffered a loss of nearly $200 million
in 2016)
Reason for Groupon's fall is that customer loyalty cannot be built by offering something nearly
free. And without taking customer relation into account, a business model cannot sustain.
Merchants associated with Groupon soon realized that there is no guarantee that a past customer
would ever return; so gradually they began to leave.
In Groupon's case it might have been unlikely for a common man to predict that it will fail,
however, many marketing gurus had raised questions about its sustainability when it was
launched. That is why it is important that you do a rigorous market research on the business idea
you have in mind to be aware of such critical views and take a more informed decision whether
you should go for it or not.
Market research & studying your intended target audience should give you some cues on which
fulfillment channel should bring the maximum ROI. However, their establishment would require
some capital & resources. And if you don't or can't have access to that required capital &
resources, that business idea is not for you - whether or not, you have figured out how to execute
it in the right manner. one of the above-mentioned choices, if partnering with the 3rd delivery
service providers is the right way to go, but if your target market has a scarcity of such delivery
services, then it is better to rethink the whole thing.
During the initial stage, for business expansion you would need to provide some discounts and
other offers to attract & gain customers. Without any investor or capital, you cannot do that or
else you will burn out of cash before you have barely even begun. Investors determine the
success of your business idea based on its adoptability & sustainability (both of which we have
discussed already). One the other hand, for peripheral businesses (these are the businesses that
you will link with to run your ecommerce store such as suppliers, delivery partner, etc.), your
business idea should be something that brings them more and more business. Style Seat (for
salon booking) & OpenTable (for restaurant table booking) are two good examples in this
context. Both these businesses bring their associated peripheral partners more business by
minimizing their ideal time. So, if your business idea is something that makes the pie bigger for
your partner businesses, it should be a hit.
that
The concern is only partially addressed because your business can have some custom
requirements that readymade scripts cannot address. In such a scenario, you need to make sure
that the developers you partner with are proficient enough
If it would naturally take too much time, you need to analyze how much marketyou might lose
during the period your desired website is getting ready. If you believe the final product will be
able recapture the market, then it is worth it, otherwise, you need to play smart and should enter
the market with your minimum viable product.
There are pretty good chances that you will underestimate the cumulative business setup cost, as
in most cases what business owners consider are only development and operational costs. Permit
& licensing, registration with tax authority, brand development, marketing, hiring employees,
etc. are some other mandatory expenditure that you must take into account while deciding the
budget for your
venture.
Apart from that, if you are aiming to expand to new geographies & verticals down the line, you
should have an estimate of how much it will cost. If the cost is something that your business idea
is unlikely to acquire through funding, then it is time for some reconsideration.
Of course, a minimum risk is always involved when it comes to acquire funding for business
expansion. The point here is to understand the line between risky & unlikely. Since only by truly
believing in your business idea can you approach investors in the right manner & make an
impression to secure the deal.
Cost
per Acquisition (CPA) simply means the amount of money a firm spends to acquire a new
customer. There are many theories about what should be the ideal cost per acquisition. For
instance, many agree that it should be 15% of a
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.
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.
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:
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.
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
The model that is basically being followed is the WATERFALL MODEL, which states that the
phases are organized in a linear order. First of all the feasibility study is done. Once the part is
over the Requirement Analysis and Project Planning begins. The design starts after the
requirement analysis is complete and the coding begins after the design is complete. Once the
coding is completed, the testing is done. In this model the sequence of activities performed in
software development project are:
Requirement Analysis
Project Planning
System Design
Unit Testing
System Integration and Testing
Here the linear ordering of these activities is critical. Output of one phase is the input of another
phase. The output of each phase is to be consistent with overall requirement of the system. Some
of the qualities of spiral model are also incorporated like after the people concerned with.
Some of the qualities of spiral model are also incorporated like after interface designing the user
was asked to validate the design as per the requirements. Interaction with the user was also done
from time to time for identifying further requirements.
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.
Requirement Analysis & Specification
Design
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.
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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 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?
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
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.
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
Now in this ERD Diagram Tutorial, let's check out some interesting facts about ER Diagram
Model:
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 Diagram Symbols
Relationship
Weak Entity
Weak Relationship
Attribute
Multivalued Attribute
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.
ATM Weak
Transaction
Relatio
n
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
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
application.
7 Stages of the System Development Life Cycle
There are seven primary stages of the modern system development life cycle.
Here's a brief breakdown:
Planning Stage
Feasibility or Requirements of Analysis Stage
Design and Prototyping Stage
Software Development Stage
0
Software Testing Stage
C
Implementation and Integration
Operations and Maintenance Stage
Now let's take a closer look at each stage individually.
Planning Stage
Before we even begin with the planning stage, the best tip we can give you is to take time and
acquire proper understanding of app development life cycle.
The planning stage (also called the feasibility stage) is exactly what it sounds like: the phase in
which developers will plan for the upcoming project.
It helps to define the problem and scope of any existing systems, as well as determine the
objectives for their new systems.
By developing
an effective outline for the upcoming development cycle, they'll
theoretically catch problems before they affect development.
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