Professional Documents
Culture Documents
on
Online Grocery
for
from
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
Online Grocery
for
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
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.
Aditya : 1190211023
TABLE OF CONTENT
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
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.
10
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.
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
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
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.
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
server
Client
Developer
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
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
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
Rating
Feedback
Use Case Diagram of User:
25
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: - 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
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:-
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
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 .
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.
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 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.
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:-
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 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
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).
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.
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
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.
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
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
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/