You are on page 1of 51

PROJECT REPORT

on

Online Grocery

for

Cosmo Info Solution

towards partial fulfillment of the requirement


for the award of degree of

Bachelor of Computer Applications

from

Babu Banarasi Das University


Lucknow

Academic Session 2021 - 22


School of Computer Applications

I Floor, H-Block, BBDU, BBD City, Faizabad Road, Lucknow (U. P.) INDIA 226028
PHONE: HEAD: 0522-3911127, 3911321 Dept. Adm. & Exam Cell: 0522-3911326 Dept. T&P Cell: 0522-3911128; E-Mail: head.sca@gmail.com

w w w . b b d u . a c . i n

<FORMAT OF CERTIFICATE OF PROJECT REPORT TO BE INCLUDED AS FIRST PAGE OF PROJECT REPORT>


PROJECT REPORT
on

Online Grocery
for

Cosmo Info Solution


towards partial fulfillment of the requirement
for the award of degree of

Bachelor of Computer Applications


from

Babu Banarasi Das University


Lucknow

Developed and Submitted by Under Guidance of


Aditya Mr.Ayush Jaiswal
1190211023

Academic Session 2021 - 22


School of Computer Applications

I Floor, H-Block, BBDU, BBD City, Faizabad Road, Lucknow (U. P.) INDIA 226028
PHONE: HEAD: 0522-3911127, 3911321 Dept. Adm. & Exam Cell: 0522-3911326 Dept. T&P Cell: 0522-3911128; E-Mail: head.sca@gmail.com

w w w . b b d u . a c . i n
CERTIFICATE
This is to certify that Project Report entitled

Online Grocery
being submitted by

ADITYA
towards the partial fulfillment of the requirement
for the award of the degree of

Bachelor of Computer Applications


to
Babu Banarasi Das University
Lucknow

in the Academic Year 2021-22


is a record of the student’s own work carried out at
Cosmo Info Solution
and to the best of our knowledge the work reported herein does not form a part
of any other thesis or work on the basis of which degree or award was conferred
on an earlier occasion to this or any other candidate.

Dr. Prabhash Ch. Pathak


HEAD (School of Computer Applications)
ACKNOWLEDGEMENT

I would not have completed this journey without the help, guidance and
constantsupport and co-operation of certain people who acted as guides and
friends along the way. I would like to express my deepest and sincere thanks to
Mrs Kiran Mam [BBDU] ,Mr Sarfaraz Sir [BBDU] Mr. Ayush jaiswal [Cosmo
] for their invaluable guidance and help. It would never be possible for me to take
this project to this level without their innovative ideas and their relentless support
and encouragement.

In this connection I would like to express my gratitude to my parents and friends


who were constant source of inspiration during the project report. At last I thank
to Almighty for giving me the power to complete this project successfully.

Aditya : 1190211023
TABLE OF CONTENT

S.no Contents Page. no


1. Introduction/Objectives 7-8
2. System Analysis 9-25
1. Identification of Need (Problem Definition)
2. Preliminary Investigation (Proposed solution)
3. Feasibility Study
4. Project Planning
5. Project Scheduling (PERT Chart and Gantt Chart)
6. Software requirement specifications (SRS)
7. Software Engineering Paradigm applied
8. Data model
1. Data Flow diagrams
2. UML Model
3. Use-case Diagrams
3. Activity Diagrams/Class Diagram 26
4. System Design 27-36
1. Modularization details
2. Data integrity and constraints
3. Database design
4. User Interface Design
5. Test Cases (Unit Test Cases and System Test Cases) 37-38
6. Testing 39-44
1. Testing techniques and Testing strategies used
2. Testing Plan use
3.Test reports for Unit Test Cases and System Test Cases
4.Debugging and Code improvement
7. System Security measures [Implementation of security for 45-48
the project developed]
1. Database/data security
2. Creation of User profiles and access rights
3. Front end and backend security
8. Cost Estimation of the Project along with Cost Estimation 49-50
9. Conclusion 51
10. Future scope 51
11.References 52
7

INTRODUCTION

The “Online Grocery Ordering System” has been developed to override the
problems prevelling in the practicing manual system. The software is supported to
eliminate and in some cases reduce the hardships faced by the existing. Moreover
this system is designed for the particular need of the company to carry out operation
in a smooth and effective manner. The application is reduced as much as possible to
avoid error while entering the data. It also provide error message while entering
invalid data.

OBJECTIVE

The main objective of the project on online grocery ordering system is to


manage the detail of grocery, customer, order ,stock, product.
It manages all the information grocery, address, product, grocery. The project is
totally built at administrative end and thus only administrator is guaranteed the
access .

The purpose the project is to build an application program to reduce the


manual work for managing the grocery, customer, address , order. It tracks all
the detaild about the order, stock, product.

Online grocery ordering system , as described above, can lead to error


free ,secure , reliable and fast management system. It can assist the user to
concentrate on their other activities rather to concentrate on the record keeping .
8

NEED OF IDENTIFICATION

The old manual system was suffering from a series of drawbacks .since whole life of
the system was to be maintained with hands the process of keeping, maintaining
and retrieving the information was very tedious and lengthy the records were never
used to be in a systematic order there used to be lots of difficulties in associating any
particular transaction with a particular context .if any information was to found it
was required to go through the different register, documents there the reason behind
it is that there is lot of information to be maintained and have to be kept in mind
while running the business . for this reason we have provided features present
system is partially automated (computerized),actually exiting system is quite
laborious as one has to enter same information at there different places.
9
SYSTEM ANALYSIS

In IT, systems analysis can include looking at end-user implementation of a software package
or product; looking in-depth at source code to define the methodologies used in building
software; or taking feasibility studies and other types of research to support the use and
production of a software product, among other things.

