Professional Documents
Culture Documents
New Foodnet Report
New Foodnet Report
New Foodnet Report
YUVARAJA’S COLLEGE
(A constituent autonomous college)
ON
“FOOD NETWORK”
SUBMITTED AS PARTIAL FULFILLMENT OF THE COURSE FOR THE AWARD OF
Submitted By
RAKSHITH R KASHYAP (YBC17153)
SHIVAKUMAR K M (YBC17138)
DECLARATION
We, the students of VI semester, BCA, at Yuvaraja’s college Mysore,
declare that the project work titled “FOOD-NETWORK” has been
carried out by us and submitted in partial fulfilment of the course
requirements for the award of degree in Bachelor of Computer
Applications of Mysore University, during the academic year 2019-20
SHIVAKUMAR K M (YBC17138)
ACKNOWLEDGEMENT
The successful implementation of the system filled us with a great sense of
satisfaction because it is concatenation of diverse needs that we were fulfilled by
various well-wishers it is deep reverence that acknowledge their gesture.
Our heartfelt thanks to Dr. B.N. YASHODHA, Principal, Yuvaraja’s College, Mysore
for giving us the accessory environment to acquire knowledge and skill.
Finally, a sincere sense of gratitude to our parents who supported throughout the
project and lastly, we thank all our friends.
Thanking you,
SHIVAKUMAR K M (YBC17138)
YUVARAJA’S COLLEGE
(A constituent autonomous college of the University of Mysore)
C ERTIFICATE
1: ....................................................
2: ....................................................
SIGNATURE OF EXAMINER
1: .....................................................
C ERTIFICATE
1: ....................................................
2: ....................................................
SIGNATURE OF EXAMINER
1: .....................................................
1 INTRODUCTION................................................................................ [1-2]
2.1 Overview
3.1 Introduction
6.1 Introduction
7.1 Introduction
8.1 Introduction
8.3 Code
9.1 Introduction
12.1 References
12.2 Bibliography
FIG.NO
NAME OF THE DIAGRAM PAGE NO.
4.1.1
The .NET Framework Overview 10
4.1.3
Visual Studio 2015 13
4.1.7
4.1.7 SQL server 18
7.1
Three-tier Architecture 26
7.2
System Architecture 27
7.3.1 a)
Level 0 DFD 29
7.3.1 b)
Admin Level 1 DFD 30
7.3.1 c)
Receiver Level 1 DFD 31
7.3.1 d)
Donor Level 1 DFD 31
7.3.2 a)
Admin Use case diagram 32
7.3.2 b)
Receiver & Donor Use case diagrams 33
7.3.3 a)
Admin Sequence Diagram 34
7.3.3 b)
Donor Sequence Diagram 35
7.3.3 c)
Receiver Sequence Diagram 36
7.3.4 a)
Admin Activity Diagram 38
7.3.4 b)
Donor Activity Diagram 39
7.3.4 c)
Receiver Activity Diagram 40
7.3.5
Entity Relationship Diagram 42
9.1
The Testing process 49
TABLE OF DIAGRAMS
CHAPTER 1
INTRODUCTION
CHAPTER 1
INTRODUCTION
137crore people call India as their home, which is about 17.7% of total world population. India
is the second most populated country in the world, as the population increases the biggest challenge is
to feed the huge population. India is currently number one in the list of most undernourished people in
a country; there are nearly 20crore people who are undernourished due to lack of food, proteins and
minerals. The sharp increase in the amount of wastage in terms of food makes the need for charity in
terms of donation. In the current scenario food is being wasted daily on a large basis in different
restaurants, weddings, social functions, college canteens and many other social events. People donate
food manually by visiting each organization number of times, in order to reduce the problems of food
wastage where as there are websites that have taken efforts to help people donate food .The proposed
system presents, a new internet-based application that provides a platform for donating leftover food to
all needy people/organizations.
The system is shown to be an effective means of donating things to organizations, etc. over the
internet. It shows the potential for avoiding the wastage of food. It provides information and the
motivation to donate food and reduce food wastage, thereby describing existing donation system and
how the product works for betterment of the society. This system will create a common collaboration
portal for hotels/restaurants and charities, charity can directly contact restaurants who have food
remaining and report generation which will show how much food is donated by which restaurant.
In this system Food Donor, Food receiver, Transporter, admin are the main modules where
Food Donor can be any organization/Person who wants to donate food, he can create a new food
donation request and Food receiver can be any charity firm seeking for food. A new food donation
request will be created on the portal and once the request is accepted, a notification is sent to
Transporter who is responsible for moving food from food donor to food receiver.
1.1 Motivation for the Project
In highly populated countries like India, food wastage is a disturbing issue. The streets,
garbage bins and landfills have ample proof to prove it. Marriages, canteens, restaurants, social and
family get-togethers and functions expel out so much food. Food wastage is not only an indication
of hunger or pollution, but also of many economic problems. The high standard of living has
resulted in the wastage of food, clothes, etc. because of quick changes in habits and lifestyle.
Instead of wasting these things we can put them in use by donating them to various organizations
such as orphanages, old age homes, etc. This system aims to establish a link between donors and
the charity homes/needy households to enable excess food donation.
The application's main motto is "Minimum wastage & Maximum consumption" of food.
➣ The automated system provides different types of users to support the cause by actively
involving themselves in various functions of the system.
➣ This system tracks the most possible locations where large amount of food is being wasted
and a database of the donations and organizations are maintained.
➣ Instead of wasting food, the Food-Network helps to feed orphans, homeless,
undernourished etc. by real time analysis and communication.
CHAPTER 2
LITERATURE SURVEY
CHAPTER 2
LITERATURE SURVEY
2.1 OVERVIEW
A literature review can be just a simple summary of the sources, but it usually has an
organizational pattern and combines both summary and synthesis. A summary is a recap of the
important information of the source, but a synthesis is a re-organization, or a reshuffling, of that
information. The relevant literature on food wastage management has been reviewed in this section.
Managing fresh food supply chains is very complex with the recently increased concern of
public health, food safety, food quality, demand and price variability, and the limited lifetime of
these products. Due to the short shelf life and product perishability, inventory management. Hence
the below surveys were analysed to build the system.
Published in 2015 summaries in brief the evolution of food donation activities and offers a
medium that connects donors with NGOs. An idea for a food donation network is presented and
impact on society through this medium is mentioned. The disadvantage in this paper is that there is
no GPS service available. That means the system does not allow the organization or charity to find
the nearest donor available in the area and they have to manually find the donors.
Published in 2016, a new internet-based application that provides a platform for donating
old stuff and leftover food to all needy people/organizations. It provides information about the
motivation to come up with such an application, thereby describing the existing donation system
and how the proposed product works for the betterment of society. The disadvantage of this project
is that there is no dashboard available that is, at the end of the month the system didn’t get all the
records that how much is donated or received by the receiver.
Paper: Beyond food sharing: Supporting food waste reduction With ICTs [3]
Published in 2016, guaranteeing food security is the key in improving the quality of life of
citizens at all levels of society The recent economic crisis has increased the number of people
living in conditions of food poverty, especially in developed regions. This paper describes the use
of ICT tools to recover food surplus at different stages of the supply chain and also describes the
way forward for an integrated set of ICT tools to reduce waste from producers to households.
FEASIBILITY STUDY
CHAPTER 3
FEASIBILITY STUDY
3.1 INTRODUCTION
Feasibility is defined as the practical extent to which a project can be performed
successfully. To evaluate feasibility, a feasibility study is performed, which determines whether the
solution considered to accomplish the requirements is practical and workable in the software.
Information such as resource availability, cost estimation for software development, benefits of the
software to the organization after it is developed and cost to be incurred on its maintenance are
considered during the feasibility study. The objective of the feasibility study is to establish the
reasons for developing the software that is acceptable to users
Economical Feasibility
Technical Feasibility
Operational Feasibility
Legal Feasibility
Cultural & social Feasibility
Economic Feasibility:-
The system is economically feasible as the proposed system is a nonprofit based
integrated platform promoting less wastage and maximum consumption of food.
Investment needed is less than cost of any other way of communication.
The software cost at the beginning of the project will be 1000/- Rupees or less the
project also requires some additional equipment at the end which may cost less with the
funding of government.
The total life of the software and the equipments is 2 years or more with frequent
updates.
The only purchases required by the users are the Data connection, Cost charged for
installation of browser, Operating system and other necessary computer peripherals.
Technical Feasibility:-
The traditional way doesn’t use any technical components other than a telephone
contact which is highly unreliable.
Proposed system only requires a web browser and any third party application or
even the basic email service for the smooth and effective operation of the system.
The proposed system can be built based on existing technology and mix of current
technology.
As the existing system is analogue, we can use current technology to implement the
operations of the old system in the new one.
Further updates after the initial application can support new technology and addition
of new services.
The proposed system can be technically enhanced as the need grows or changes in
future.
Operational Feasibility:-
The management will provide support and training to use the proposed system after the
implementation and testing.
The user environment will not be effected once the operation of system is started as the
updates are easy and user understandable.
Proposed system makes sure that the computer resources and network architecture of
user system are workable.
The size of the application is minimal and consumes less memory consumption and
CPU usage.
Legal Feasibility:-
There are no patents or software licensed based on the current technology hence the
system is legally feasible.
Our country’s law allows the use of automated documenting and tracking services, our
system will abide by any and all the rules imposed by the government.
The system further will be a open source project downloadable and installable by
anyone under fair usage policy with terms and conditions applied.
Cultural & social Feasibility:-
The system will be a web application which may be managed by the government or
nonprofit organizations hence the system is ensured to uphold social values
Main objective of this system is to provide a facility for different users to socially
communicate and serve people in need.
As per the main motto of the system “minimum wastage and maximum usage of food “
this will be delivered after the installation of the system into the society
India is rich in culture and social values , similarly the system ensures balance in
cultural and ethnic diversity
Usage of different utensils, tagging and storage of vegan and non-vegan food
separately ensure the religious views and food habits of the receiver or user is not
disturbed
CHAPTER 4
USER APPLICATION
ENVIRONMENT
CHAPTER 4
4.1.1 NET
The .NET Framework is not a single application, it’s actually a collection of different
technologies bundled into one marketing term. The .NET Framework includes new languages like
C# and VB.NET, an engine for hosting programmable web pages and web services (ASP.NET), a
new model for interacting with databases (ADO.NET) and a class library stocked with tools for
everything from sending email to encrypting a password. The .NET technology facilitates to learn
about component based programming, structured error handling and how to access the files, XML
and relational databases.
The .NET language : These include C# and Visual Basic .NET, the object-oriented and
modernized successor to Visual Basic 6.0, as well as Jscript.NET ( a server side version of
Java Script), J# ( a Java Clone), and C++ with manage extensions.
ASP.NET: This is the engine that includes both web applications and web services, with
almost any feature from the .NET class library. ASP.NET also includes a set of web
specific services.
Windows Form: This is the engine that is used to develop Windows based applications
which is also known as standalone applications. Like ASP this also has various controls and
tools which can be used to design the user interface. Windows forms are best suited for the
applications of installation type
Visual Studio .NET: This optional development tool contains a rich set of productivity and
debugging features.
The code written in .NET is not compiled directly to the execution; instead .NET uses two steps
to compile the code. First, the code is compiled to an Intermediate Language called
Microsoft Intermediate Language (MSIL). Second, the compiled code will be recompiled with the
Common Language Runtime (CLR), which converts the code to the machine code. The basic idea
of these two stages was to make the code language independence.
Microsoft introduced great technologies like COM, DCOM, COM+ etc. to enable reuse of
Software. Although these technologies are very powerful to reuse Software, they required a huge
learning curve. According to this aspect, Microsoft realized that its time to come up with a new
technology, a better one, an easier one, a new Framework, within which each programming task is
easy accomplished.
The major components of the .NET framework are shown in the below diagram:
Features Of .NET
Interoperability - Because so many COM libraries have already been created, the .NET
Framework provides methods for allowing interoperability between new code and existing
libraries.
Common Runtime Engine - Programming languages on the .NET Framework compile
into an intermediate language known as the Common Intermediate Language or CIL.
Microsoft's implementation of CIL is known as Microsoft Intermediate Language or MSIL.
In Microsoft's implementation, this intermediate language is not interpreted but rather
compiled in a manner known as just-in-time compilation (JIT) into native code. The
combination of these concepts is called the Common Language Infrastructure (CLI), a
specification; Microsoft's implementation of the CLI is known as the Common Language
Runtime (CLR).
Language Independence - The .NET Framework introduces a Common Type System or
CTS. The CTS specification defines all possible data types and programming constructs
supported by the CLR and how they may or may not interact with each other. Because of
this feature, the .NET Framework supports development in multiple programming
languages.
Base Class Library - The Base Class Library, sometimes referred to as the Framework
Class Library, is a library of types available to all languages using the .NET Framework.
The BCL provides classes which encapsulate a number of common functions such as file
reading and writing, graphic rendering, database interaction, XML document manipulation,
and so forth.
Simplified Deployment - Installation and deployment of Windows applications has been
the base of many developers' existence. Registry settings, file distribution and DLL hell
have been nearly completely eliminated by new deployment mechanisms in the .NET
Framework.
Security - .NET allows for code to be run with different trust levels without the use of a
separate sandbox.
The design of the .NET framework is such that it supports platform independence. That is, a
program written to use the framework should run without change on any platform for which the
framework is implemented. At present, Microsoft has implemented the full framework only on the
Windows operating system. Microsoft and others have implemented portions of the framework on
non-Windows platforms, but to date those implementations are not widely used.
4.1.2 ASP.NET:
The ASP.NET application codes can be written in any of the following languages:
C#
Visual Basic.Net
Jscript
J#
ASP.NET is used to produce interactive, data-driven web applications over the internet. It
consists of a large number of controls such as text boxes, buttons, and labels for
assembling, configuring, and manipulating code to create HTML pages.
o Server Controls
o Master Pages
o Membership
o Routing
o State Management
o Security
o Performance
o Error Handling
Visual Studio includes a code editor supporting IntelliSense (the code completion component) as
well as code refactoring. The integrated debugger works both as a source-level debugger and a
machine-level debugger. Other built-in tools include a forms designer for building GUI
applications, web designer, class designer, and database schema designer. It accepts plug-ins that
enhance the functionality at almost every level—including adding support for source-control
systems (like Subversion) and adding new toolsets like editors and visual designers for domain-
specific languages or toolsets for other aspects of the software development lifecycle (like the
Team Foundation Server client: Team Explorer).
Visual Studio supports different programming languages and allows the code editor and
debugger to support (to varying degrees) nearly any programming language, provided a language-
specific service exists. Built-in languages include C, C++ and C++/CLI (via Visual C++), VB.NET
(via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual Studio 2015). Support for other
languages such as M, Python, and Ruby among others is available via language services installed
separately. It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Java (and J#) were
supported in the past.
Microsoft provides "Express" editions of its Visual Studio at no cost. Commercial versions of
Visual Studio along with select past versions are available for free to users via Microsoft's Dream
Spark program
4.1.4 HTML5
HTML stands for Hyper Text Mark-up Language. It is used to design web pages using mark-up
language. HTML is the combination of Hypertext and Mark-up language. Hypertext defines the
link between the web pages. Mark-up language is used to define the text document within tag
which defines the structure of web pages. HTML 5 is the fifth and current version of HTML. It has
improved the mark-up available for documents and has introduced application programming
interfaces (API) and Document Object Model (DOM).
Features:
It has introduced new multimedia features which supports audio and video controls by using
<audio> and <video> tags.
There are new graphics elements including vector graphics and tags.
Enrich semantic content by including <header><footer>, <article>, <section> and <figure>
are added.
Drag and Drop- The user can grab an object and drag it further dropping it on a new
location.
Geo-location services- It helps to locate the geographical location of a client.
Web storage facility which provides web application methods to store data on web browser.
Uses SQL database to store data offline.
Allows to draw various shapes like triangle, rectangle, circle, etc.
Capable of handling incorrect syntax.
Easy DOCTYPE declaration i.e. <!doctype html>
Easy character encoding i.e. <meta charset=”UTF-8″>
4. 1. 5 CSS3
CSS stands for Cascading Style Sheets. CSS is a standard style sheet language used for describing
the presentation (i.e. the layout and formatting) of the web pages. Prior to CSS, nearly all of the
presentational attributes of HTML documents were contained within the HTML mark-up
(specifically inside the HTML tags); all the font colors, background styles, element alignments,
borders and sizes had to be explicitly described within the HTML.
As a result, development of the large websites became a long and expensive process, since the style
information were repeatedly added to every single page of the website.
To solve this problem CSS was introduced in 1996 by the World Wide Web Consortium (W3C),
which also maintains its standard. CSS was designed to enable the separation of presentation and
content. Now web designers can move the formatting information of the web pages to a separate
style sheet which results in considerably simpler HTML mark-up, and better maintainability.
CSS3 is the latest version of the CSS specification. CSS3 adds several new styling features and
improvements to enhance the web presentation capabilities.
The biggest advantage of CSS is that it allows the separation of style and layout from the content of
the document. Here are some more advantages, why one should start using CSS?
CSS Save Lots of Time — CSS gives lots of flexibility to set the style properties of an
element. You can write CSS once; and then the same code can be applied to the groups of
HTML elements, and can also be reused in multiple HTML pages.
Easy Maintenance — CSS provides an easy means to update the formatting of the
documents, and to maintain the consistency across multiple documents. Because the
content of the entire set of web pages can be easily controlled using one or more style
sheets.
Pages Load Faster — CSS enables multiple pages to share the formatting information,
which reduces complexity and repetition in the structural contents of the documents. It
significantly reduces the file transfer size, which results in a faster page loading.
Superior Styles to HTML — CSS has much wider presentation capabilities than HTML
and provide much better control over the layout of your web pages. So you can give far
better look to your web pages in comparison to the HTML presentational elements and
attributes.
Multiple Device Compatibility — CSS also allows web pages to be optimized for more
than one type of device or media. Using CSS the same HTML document can be presented
in different viewing styles for different rendering devices such as desktop, cell phones, etc.
4.1.6. JavaScript
Features
Universal support
All popular modern Web browsers support JavaScript with built-in execution environments.
Weakly typed
JavaScript is weakly typed, which means certain types are implicitly cast depending on the
operation used. JavaScript has received criticism for the way it implements these conversions as
well as the inconsistency between them
4.1.7 MSSQL
Features of MSSQL
Always on availability groups -- This feature takes database mirroring to a whole new
level.
Column store Indexes -- This a cool new feature that is completely unique to SQL Server.
They are special type of read-only index designed to be use with Data Warehouse queries.
Basically, data is grouped and stored in a flat, compressed column index, greatly reducing
I/O and memory utilization on large queries.
User-Defined Server Roles -- DBAs have always had the ability to create custom database
role, but never server wide.
Enhanced Auditing Features -- Audit is now available in all editions of SQL Server. New
filtering features give greater flexibility in choosing which events to write to the log.
BI Semantic Model -- This is replacing the Analysis Services Unified Dimensional Model
(or cubes most people referred to them). It's a hybrid model that allows one data model will
support all BI experiences in SQL Server.
Sequence Objects -- A sequence is just an object that is a counter -- a good example of it's
use would be to increment values in a table, based a trigger. SQL has always had similar
functionality with identity columns, but now this is a discrete object.
Enhanced Power Shell Support -- Windows and SQL Server admins should definitely
start brushing up on their Power Shell scripting skills.
Distributed Replay -- Distributed replay allows you to capture a workload on a production
server, and replay it on another machine. This way changes in underlying schemas, support
packs, or hardware changes can be tested under production conditions.
Power View -- You may have heard of this under the name "Project Crescent" it is a fairly
powerful self-service BI toolkit that allows users to create mash ups of BI reports from all
over the Enterprise.
Relational Database System: Like almost all other database systems on the market, MSSQL is a
relational database system.
SYSTEM ANALYSIS
CHAPTER 5
SYSTEM ANALYSIS
This application will be a web application which can run on any web browser which meets
the minimum requirements .This system automates the processes which were manual in the
existing systems through this automation it also helps us in overcoming the problems that we face
in the conventional method. In this system Food Donor, Food receiver, Transporter, admin are the
main modules where Food Donor can be any organization/Person who wants to donate food, he can
create a new food donation request and Food receiver can be any charity firm seeking for food. A
new food donation request will be created on the portal and once the request is accepted, a
notification is sent to Transporter who is responsible for moving food from food donor to food
receiver.
1. Automated logging of the data helps to track and minimize food wastage.
2. Data of donors, receivers, trusts, NGOs, Transporters, inspectors etc are digitally stored and
available across the system.
3. Tracking of resources enables transparency and ensures the proper usage of system.
4. Digital ID for food products for different type ensures the food is safe by recording the shelf
life of food and this ID is used to assign the food's delivery location.
5. Saves time and money.
6. Avoids wastage of food.
7. Provides 24 x 7 support.
8. Fights against hunger, malnutrition, poverty and economic instability.
9. Builds a nation by feeding its needy citizens efficiently and boosts strength, status and Self
confidence of the same.
10. Promotes the Idea of giving to the society and accounts for sustainable development.
CHAPTER 6
SYSTEM REQUIREMENTS
AND
SPECIFICATION
CHAPTER 6
6.1 INTRODUCTION
The software requirements specification document enlists enough and necessary requirements that
are required for the project development. To derive the requirements we need to have clear and
thorough understanding of the products to be developed or being developed. This is achieved and
refined with detailed and continuous communications with the project team and customer till the
completion of the software.
Functional requirements capture the intended behaviour of the system. This behaviour may be
expressed as services, tasks or functions the system is required to perform.
• Registration
The user will enter the details like Name, Username, Password, Email, and Phone etc. to
store the data into the server, which will be used by the user to enter into application.
• Login
The user will specify his credentials like Username and Password to enter into the application
for using the application.
User Management
In this module, the registered users will be managed by the admin. The admin can view or
delete the registered users based on the requirement.
Food Management
In this module, the registered user Donates Food will be managed by the admin. The admin can
view or delete.
1. Security
2. Usability
3. Maintainability
4. Extensibility
1. Security:
The application provides complete security for where the users of this application having
unique username and password to access this facility which provides complete security through
user authentication.
2. Usability:
The proposed system find extended application in all the sectors where teachers and users
interact together using computers linked to a network such as the Internet. Which allows a users to
attend a class from anywhere in the world and aims to provides a learning experience that is similar
to a real classroom.
3. Maintainability:
Since we are using the .net software to support our application no maintenance is very easy
and economical also. Through virtual class we can greatly reducing the travel, time, and expense of
on-site teaching/training programs.
4. Extensibility:
This application has various other features like Interaction between the admin, donor ,
receiver and the transporter , this will happen via e-mail, phone, forums etc.
Most software defines two sets of system requirements: minimum and recommended. With
increasing demand for higher processing power and resources in newer versions of software,
system requirements tend to increase over time. Industry analysts suggest that this trend plays a
bigger part in driving upgrades to existing computer systems than technological advancements. A
second meaning of the term of System requirements is a generalization of this first definition,
giving the requirements to be met in the design of a system or sub-system. Typically an
organization starts with a set of Business requirements and then derives the System requirements
from there.
• Ram : 4 GB or above
SYSTEM DESIGN
CHAPTER 7
SYSTEM DESIGN
System design is the phase that bridges the gap between problem domain and the existing
system in a manageable way. This phase focuses on the solution domain, i.e. “how to implement?”
It is the phase where the SRS document is converted into a format that can be implemented
and decides how the system will operate.
In this phase, the complex activity of system development is divided into several smaller
sub-activities, which coordinate with each other to achieve the main objective of system
development.
7.1 Introduction
Three-tier architecture
Three-tier (layer) is a client-server architecture in which the user interface, business process
(business rules) and data storage and data access are developed and maintained as independent
modules or most often on separate platforms.
The Architecture of Application is based on three-tier architecture. The three logical tiers are
Flexibility:
Reusability:
Reusability of business logic is greater for the presentation layer. As this component is
developed and tested, we can use it in any other project and would be helpful for future use.
Security:
More secured architecture since the client cannot access the database directly.
Presentation tier
The presentation tier for the application System is Web Forms with Pages. The presentation tier
takes care of the user interaction and the visual part of the website. The various Web forms used by
clients are listed below.
Middle Tier
The Middle Tier or Business Logic layer consists of Admin, Users pages that includes in an
application.
Data Tier
The Data Tier layer consists of database such as MSSQL which helps to store data. The data tier
mainly concentrated on manipulating the data using a database management system. Here we
implement the data tier using MS Access. Different varieties of data base are Oracle, SQL
Detailed design starts after the system design phase is completed and the system design has
been certified through the review. The goal of this phase is to develop the internal logic of each of
the modules identified during system design.
In the system design, the focus is on identifying the modules, whereas during detailed design the
focus is on designing the logic for the modules. In other words in system design attention is on
what components are needed, while in detailed design how the components can be implemented in
the software is the issue.
The design activity is often divided into two separate phase system design and detailed design. In
the second level the internal design of the modules or how the specifications of the module can be
satisfied is decided. This design level is often called detailed design or logic design.
DFD graphically representing the functions, or processes, which capture, manipulate, store,
and distribute data between a system and its environment and between components of a system.
The visual representation makes it a good communication tool between User and System
designer. Structure of DFD allows starting from a broad overview and expands it to a hierarchy
of detailed diagrams. DFD has often been used due to the following reasons:
Logical information flow of the system
Determination of physical system construction requirements
Simplicity of notation
Establishment of manual and automated systems requirements
Basic Notations
Process: Any process that changes the data, producing an output. It might perform computations,
or sort data based on logic, or direct the data flow based on business rules. A short label is used to
describe the process, such as “Submit payment.”
Data store: files or repositories that hold information for later use, such as a database table or a
membership form. Each data store receives a simple label, such as “Orders.”
External entity: an outside system that sends or receives data, communicating with the system
being diagrammed. They are the sources and destinations of information entering or leaving the
system. They might be an outside organization or person, a computer system or a business system.
They are also known as terminators, sources and sinks or actors. They are typically drawn on the
edges of the diagram
Data flow: the route that data takes between the external entities, processes and data stores. It
portrays the interface between the other components and is shown with arrows, typically labelled
with a short data name, like “Billing details.
Data Flow Diagram
View Recievers
Food
Specification
Feed India
Get
Donate food
acknowledgement
Send
Acknowledgment View Donation
Manage Reciever
Admin
Reciever data
Delete
Reciever
Login
View Donor
Manage
Donor
Donor data
Delete Donor
View
Donation
Manage
Donation
Donation
data
Delete
Donation
View
Doantion Data
Donation
Register
Reciever
Login Fetch Donor Donor Data
data
Send
Acknowledgement
Donor
Food
Specification
Register
Get
Acknowledgement
View Reciever
Reciever Data
Use case diagram is a graph of actors, a set of use cases enclosed by a system boundary,
communication associations between the actor and the use case. The use case diagram describes how a
system interacts with outside actors; each use case represents a piece of functionality that a system provides
to its users. A use case is known as an ellipse containing the name of the use case and an actor is shown as a
stick figure with the name of the actor below the figure.
The use cases are used during the analysis phase of a project to identify and partition system functionality.
They separate the system into actors and use case. Actors represent roles that are played by user of the
system. Those users can be humans, other computers, pieces of hardware, or even other software systems.
Feed India
Login
Manage donor
Manage Reciever
Logout
Register
Login
View Donation
Send
Acknowledgement
Logout
Feed India
Register
Login
Food Specification
Donate food
Get
Donor
Acknowledgement
View Receiver
Logout
A sequence diagram shows object interactions arranged in time sequence. It depicts the
objects and classes involved in the scenario and the sequence of messages exchanged between the
objects needed to carry out the functionality of the scenario. Sequence diagrams are sometimes
called event diagrams, event scenarios.
UML sequence diagrams are used to represent or model the flow of messages, events and
actions between the objects or components of a system. Time is represented in the vertical direction
showing the sequence of interactions of the header elements, which are displayed horizontally at
the top of the diagram Sequence Diagrams are used primarily to design, document and validate the
architecture, interfaces and logic of the system by describing the sequence of actions that need to be
performed to complete a task or scenario. UML sequence diagrams are useful design tools because
they provide a dynamic view of the system behaviour.
Credentials
Admin Homepage rendered Validated
View/Delete
Fetch info
Donors
View/Delete
Receiver Fetch info
View/Delete
Fetch Info
donation
Logout
Logout
Registered Credentials
successfully Validated
Login validate
Login
successfully
Food
Store
Specification
store donation
Donate food
details
Logout
Logout
Registered Credentials
successfully Validated
Login validate
Login
successfully
Sent message
Send Message
displayed
Logout
Logout
Basic Notations
Initial Activity
*This shows the starting point or first activity of the flow. It is denoted by a solid circle.
Final Activity
*The end of the Activity diagram is shown by a bull's eye symbol, also called as a final activity.
Activity
Decisions
Workflow
Workflow is depicted with an arrow. It shows the direction of the workflow in the activity diagram.
Admin login to
Application
False
Valid
True
Delete Delete
View Donors Delete Donors View Receivers View Donation
Receivers Donation
Donor login to
Application
False
Valid
True
Food
Donate food View Donation
Specification
Get
View Receiver
Acknoledgment
Receiver login to
Application
False
Valid
True
Send
View Doantion Fetch Donor
Acknoledgment
Entity Relationship Diagram depicts the various relationships among entities, considering
each objective as entity. Entity relationships are described by their dependence on each other, as
well as the extent of the relationship between the data stores. It depicts the relationship between
data objects. The ER diagram is a notation that is used to conduct the data modelling activity.
1
1
Admin Manage
Manages
1
password
Make
*
Receiver_id
Event_id
* *
Donation View
*
Discription
userName
Get Amount
Send
Acknowledgement
ReciverName
Ack_id
DonorName
SYSTEM IMPLEMENTATION
Chapter 8
System Implementation
8.1 Introduction
The term implementation has different meanings ranging from the conversation of a basic
application to a complete replacement of a computer system. The procedures however, are virtually
the same. Implementation includes all those activities that take place to convert from old systems to
new the new system may be totally new replacing and existing manually or automated system or it
may be major modification to an existing system
Generalised algorithms can be written as pseudo codes which are easy to understand and
explain.
Step 2: Admin view the list of users verify them and give approval
Step 3: Admin give the users register and also delete based on the requirement
Step 4: Admin view the list of Food added by the user and manages it
Step 5: Logout
Step 6: Logout
8.3 Code
<head runat="server">
<meta charset="utf-8"/>
<title>MANAGE DONATIONS</title>
</head>
<body>
<![endif]-->
<header>
<div class="container">
<div class="logo-img">
<a>
</a>
</div>
</div>
}
catch
{
}
finally
{
con.Close();
Response.Redirect("donations.aspx");
}
}
if (e.CommandName == "View")
{
int x = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[x];
Response.Redirect("managefood.aspx?Did=" + row.Cells[0].Text);
}
}
}
CHAPTER 9
SYSTEM TESTING
CHAPTER 9
SYSTEM TESTING
9.1 Introduction
Testing is the major process involved in software quality assurance (QA). It is iterative process.
Here test data is prepared and is used to test the modules individually. System testing makes sure
that all components of the system function properly as a unit by actually forcing the system to fail.
• The test cases should be planned before testing begins. Then as the testing progresses,
testing shifts focus in an attempt to find errors in integrated clusters of modules and in the
entire system. The philosophy behind testing is to find errors. Actually testing is the estate
of implementation that is aimed at ensuring that the system works actually and efficiently
before implementation.
• Testing is done for each module. After testing all the modules, the modules are integrated
and testing of the final system is done with the test data, specially designed to show that the
system will operate successfully in all its aspects conditions. The procedure level testing is
made first. By giving improper inputs, the errors occurred are noted and eliminated. Thus
the system testing is a confirmation that all is correct and an opportunity to show the user
that the system works.
• The final step involves Validation testing, which determines whether the software function
as the user expected. The end-user rather than the system developer conduct this test most
software developers as a process called “Alpha and Beta test” to uncover that only the end
user seems able to find.
• This is the final step in system life cycle. Here we implement the tested error-free system
into real-life environment and make necessary changes, which runs in an online fashion.
Here system maintenance is done every months or year based on company policies, and is
checked for errors like runtime errors, long run errors and other maintenances like table
verification and reports.
• During the requirement analysis and design, the output is a document that is usually textual
and non-executable. After the coding phase, computer programs are available that can be
executed for testing purpose. This implies that testing not only has to uncover errors
introduced during coding, but also errors introduced during the previous phases.
WHITE BOX TESTING
White Box Testing is a testing in which in which the software tester has knowledge of
the inner workings, structure and language of the software, or at least its purpose. It is purpose. It
is used to test areas that cannot be reached from a black box level.
Unit Testing
Integration Testing
Regression Testing
Security Testing
Functional Testing
Performance Testing
System Testing
Unit testing verification efforts on the smallest unit of software design, module. This is
known as “Module Testing”. The modules are tested separately. This testing is carried out during
programming stage itself. In these testing steps, each module is found to be working satisfactorily
as regard to the expected output from the module.
Performance testing is the process of determining the speed, responsiveness and stability of
a computer, network, software program or device under a workload. Performance testing can
involve quantitative tests done in a lab, or occur in the production environment in limited scenario
When the system has no measure problem with its accuracy, the system passes through a final
acceptance test. This test confirms that the system needs the original goal, Objective and
requirements established during analysis. If the system fulfils all the requirements, it is finally
acceptable and ready for operation.
Once individual module testing completed, modules are assembled to perform as a system. Then
the top down testing, which begins from upper level to lower level module testing, has to be done
to check whether the entire system is performing satisfactorily.
After unit and integration testing are over then the system as whole is tested. There are two general
strategies for system testing.
They are:
Code Testing
Specification Testing
9.2.8 a) Code Testing
This strategy examines the logic of the program. A path is a specific combination of conditions
handled by the program. Using this strategy, every path through the program is tested.
This strategy examines the specifications stating what the program should do and how it should
perform under various conditions. The test cases are developed for each condition of developed
system and processed. It is found that the system developed perform according to its specified
requirements. The system is used experimentally to ensure that the software will run according to
tits specification and in the way user expect.
Specification Testing is done successfully by entering various types of end data. It is checked for
both valid and invalid data and found System is working properly as per requirement
A software project test plan is a document that describes the objectives, scope approach and
focus of a software testing effort. This process of preparing a test plan is a useful way to think
through the efforts needed to validate the acceptability of a software product. The completed
document will help the people outside the test group understand ‘Why and How’ of production
validation. Different test plans are used at different levels of testing.
Each module is tested for correctness whether it is meeting all the expected results. Condition loops
in the code are properly terminated so that they don’t enter into an infinite loop. Proper validations
are done so as to avoid any errors related to data entry from user.
9.2.10 Test Cases
Test Case
Expected result
Number Testing Scenario Result
Registration Testing
TC – 01 Clicking submit without entering details Alert "Please fill all details" Pass
TC – 02 Clicking submit without entering Username Alert "Please fill Username" Pass
TC – 03 Clicking submit without entering password Alert "Please fill Password" Pass
TC – 04 Clicking submit without entering email id Alert "Please fill email id" Pass
Login Testing
SYTEM SCREENSHOTS
HOME PAGE : HEADER
CHAPTER 11
Hundreds of thousands of tons of food are either lost or wasted while millions of people
suffer from malnutrition. A plausible initiative is the food donation portal in which large retail
chains and potentially other organizations can donate food. This food is collected and delivered by
Third Party vendor to NGO in need. Food donation portal will help thousands of people that suffer
from starvation and also consume food that are wasted with no reason.. As consequence, research
and actions are needed to improve the efficiency of food donation portal.
The application development is and will be purely intend on non profit works, Government,
NGOs , Organisations, places of interest and people will surely benefit from the system and the
receiver will get good food and a bright future where there is no place for hunger and malnutrition.
That’s the motto and will be carried out in our further enhancements.
REFERENCES
&
BIBLIOGRAPHY
CHAPTER 12
12.1 REFERENCES
1.W3 schools - https://www.w3schools.com/
4. Github- https://github.com/
7. https://softwaretestinghelp.com/
8. C# guide at – https://codecademy.com
12.2 BIBLIOGRAPHY
I. Komal Raut, Nimesh Shah, Akash Thorat, “ Food donation portal” [1]
http://ijarcet.org/wpcontent/uploads/IJARCET-VOL-5-ISSUE-4-906-908.pdf
II. Dhruvi Shah, Adnan Ansari, Ruchi Sharma,“ Helping Hands” [2]
http://ijsrd.com/Article.php?manuscript=IJSRDV4I110485
III. Hitesh Raut, Swapnil Rajput, Danjhan Nalavade, “Smartphone based food supply
chain for Aurangabad city using GIS location based and google web services”
https://ieeexplore.ieee.org/document/7580874/metrics
IV. Issac Nuamah, Lauren Davis, Steven Jiang, “ Predicting donations of forecasting
simulation model” [3] https://dl.acm.org/citation.cfm?id=2888832
V. Aaron Ciaght, “Beyond food sharing: Supporting food wastage reduction “[4]
http://esatjournals.net/ijret/2016v05/i04/IJRET20160504058.pdf
VI. Amir Saxena. Khushi Verma, Aadit Patil, “ Development of a food supply chain by
PHP” https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2610113/
VII. https://www.mecknc.gov/LUESA/SolidWaste/BusinessRecycling/Documents/WO
W_FoodWasteBook_v2.pdf
VIII. http://www.eesc.europa.eu/en/agenda/our-events/events/food-donation-fighting-
food-poverty-and-addressingfood-waste#downloads.