Systems analysis professionals are often called upon to look critically at systems, and
redesign or recommend changes as necessary. Inside and outside of the business world,
systems analysts help to evaluate whether a system is viable or efficient within the context of
its overall architecture, and help to uncover the options available to the employing business
or other party.

Systems analysts are different than systems administrators, who maintain systems day to day,
and their roles generally involve a top-level view of a system to determine its overall
effectiveness according to its design.

STRATIGIES FOR SYSTEM ANALYSIS AND PROBLEM SOLVING

Traditionally, systems analysis is associated with application development projects,


that is, projects that produce information systems and their associated computer
applications. Your first experiences with systems analysis will likely fall into this
category. But systems analysis methods can be applied to projects with different
goals and scope. In addition to single information systems and computer
applications, systems analysis techniques can be applied to strategic information
systems planning and to the redesign of business processes. There are also many
strategies or techniques for performing systems analysis. They include modern
structured analysis, information engineering, prototyping, and object-oriented
analysis. These strategies are often viewed as competing alternatives.

10

MODERN STRUCTURED SOLUTION


Modern structured analysis is a process-centered technique that is used to model business
requirements for a system. The models are structured pictures that illustrate the processes,
inputs, outputs, and files required to respond to business events (such as ORDERS).”
By process-centered, we mean the initial emphasis in this technique is on the Process
building blocks in our information system framework. The technique has evolved to also
include the DATA building blocks as a secondary emphasis. Structured analysis was not only
the first popular systems analysis strategy; it also introduced an overall strategy that has been
adopted by many of the other techniques-model-driven development.
"A model is a representation of reality. Just as "a picture is worth a thousand words," most
models use pictures to represent reality.
Model-driven development techniques emphasize the drawing of models to define business
requirements and information system designs. The model becomes the design blueprint for
constructing the final system.
Modern structured analysis is simple in concept. Systems and business analysts draw a series
of process models called data flow diagrams that depict the essential processes of a system
along with inputs, outputs, and files. Because these pictures represent the logical business
requirements of the system independent of any physical technical solution, the models are
said to be a logical design for the system.

NEXT GENERATION OF REQUIREMENTS ANALYSIS

Predicting the future of requirements analysis is not easy, but we'll make an attempt. CASE
technology will continue to improve making it easier to model system requirements. Two
CASE technologies will lead the charge.

PROBLEM DEFINATION

This projects aims to develop an online shopping for customers with the goal so that it is very
easy to shop your loved things from extensive number of online shopping sites available on
the web. With the help this you can carry out an online shopping from your home . here is no
compelling reason to go to the crowed stores or shopping centers during festival seasons . you
simply require a pc or a laptop and one important payment sending option to shop online.
11

PROPOSED SOLUTION

To overawed all these problems that is mentioned in existing system, we are evolving a
solution that is, as an alternative to go in shopping
Mall and store , we can chase for the good using our mobile, through internet make shopping
easy delivery options are added products also delete in cart the best service give to customer
and money on distribution accessible that’s make a helpful system to customer .
The duration of the time taken by ultrasonic pulses to extend to the surface of
the medium and back is used to control continuous level measurement. The improve angle
during filling and emptying granulated solids and also the rough liquid surface effect the
reflection of the ultrasonic pulse this will also effect the reflection hence the abrasive and
aggressive, viscous and adhesive media will be simply measured .

FESIBILITY STUDY

after responsibility the plan online grocery system, study and investigating all the current or
compulsory functionalities of the organization the next job is to do the viability study for the
project all the workers all plans feasible given limitless resources and immeasurable time .
all the conceivable ways to deliver a solution to the given problem are find by
feasibility study this planed answer would please all the worker founded on the future
imminent supplies.

There are different type of feasibility analysis:


1.Techinical Feasibility
2.Legal Feasibility
3.Economic Feasibility
4.Operational Feasibility

12

Technical Feasibility:
Analysis of technical resources available in the organizations concerning the project
requirement comes under technical feasibility.

Technical feasibility analysis helps online grocery  to find out the technical resources meet
the capacity and evaluates the hardware, software and other technical requirements.

Legal Feasibility:
Analysis of the laws and actions related to the project comes under Legal, feasible analysis.

This analysis investigates whether any aspect of the proposed project conflicts with legal
requirements like data protection acts, social media laws, etc.

Economic Feasibility:
Analysis of costs, benefits of the project falls under Economic feasibility.

Economic feasibility helps mobile app development companies to find out the viability, cost,
and benefits related to a project before financial resources are allocated.

Operational Feasibility:
Analysis of the operations that the online grocery sites adopts to perform the completion of
the project falls under operational feasibility.

This assessment involves the study to analyze and determine whether and how the online
grocery sites needs can be met by completing the project.

ECONOMIC FEASIBILITY

A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical feasibility, the development cost in
creating the system is evaluated against the ultimatebenefit derived from the new systems. 13

Financial benefits must equal or exceed the costs.


The system is economically feasible. It does not require any addition hardware or software.
Since the interface for this system is developed using the existing resources and technologies
available at NIC, There is nominal expenditure and economical feasibility for certain.
PROJECT PLANNING

Rough Estimate:
This is the first stage everything starts with. You need to estimate software project you want
to create. Requirements analysts need to define all the requirements of your project, its
features, and objectives. To make a rough estimate, requirements analysts need to know what
platform software is created for – iOS, Android.
Also, they need to know the scope of features, what third-party services may be used, design
particularities, and personal customer’s demands.
When all these details are taken into account, RA creates a rough estimate that shows how
many hours approximately might be spent on project development. As a rule, the rough
estimate provides you with minimum and maximum time required for the development of
each feature.
When you receive this estimate, you may calculate how much money it will take if you
multiply the company’s hourly rate by a total development minimum and maximum time.

Planning Stage:
At this stage, it is required to prepare specifications and wireframes. Without it, it will be
impossible to draw up a detailed estimate and plan everything thoroughly before the
development stage.
It is highly recommended to hold meetings as frequently as possible because these meetings
make it possible to discuss all nuances and avoid any troubles during the development
process.

Specification:
The specification is a must-have step since it includes a description of the project, its
functionality, tech stack that will be used, and other technical details. Besides, it contains
particularities of the interface.
In the specification, a user story may be added. A user story describes the process of each 14

action, what is going to happen if a user clicks one or the other button, and so on.
Specification helps project managers and customers understand the whole process from the
beginning to the end.
Detailed Estimate:
Third and final part of planning is a detailed estimate. As it is clear, you already get a precise
estimation that includes final costs. Also, dependable companies consider possible risks, and
they are added to estimate. It will prevent you from unpredictable expenses. Everything
depends on the complexity of the software.

Contract Signing:
Once the planning stage is over, you need to decide whether you will keep on cooperating
with a software development company or not. If you agree, then it is time to sign a contract.
A contract stipulates all terms of cooperation, deadlines, expenses, legal issues, disputes
settlement, and so on.
Besides, along with a contract, a non-disclosure agreement is signed to make sure that your
idea won’t be copied or stolen. And then the development process is started!

Development Process:

Agile as a methodology is used mostly today since it allows the project team to divide the
development process into stages – so-called sprints. Once each sprint is done, a customer
verifies it, and if everything is performed correctly, the customer approves it. And only after
approval of each sprint, developers start working on the next one.

Planning:
A project manager needs to discuss all technical particularities with a development team and
build the plan of the development process from the beginning to the end.

Development Process:
The mobile and web development team (in case you need both web and mobile app) creates
software for you according to the specification and methodology. If the software is built
following Agile methodology, it is necessary to hold meetings with a customer once-twice
per two weeks. 15

Submission to App Store:


It is necessary to ensure that everything works properly, that is why different types of testing
are performed to fix all bugs. Then it is essential to get approval from the customer, and only
after this, the app is released.

PROJECT SCHEDULING

Knowing how much time a team has to complete a project makes it easier for the project
manager to allocate tasks and get things done. Therefore, many project managers rely on
project schedules to set timeframe parameters for projects.

Features:
Project scheduling looks at which tasks need to be performed for a project and assigns
deadlines for their completion. The project scheduler sets these deadlines by calculating how
long each task should take to perform. Scheduling requires a comprehensive understanding of
which action steps need to get done and when.

Function:
Implementation teams use project schedules as charted timelines to stay on track with
deadlines. Projects consist of a series of tasks, and each task is given its own deadline. If
various departments or teams are working on a project, each group may be given its own
schedule to follow for its part of the project.

Types:
Master, milestone and detailed schedules are the three most common types of project
schedules, according to Bright Hub.
Master schedules are general summaries of the overall project, from start to finish.
Milestone schedules list all of the project's significant events, and are often presented to
senior managers so that they can see the project's progress.
Detailed project schedules are the most operational of the three, breaking down all of the
activities, tasks and action steps that need completing. 16

Effects:
Project managers and investors are interested in project scheduling for budgetary reasons.
When money is budgeted for the implementation team, it is important to monitor whether the
project will be on time or not. Projects that do not meet deadlines may cost more for
resources and staff wages.

Pert Chart

PERT charts are used by project managers to create realistic schedules by coordinating
activities and estimating their duration by assigning three time estimates for each (optimistic,
most likely and pessimistic). This makes PERT charts useful when planning projects where
the duration of activities is uncertain.

PERT chart is a network diagram used in the Program Evaluation Review Technique (PERT)
to represent a project’s timeline. It allows project managers to estimate the duration of
projects based on the analysis of task sequences.

17

GANTT CHART
A Gantt chart is used for planning projects of all sizes, and it is a useful way of showing what
work is scheduled to be done on a specific day. It can also help you view the start and end
dates of a project in one simple chart.

The vertical axis of a Gantt chart shows the tasks that need to be completed, while the
horizontal axis represents time. As you input tasks, their start dates, their end dates and their
dependencies, bars will populate, which represent task durations. This happens automatically
if you use a Gantt planning tool like Gantt chart software.

Most Gantt diagrams are created in Excel or with project managementsoftware, which is


sometimes referred to as Gantt chart software. If you choose to make Gantt charts with Gantt
chart software, then you’ll be able to do more than see task durations and due dates. You can
create a work breakdown structure, assign tasks to team members, track progress in real time
and drag and drop timelines to instantly update your project schedule.

A Gantt chart can be developed for the entire project or a separate chart can be developed for
each function. A tabular form is maintained where rows indicate the tasks with milestones
and columns indicate duration (week/months). The horizontal bars indicate that span and
columns indicate duration of the task.

18

84 DAYS
Development
Duration
Phase 64 –
1 – 21 22 – 42 43 – 63
84
Requirement 1 – 10
Gathering (10 Days)

11 – 21
Analysis
(11 Days)

22 – 42
Design
(21 Days)

38 – 69
Coding
(31 Days)

53 – 79
Testing
(27 Days)

74 – 84
Implementation
(11 Days)

22 – 84
Documentation
(63 Days)

19

Software Requirements Specification

server

 Browser : IE 8.0 or later


 Database : postgrey SQL, pgAdmin(manager)
 Web server : internet information server(IIS)8.0
 Operating system : windows

Client

 Browser : IE8.0 or any browser


 Operating system solaris : any O.S. Windows/linux

Developer

 Browser : IE 8.0 or any browser


 IDE : visual studio code, Pycharm
 Database : Postgrey SQL, PgAdmin(manager)
 Operating system : window 8 or above
 WebServer : internet information server(IIS)7.0
 Documentation tool : ms word, ms power point
 Scripting language : JavaScript, HTML ,CSS
 Server side language : Python
 Framework : Django

Hardware Requirements Specification

Server
Processor : 2.0(GHz) Pentium i3 or above processor
RAM : 2GB
HDD : 80GB
Display : 1024 x 768 high color-32bit
Client
Processor : i3 or later
RAM : 2GB
HDD : 40GB
Display : 1024 x 768 high color-32bitSOFTWARE
Developer
Processor : i3 and above
RAM : 2GB
HDD : 40GB 20
Display : 1024 x 768 high color-32bitSOFTWARE

SOFTWARE ENGINEERING PARADIGM APPLIED

We have used spiral model as the software engineering paradigm in our project. The details
of the spiral model used are mentioned below:

SPIRAL MODEL
The spiral model is a software development process combining elements of both design and
prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up
concepts. Also known as the spiral lifecycle model (or spiral development), it is a systems
development method (SDM) used in information technology (IT). This model of
development combines the features of the prototyping and the waterfall model. The spiral
model is intended for large, expensive and complicated projects.

HISTORY:
This model was defined by Barry Boehm in his 1986 article "A Spiral Model of Software
Development and Enhancement". It was not the first model to discuss iterative development.
As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase
starts with a design goal and ends with the client (who may be internal) reviewing the
progress thus far. Analysis and engineering efforts are applied at each phase of the project,
with an eye toward the end goal of the project. The spiral model combines the idea of
iterative development (prototyping) with the systematic, controlled aspects of the waterfall
model.
It allows for incremental releases of the product, or incremental refinement through each time
around the spiral. The spiral model also explicitly includes risk management within software
development. Identifying major risks, both technical and managerial, and determining how to
lessen the risk helps keep the software development process under control.

The spiral model is based on continuous refinement of key products for requirements
definition and analysis, system and software design, and Implementation (the code). At each
iteration around the cycle, the products are extensions of an earlier product. This model uses
many of the same phases as the waterfall model, in essentially the same order, separated by 21
planning, risk assessment, and the building of prototypes and simulations.
Documents are produced when they are required, and the content reflects the information
necessary at that point in the process. All documents will not be created at the beginning of
the process, nor all at the end (hopefully). Like the product they
define, the documents are works in progress. The idea is to have a continuous stream of
products produced and available for user review.
The spiral lifecycle model allows for elements of the product to be added in when
they become available or known. This assures that there is no conflict with previous
requirements and design. This method is consistent with approaches that have multiple
software builds and releases and allows for making an orderly transition to a maintenance
activity. Another positive aspect is that the spiral model forces early user involvement in the
system development effort. For projects with heavy user interfacing, such as user application
programs or instrument interface applications, such involvement is helpful.
Starting at the centre, each turn around the spiral goes through several task regions:
• Determine the objectives, alternatives, and constraints on the new iteration.
• Evaluate alternatives and identify and resolve risk issues.
• Develop and verify the product for this iteration.
• Plan the next iteration.
Note that the requirements activity takes place in multiple sections and in multiple iterations,
just as planning and risk analysis occur in multiple places. Final design, implementation,
integration, and test occur in iteration 4. The spiral can be repeated multiple times for
multiple builds. Using this method of development,

some functionality can be delivered to the user faster than the waterfall method.
Thespiral method also helps manage risk and uncertainty by allowing multiple decisionpoints
and by explicitly admitting that all of anything cannot be known before the subsequent
activity starts.

APPLICATIONS:

The spiral model is mostly used in large projects. For smaller projects, the concept of agile
software development is becoming a viable alternative. The military had adopted the spiral
model for its Future Combat Systems program. The FCS project was cancelled after six years
22
(2003–2009), it had a twoyear iteration (spiral). The FCS should have resulted in three
consecutive prototypes (one prototype per spiral— every two years). It was cancelled in May
2009. The spiral model thus may suit small (up to $3 million) software applications and not a
complicated ($3 billion) distributed interoperable, system of systems.
Also it is reasonable to use the spiral model in projects where business goals are unstable but
the architecture must be realized well enough to provide high loading
and stress ability. For example, the Spiral Architecture Driven Development is the spiral
based Software Development Life Cycle (SDLC) which shows one possible way how to
reduce the risk of non-effective architecture with the help of a spiral model in conjunction
with the best practices from other models.
SPIRAL MODEL

DATA MODEL

Data Flow Diagram:

DFD is the abbreviation for Data Flow Diagram. The flow of data of a system or a process
is represented by DFD. It also gives insight into the inputs and outputs of each entity and
the process itself. DFD does not have control flow and no loops or decision rules are 23
present. Specific operations depending on the type of data can be explained by a flowchart.
Data Flow Diagram can be represented in several ways. The DFD belongs to structured-
analysis modeling tools. Data Flow diagrams are very popular because they help us to
visualize the major steps and data involved in software-system processes.

Components of DFD:
The Data Flow Diagram has 4 components:

 Process
Input to output transformation in a system takes place because of process
function. The symbols of a process are rectangular with rounded corners, oval,
rectangle or a circle. The process is named a short sentence, in one word or a
phrase to express its essence.
 Data Flow
Data flow describes the information transferring between different parts of the
systems. The arrow symbol is the symbol of data flow. A relatable name should
be given to the flow to determine the information which is being moved. Data
flow also represents material along with information that is being moved.
Material shifts are modeled in systems that are not merely informative. A given
flow should only transfer a single type of information. The direction of flow is
represented by the arrow which can also be bi-directional.
 Warehouse
The data is stored in the warehouse for later use. Two horizontal lines represent
the symbol of the store. The warehouse is simply not restricted to being a data
file rather it can be anything like a folder with documents, an optical disc, a
filing cabinet. The data warehouse can be viewed independent of its
implementation. When the data flow from the warehouse it is considered as data
reading and when data flows to the warehouse it is called data entry or data
updation.
 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. 24
Modeled systems also communicate with terminator.
Levels of DFD Registration
Profile thus multilevel DFD’s can be created. Levels
DFD uses hierarchy to maintain transparency
of DFD are as follows: Dashboard

 0-level DFD Search


 1-level DFD Permission
Manage
 2-level DFD
Anti-Thief
Location &
Share
UML MODEL
Security
Analytics
File
 Management

  Rating
Feedback
Use Case Diagram of User:

25

Use Case Diagram of Admin:

USER
ADMIN

26

ACTIVITY DIAGRAM
CLASS DIAGRAM

27

SYSTEM DESIGN

Modularization Details -
Modules of Project:
The project can be divided into following modules:-
1. Product Selection
2. Order, Product
3. Offers on the Product
4. Payment Gateway
5. Staff assignment
6. cart
7. Feedback
8. Rating
9. Email Gateway
10. Admin
11. Account
12. Profile
13. forget Password.

Admin:
 Providing approvals.
 Listing of customer.
 Solving gateway glitch.
 Blocking accounts.

Account:
 Creation of accounts.
 Login and logout.
 Update password.
 Deletion of accounts.

28

Profile:
 Management of user profile.
 Updation of profile.
 Profile will be having categories based on ratings

Forgot Password:
 Password can be retrieve when forgotten.
 OTP will be send to the registered mobile number.
 A secure profile for each and every user
Product Selection:
 Select product of your choice.
 Select different types of product.
 Selection of product category wise.

Order:
 Order the selected product.
 Order the quality product.
 Order as many products you can.
Offer:
 Offers on the product.
 Discount on the product.
 Final payment after applying offers/discount.
Payment Gateway:
 Payment via online mode.
 Payment calculation.
 Netbanking, debit cards.

29

Staff assignment:

 Providing staff.
 Listing of staff area wise.
 Providing convenience for delivery.

Cart:
 Product can be add to the cart .
 Easily access of the product when added to cart.
 Product remains in the cart until not removed .

Feedback:
 User can give their feedback.
 Feedback is clearly communicated to vendors.
 Feedback is timely.
Rating:
 User can give their rating .
 Ratings can be given in the form of numeric 1-5.
 Rating helps in improving the services.

Email Gateway:
 Vendors-customer communication through emails.
 Every details of the product can be received .
 Offer details on the product can be received.

DATA INTEGRITY AND CONSTRAINTS

DATA INTEGRITY: - In computing, data integrity refers to maintaining and assuring the
accuracy and consistency of data over its entire life-cycle, and is an important feature of a 30

database or RDBMS system.


Data warehousing and business intelligence in general demand the accuracy, validity and
correctness of data despite hardware failures, software bugs or human error. Data that has
integrity is identically maintained during any operation, such as transfer,
storage or retrieval.
All characteristics of data, including business rules, rules for how pieces of data relate
dates, definitions and lineage must be correct for its data integrity to be complete. When
functions operate on the data, the functions must ensure integrity.
INTEGRITY CONSTRAINTS: - Integrity constraints are used to ensure accuracy and
consistency of data in a relational database. Data integrity is handled in a relational database
through the concept of referential integrity. There are many types of integrity constraints that
play a role in referential integrity.
Types
Code initially defined two sets of constraints but, in his second version of the relational
model, he came up with four integrity constraints:
Entity integrity:-
The entity integrity constraint states that no primary key value can be null. This is because
the primary key value is used to identify individual tuples in a relation.

Having null value for the primary key implies that we cannot identify some tuples. This also
specifies that there may not be any duplicate entries in primary key column key row.

Referential Integrity:-
The referential integrity constraint is specified between two relations and is used to maintain
the consistency among tuples in the two relations. Informally, the referential integrity
constraint states that a tuple in one relation that refers to another relation must refer to an
existing tuple in that relation. It is a rule that maintains consistency among the rows of the
two relations.
Domain Integrity:-
The domain integrity states that every element from a relation should respect the type and
restrictions of its corresponding attribute. A type can have a variable length which needs to be
respected. Restrictions could be the range of values that the element can have, the default
value if none is provided, and if the element can be NULL.
User Defined Integrity

A business rule is a statement that defines or constrains some aspect of the business. It is
intended to assert business structure or to control or influence the behaviour of the business.
E.g.: Age>=18 && Age<=60.

TABLES

Home page :-
Page sites :- page views are in instance of a page being loaded in a browser . Page
views is a metric defined as the total number of pages viewed . Unlike page
views, unique page view are the total number of sessions during which a specific
page was viewed a specific page was viewed at least once

All categories :-

32

User login:-

A login is a set of credentials used to authenticate a user .most often ,these


consist of a username and password .however, a login may include other
information, such as pin number , passcode or passphrase.some logins required a
biometric identifier, such as a fingerprint or retina scan .

Examples of login include :-


33

 Operating system login:-


Windows and Mac systems can be configured to require a login order to use
the computer after it is turned on a woken from sleep mode. A login may
also be required to install software or modify system files .
 Website login:-
Webmail interfaces, financial websites, and many other sites require a user
name and password in order to access account information .
 App store login:-
App stores like Google play and apple’s store require a login to download
mobile apps ,music, and other files .
 FTP login:-
File transfer programs often require a login in order to browse, send, and
receive files from an FTP server.
 Router login:-
Wired and wireless routers typically require an administrator login to
modify the settings .

USER INTERFACE
Admin Login Page:-

34

Sign Up Page:-

User register:-
35

OTP Verification:-

Profile Page:-
36

Forget Password:-

Rating:-
37

TEST CASES

A test case in software engineering is a set of conditions or variables under which a tester will
determine whether an application or software system is working correctly. The mechanism
for determining whether a software program or system has passed or failed such a test is
known as a test oracle. In some settings, an oracle could be a requirement or use case, while
in others it could be a heuristic. It may take many test cases to determine that a software
program or system is considered sufficiently scrutinized to be released. Test cases are often
referred to as test scripts, particularly when written. Written test cases are usually collected
into test suites.
Formal test cases:
In order to fully test that all the requirements of an application are met, there must be at least
two test cases for each requirement: one positive test and one negative test. If a requirement
has sub-requirements, each sub-requirement must have at least two test cases. Keeping track
of the link between the requirement and the test is frequently done using a traceability matrix.
Written test cases should include a description of the functionality to be tested, and the
preparation required to ensure that the test can be conducted.
A formal written test-case is characterized by a known input and by an expectedoutput, which
is worked out before the test is executed. The known input should test a precondition and the
expected output should test a post condition.
Informal test cases:
For applications or systems without formal requirements, test cases can be written based on
the accepted normal operation of programs of a similar class. In some schools of testing, test
cases are not written at all but the activities and results are reported after the tests have been
run.
In scenario testing, hypothetical stories are used to help the tester think through a complex
problem or system. These scenarios are usually not written down in any detail. They can be
as simple as a diagram for a testing environment or they could be a description written in
prose. The ideal scenario test is a story that ismotivating, credible, complex, and easy to
evaluate. They are usually different from test cases in that test cases are single steps while
scenarios cover a number of steps of the key. 38

UNIT TEST CASE


The basic concept of unit testing is write more code which will test the main code we’ve
written, by “throwing” sample data at it and examining what it gets back.
There are two approaches to unit testing: black box testing and white box testing. A Unit
Test verifies the behaviour of some small part of the overall system. What makes a test a unit
test is that the system under test (SUT) is a very small subset of the overall system and may
be unrecognizable to someone who is notinvolved in building the software. The actual SUT
may be as small as a single object or method that is a consequence of one or more design
decisions although its
behaviour may also be traced back to some aspect of the functional requirements.

SYSTEM TEST CASE:

System Test usually occurs after the functional verification stage is complete, which is after
the core function has been verified. It is intended to find problems with the entire system as a
whole. The system test phase occurs near the end of a development life cycle. It is therefore
imperative that system test applications are designed to be as efficient as possible in finding
code defects.
System test usually comprises of three areas. These are:
1. Performance: It involves the process of determining the relevant product statistics.
For example: How many messages per second? How many simultaneous users of a
service are acceptable?
2. Scenario: It is the process of recreating an exact configuration that a customer
requires. Any problems found in the scenario can therefore be detected before the
customer uses the product.
3. Stress (or workload balancing): It is different from the other two areas in that it is
designed to strain the software by applying a large workload effort. If carried out
effectively, by maintaining a highly strenuous usage of the product (but not
beyond the limits determined by the performance statistics), stress testing often uncovers
many obscure bugs that any of the other techniques mentioned above will not find (it is also
often the case that they will be the most difficult to fix).
Arguably the most efficient of the three system test components, in terms of detecting code
defects, is the area of stress testing. 39

TESTING

Testing is a process of executing a program with the goal of finding errors. So, testing means
that one inspects behaviour of a program on a finite set of test cases (a set ofinputs, execution
preconditions, and expected outcomes developed for a particular objective, such as to
exercise a particular program path or to verify compliance with a specific requirement, for
which valued inputs always exist. In practice, the whole set of test cases is considered as
infinite, therefore theoretically there are too many test cases even for the simplest programs.
In this case, testing could require months and months to execute. So, how to select the most
proper set of test cases? In practice, various techniques are used for that, and some of them
are correlated with risk analysis, while others with test engineering expertise. Testing is an
activity performed for evaluating software quality and for improving it. Hence, the goal of
testing is systematic detection of different classes of errors (error can be defined as a human
action that produces an incorrect result, in a minimum amount of time and with a minimum
amount of effort.

TESTING TECHNIQUES:

A testing technique specifies the strategy used in testing to select input test cases and analyze
test results. Different techniques reveal different quality aspects of a software system, and
there are two major categories of testing techniques, functional and structural.

Functional Testing: The software program or system under test is viewed as a “black box”.
The selection of test cases for functional testing is based on the requirement or design
specification of the software entity under test. Examples of expected results, sometimes are
called test oracles, includes requirement /design specifications, hand calculated values, and
simulated results. Functional testing emphasizes on the external behaviour of the software
entity.

Structural Testing: the software entity is viewed as a “white box”. The selection of test
40
cases is based on the implementation of the software entity. The goal of selecting such test
cases is to cause the execution of specific spots in the software
entity, such as specific statements, program branches or paths. The expected results are
evaluated on a set of coverage criteria. Examples of coverage criteria include pathcoverage,
branch coverage, and data-flow coverage. Structural testing emphasizes on the internal
structure of the software entity.

TESTING STRATIGIES:-

Better Testing:-
When testers apply better practices and techniques they can test more effectively. Often the
concepts seem too simple to work; for instance, using personas and heuristics is not complex
or complicated to try. Nonetheless, when people aren’t aware of these techniques or do not
apply them their testing can be mediocre. For instance, only 30 percent of screens and 6
percent of the code were exercised by 7 users .

Test Automation and Continues Automated Testing:-


Test automation is one of the most popular ways of trying to improve testing of mobile apps,
and there is a plethora of potentially suitable products and frameworks available. Once the
automated tests exist they can be run more frequently than human testers could achieve from
a practical perspective.

Also, they can be run when testers aren’t available, for instance when the app is updated
overnight and the testers have finished work for the day.

Scalling Testing:-
Scaling testing enables more testing to be done than we would be able to achieve ourselves.
There are various approaches, including using remote devices, including other people, in the
testing, and running tests on device farms, often in parallel.

Static Analysis:-
Static analysis assesses designs and files rather than running or testing the code. It is a useful
complement to all the other forms of testing and can catch problems at the source, rather than
once the app has been released. 41

Design reviews are a static analysis technique and remain useful in finding flaws in mobile
apps. Similarly, code reviews, performed by developers who understand the relevant mobile
platforms, can catch many bugs before they reach the application’s codebase.

Test Plan:-

A Test Plan is a document that describes the scope of testing, test strategy, objectives, effort,
schedule, and resources required. It serves as a guide to testing throughout the development
process.

Test Plan and Strategy:-

Unit Testing:-
The main objective of unit testing is to verify whether every unit operates as intended. A
function, procedure, method, or even the entire module can be considered a separate unit.
Unit testing can be conducted manually, but automated testing is a more common practice.

System Testing:-

System testing is generally conducted after Unit Testing. The objective of System Testing is
to evaluate compliance of an integrated application with its requirements.

Interrupt Testing:-

This testing type examines how an application reacts to interruption and resumes to its
previous state. There are numerous reasons that can potentially interrupt the operation of an
app, such as getting a phone call, messages, notifications, battery low, etc.

Installation And Launch Testing:-

Installation testing aims to detect whether there are any issues during the installation,
uninstallation, and updating process. Once the application has been installed, a QA engineer
also checks the launching process.  42

Security Testing:-

Security testing is conducted to find the application vulnerabilities and prevent data breaches.

Regression Testing:-

Regression testing is a re-execution of tests that had been done before the code changes. Its
purpose is to verify whether a new functionality has affected the existing one.

Pass/Fail Condition:-All the conditions when tests pass or fail are defined and described.

Functional Testing:-
Mobile functional testing is fundamental to any mobile app testing regime – it is testing that
the software works as it should. Testing that the design and requirement specifications have
been met. This is testing created from the perspective of the end-user of your app.

Non Functional Testing:-

The term “non-functional testing” refers to testing those aspects of a software application, that may
not be connected with a defined user action or function (for example, security, scalability, behaviour).

So let’s go through some of the features of an app that aren’t related to functionality:-

 App performance in normal scenarios


 App behavior when the system is loaded with many users
 App handling of system stress
 App security
 App performance from OS to OS / device to device
 App recovery from failure

43

Test Report:-

Test Report helps to summarize testing activity in a formal way. It should contain:
 name and overview of an application
 testing hardware and software environment
 the number of test cases executed/passed/failed.
For each issue that has been encountered, the following information is provided:
 bug description
 bug status (open, fixed, etc.)
 bug location
 steps to reproduce an issue
DEBUGGING AND CODE IMPROVEMENT

Debugging, in computer programming and engineering, is a multistep process that involves


identifying a problem, isolating the source of the problem, and then either correcting the
problem or determining a way to work around it the final step of debugging is to test the
correction or workaround and make sure it works .

Debugging on a machine other than your local system is beneficial when you have to check
your app in different networks, perform carrier testing or solve device and operating system
fragmentation issues.

Debugging is achieved by using a debugger that supports remote debugging and a server,
which allows it to interact with remote code. With mobile debugging, you can run the code
on one system and control it from your local system.

The local system runs the debugger user interface, and the remote machine runs the debug
engine and code. To perform mobile debugging; you need to access a remote machine where
the database and code resides.

44
 
So, if you work in mobile app development or testing and have a hard time iterating your app
through various builds, here are some options that you can consider for remote debugging.

Parallel Debugging:-
parallel debugging modes, described in Section 1, are analogous to many types of sequential
and parallel work flows. One such example is the parallelization of computation on multi-
processor computers. On a multi-processor computer, a task is divided into subtasks that are
processed simultaneously with co- ordination between the processors. There is a cost of this
coordination, and thus, the total processing effort is often higher in the parallel computation
than the sequential one. However, because of better utilization of the processors and the
divide-and-conquer strategy, the task can often complete faster when computed in parallel.
parallel debugging modes, described in Section 1, are analogous to many types of sequential
and parallel work flows. One such example is the parallelization of computation on multi-
processor computers. On a multi-processor computer, a task is divided into subtasks that are
processed simultaneously with coordination between the processors. There is a cost of this
coordination, and thus, the total processing effort is often higher in the parallel computation
than the sequential one. However, because of better utilization of the processors and the
divide-and-conquer strategy, the task can often complete faster when computed in parallel.
Two new windows have been added for debugging parallel applications:-
1.The GPU Threads window displays the status and the details of the threads running on the
GPU.
2.The Parallel Watch window displays values of a single expression across multiple threads
at the same time.You can sort, reorder, configure, and group on the columns in the GPU
Threads, Threads, Parallel Tasks, and Parallel Watch windows.

CODE IMPROVEMENT:-

For the codeimprovement I have used Class File. The class file is used to declare and define
the methods for various multiple.

45

SYSTEM SECURITY MEASURES

Database Security
Application security is a blanket term for the protection of all mobile, web, and desktop
applications encompassing mobile app security, web app security, cloud app security, and
hybrid mobile app security. 

There are myriad reasons application security is vital. Large industry groups such as the Open
Web Application Security Project (OWASP) are dedicated to ensuring the security of apps —
just as there are entire groups, or collections of groups like Mage cart that exist solely to
create and exploit app vulnerabilities. No application, operating system, platform, or interface
— be it Web, Android, iOS, or anything else — is safe from exploitation by bad actors.
Mobile app security solutions need to deliver critical endpoint security to consumer facing
and business productivity mobile apps. Android, iOS, and hybrid JavaScript apps that provide
a better user experience or streamline operations are vulnerable to a range of threats, and
businesses need to be protected from the risk associated with running mobile apps in a zero-
trust world.

From determined cyber criminal gangs to nation state actors, corporate data and financial
assets are at risk through mobile and web app security breaches. These application security
risks vary from direct financial fraud to stealing corporate intellectual property (IP) to
disclosure and fraudulent misuse of personally identifiable information (PII).

App Security Tools:-

Fortunately, solutions already exist and are readily available to help protect against app
security threats that exist in today’s zero-trust world. Digital.ai provides application
protection that runs the gamut from Android and iOS, to web and servers, delivering threat
detection, and data protection. All of these solutions incorporate a multi-layered approach to
security including code protection, alerting, and data encryption. Anything less risks exposure
of the sensitive information collected and transmitted by an application.

App Security Testing:-


46
Apps often process, store, transmit, or enable access to sensitive data such as customer
information or intellectual property. The consequences of an improperly protected app can be
severe, which is why one step in protecting them is critical to put them through the rigors of
security testing.

Consumer App Security:-

For customer-facing applications, businesses have trusted their security to coding practices,
any number of internal security tests, and app penetration testing. These are certainly must-
have capabilities since the most effective security is about building defences in layers.

Even in cases where app protection solutions have been used by businesses to protect mobile
apps, they can only protect against what is known at the time they are deployed. Most current
app security solutions don’t possess the ability to understand how protections are holding up
“in the wild” and provide insight into new threats in real time that can be countered in time to
stop them before they go viral.
FRONTEND AND BACKEND SECURITY

A app application is divided into two parts – Frontend and Backend.

The frontend is client-side, it’s the part the user interacts with. Typically, it’s built with
HTML, CSS, and Java Script. The backend is server-side. It’s basically how the application
works, applies the business logic, changes, and updates. Some of the popular server-side tech
stacks involve , , Java, , C, Python, database, security (authentication, access control, etc.),
structure, and content management. It’s common for us to confuse the terms. Let’s clarify it
quickly:

Authentication concerns proving user identity (ex., password, username, questions security,
fingerprints). Access control concerns what the user can access the application. It enforces
the policy that users cannot act outside their intended permissions.Session management
concerns responses and request transactions associated with the same user. It is an exchange
mechanism that is used between the user and the application after he authenticated
successfully.

1.When the input is received, filter data based on what is expected or valid input.

2.When user-controllable data is provided in HTTP responses, encode the output to prevent it
from being executed by HTML parser. Depending on the output context, this might require
47
applying combinations of HTML, URL, JavaScript, and CSS encoding.

3.To prevent XSS in HTTP responses that aren’t intended to contain any HTML or JavaScript,
we can use the Content-Type and X-Content-Type-Options headers to ensure that browsers
interpret the responses in the way you intend. Eg. A JSON data should never be encoded as
text/html, to prevent it from accidental execution.

COST ESTIMATION OF PROJECT

Process main phases: In this simple top-down estimate process you can identify five main
phases.

1. Define Activities
2. Define Task
3. Define Human Resources
4. Assign Human Resources to Tasks
5. Estimate times and costs
The process start with a general definition of macro-activities and with a detailed definition
of tasks, human resources used, times and costs related to each task.

Define Activities: In this first phase you have to define the main activities which
compose your project:

48

For example, in a generic web project you can identify the following main activities:
1. Requirements definition
2. Design
3. Implementation
4. Test
5. Release
Next step is to detail each activity with a certain number of specific tasks.

2. Define Tasks: Each activity is composed from some tasks. Each task is a smaller
piece of work which composes a main activity:
49

Cost estimation of the Project

Software cost comprises a small percentage of overall computer based system there are a
number of factors, which are considered, that can affect the ultimate cost of the software such
as human ,technical hardware and software availability etc.

The main point that was considered during the cost estimation of project was its sizing.
Function point and approximate lines of code were also used to “size” each element of the
software and their costing
50

For each task (row) Total Cost is equal to:


Total Cost Additional Costs". In this case Total Cost will be equal to:
Total Cost = (Hours/day * Hourly Cost * Days) + Additional Cost

Cost Estimation of my Projects = Hours/day * Hourly Cost*Days Take a mind some


task could have specific costs which are independent from the number of resources
you assign to that task. You can add this costs adding a new column to the left of the
column Total Cost called " :-
51

CONCLUSION

Our project is only a humble venture to satisfy the needs to the manage their project work.
Several user friendly coding have also adopted .this package shall prove to be a powerful
package in satisfy all the requirements of the school the objective of software planning is to
provide a frame work that enables the manger to make reasonable estimates made within a
limited time frame at the beginning of the software project and should be updated regularly as
the project progresses.

FUTURE SCOPE

 In a nutshell , it can be summarized that the future scope of the project circles around
maintaining information regarding :
 We can add printer in future.
 We can give more advance software for online grocery ordering system including
more facilities
 We will host the plateform on online server to make it accessible worldwide
 Integrate multiple load balancers to distribute the loads of the system

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 grocery ordering system.
Enhancement can be done maintain all the grocery,customer,order,stock,product.
52

BIBLIOGRAPHY

A bibliography is an alphabetized list of all the sources used in an academic paper you should
compile a bibliography when writing an essay .article or research paper that relies heavily on
source material learning how to write bibliography with different types of sources may seem
tricky, but when you see examples of each type, it’s easier than you think
 Google for problem solving
 http://www.javaworld.com/javaworld/jw-01-1998/jw-01-credentialreview .html
 Database programming language with JDBC and java by O’Reilly
 Head first java 2nd edition
 http://www.JSP.net/

You might also like