Software Design Document
Software Design Document
Software Design Document
1
Table of Contents
2
1.0 System Vision
1.1 Problem Background
State and local health departments usually conduct three different kinds of restaurant
food safety inspections. The most common is known as a routine inspection and is
conducted as often as every six months or as infrequently as every 18 months,
depending on the type of food served and the restaurant's inspection history. The two
other types of inspections are follow-up inspections to resolve outstanding violations
and inspections triggered by a consumer complaint.
In most state and local health departments, routine inspections are scheduled based on
a risk-based system that weighs the likelihood of a restaurant being the source of a
foodborne illness. Higher-risk establishments are inspected more frequently than low-
risk restaurants and are based on standardized risk factors established by the FDA.
The first risk factor has to do with the type of food served at the restaurant and how
it's prepared. A corner deli that assembles cold-cut sandwiches, but doesn't actually
cook anything, is considered a lower risk than a burger joint that handles and cooks
raw ground beef. Likewise, a sushi bar is considered an even higher risk if it actually
serves customers raw or undercooked seafood.
The second risk factor is a restaurant's inspection and compliance history. If a soup-
and-salad joint has a recent record of violations, it's going to be inspected more
frequently than the sandwich place around the corner that routinely aces its
inspections. Restaurants with the very highest risk are those that have been the source
of a known foodborne illness outbreak.
Restaurants are assigned an initial risk level when they're licensed, but that can
change over the course of routine inspections. The highest-risk restaurants will get
inspected every six months, medium-risk places every 12 months and low-risk
establishments every 18 months. If a restaurant is the cause of an outbreak, it will be
inspected every three months for the next year. Inspection schedules are computer-
generated for maximum efficiency and fairness.
In some cases, an inspector will cite a violation that requires a follow-up visit.
Follow-up inspections are usually conducted within a week of the violation, especially
if it poses a serious risk of foodborne illness.
Inspections also happen because of consumer complaints. All health departments have
consumer hotlines and online forms for reporting unhygienic conditions, unsafe food
handling or possible food poisoning from restaurants. Even though it's not always
easy to identify the source of a foodborne illness, health departments follow up on
every consumer complaint and look for unsafe cooking or cooling practices, or
expired ingredients, that could have made customers sick.
3
1.2 System Overview
Inspection and monitoring programmes are at the heart of the enforcement system. In
the old conception of food control, inspection activities focused on sampling and
testing of end products to determine their compliance with regulations.
It is now considered more efficient to focus inspection activities on ensuring
compliance of systems for food safety management (implementation of the general
principles for food hygiene and HACCP based approaches) that can minimise the
occurrence of food safety problems.
This shift from a “reactive” towards a “preventive” approach to food safety risks is
subject to a general international consensus.
This new approach requires that inspectors have new skills (i.e the ability to analyse
processes and assess the relevance and efficiency of different paths to reach a food
safety outcome, rather than merely checking for compliance with prescriptive
provisions).
While inspection primarily focuses at ensuring compliance of food business operators
with regulatory requirements, monitoring programmes are aiming at a systematic
gathering information on food safety in a specific context, thus providing a
“picture”of a given situation.
They provide data which are used in risk based planning, allowing for example a
more focused programming of inspection activities, as well as other regulatory
(elaboration of new regulations) and non regulatory strategies (training and
sensitization programmes among food business operators, consumers) and policy
level decisions.
They are also a tool for increased credibility of food control systems on international
markets.
We support national authorities in their shift towards risk based food inspection and
monitoring activities in providing tools and tailor made technical assistance (specific
advice and training courses) on:
● The use the risk analysis framework for building monitoring and inspection
programmes.
● The management of inspection programmes and services.
● Technical skills requested for risk based inspection.
● Specific sampling issues ( e.g. impact of different options for sampling plans,
sampling techniques in relation to specific contaminants).
4
Guarantee Your Restaurant Is Completely Clean
The first benefit of conducting your own inspections is pretty evident: your restaurant
will remain clean. Since your employees know you're going to do a restaurant
inspection (with exactly the same checklist used by the health inspector), you can be
sure they'll properly clean everything. Including behind and underneath equipment,
the ice machine, and the menus. Routine inspections also allow you to know if your
employees are cleaning their assigned areas. Over time, this will help you develop a
strong cleaning culture in your restaurant.
Detect (and Correct) Any Potential Health Code Violations Before They Become
a Foodborne Illness Outbreak
After you conduct your self-inspection (with the same criteria and checklist used by
the health inspector), you'll know exactly how many minor and major violations to the
health code are being committed in your restaurant.
With this important information, you can take action and erase all potential health
code violations before the health inspector shows up and more importantly before
your restaurant starts serving unsafe food brimming with harmful toxins produced by
Listeria, E. Coli, Salmonella, Campylobacter, and other disease-causing agents.
When you conduct routine self-inspections, you motivate your staff to clean their
assigned areas, follow proper food safety guidelines, and you can also detect (and
correct) any potential health code violations. When it's time for your real health
inspection, you and your employees will be fully prepared and you'll be able to obtain
a perfect grade. The health inspector will be impressed because your restaurant is in
complete compliance with the all-important Food Code.
Without doubt, routine self-inspections are essential to make sure your restaurant is
serving safe food. If you're looking to learn more secrets and strategies to ensure
you're serving 100% safe food every day. or you need a Food Safety Manager
Certification then you've got to take one of FNA Safety's accredited programs on food
safety. You can choose from live classes led by expert instructors or comprehensive
online courses you can take from your home.
5
2.0 Requirements
2.1 User Requirements
Safety food programs can be set as the measures to be taken to ensure that food can be
eaten without adversely affect to the consumer’s health. These measures aim to
prevent food contamination, such contamination are chemical, physical or
microbiological.
● Standardization of processes
Standards of Quality (SQ): refer to the parameters related to quality of products, raw
materials and inputs.
6
Standards Inspection: describe methods and criteria for assessing the degree of
success achieved in carrying out an activity, compared to planned levels of quality for
the product.
The Statistical Quality Control uses statistical tools to control a product or process. To
do this, it works with data collection and the interpretation thereof, acting as a
fundamental tool to solve problems in critical product and process.
● Inspection by sampling
● Control chart
As in the entire production process variability occurs Control Chart aims to monitor
these changes in processes, as well as to evaluate the stability of this process and
eliminate or control the causes of variations.
7
2.3 Use Cases
All Inspection report save and record according to their respective usecase in to the
system for future use.
8
UC-ID 001
Actor : Employee
Successful Completion : 1. Make sure all food is being stored at least six inches above the
ground.
2. Check all food is stored in cool and dry locations and is not
being exposed to contamination.
3. Make certain all foodstuffs and chemicals are stored separately.
4. Assess all food containers for appropriate labels documenting
what the food is and what the delivery date was.
5. Review the company use of the FIFO method - First in, first
out.
Alternative : None
Post condition : Inspect food storage practices record has been saved
successfully.
Assumption : None
UC-ID 002
Actor : Employee
9
Alternative : None
Post condition : Review freezer and refrigerator maintenance record has been
saved successfully.
Assumption : None
UC-ID 003
Actor : Employee
Alternative : None
Post condition : Assess food preparation processes record has been saved
successfully.
Assumption : None
UC-ID 004
Actor : Employee
10
Successful Completion : 1. Make sure the washing station is structured to include
separate areas for washing, rinsing, and sanitizing.
2. Check all equipment is clean to sight and touch.
3. Check all utensils are stored in covered areas to reduce
risk of contamination.
4. Make sure all perparation areas are clean to both sight
and touch.
5. Check all utensils are allowed to air dry after being
washed.
6. Assess the temperature of the water used for sanitizing
to make sure it is appropriately hot.
7. Assess the concentration of the sanitizing solution to
make sure it is of the appropriate dilution.
8. Make sure all utensils are cleaned between uses.
Alternative : None
Post condition : Inspect sanitation practices record has been saved successfully.
Assumption : None
UC-ID 005
Actor : Employee
Successful Completion : 1. Make sure garbage and refuse is properly disposed of.
2. Check the regularity of garbage and refuse disposal.
3. Inspect all bins to make sure they are equipped with
lids or covers.
4. Make sure all garbage bins are cleaned regularly.
5. Check that the area around the outside dumpster is
clean and free from signs of pests.
6. Make sure the lid of the dumpster is shut at all times.
Alternative : None
Post condition : Review refuse and garbage disposal record has been saved
successfully.
Assumption : None
11
UC-ID 006
Actor : Manager
Successful Completion : 1. Check all employees are wearing hairnets and facial
hair is also covered where appropriate.
2. Check all jewelry is limited to simple items which
reduce risk of contamination.
3. Make sure any employee with cuts or wounds is
immediately bandaged.
4. Inspect the hand washing techniques of staff and the
regularity - after touching raw food, after sneezing,
after handling money, etc.
5. Make sure all employees eat or smoke in a designated
area separate from food preparation.
6. Check all employees wear closed toe shoes and clean
clothing.
Alternative : None
Post condition : Check for appropriate employee hygiene record has been saved
successfully.
Assumption : None
UC-ID 007
Successful Completion : Now that you have performed all necessary checks, record the
overall score from 1 to 5 in the provided form field.
Alternative : None
12
Assumption : None
UC-ID 008
Actor : Manager
Successful Completion : 1. You can choose to print this checklist from the option
on the menu on the right-hand side of this screen.
2. Select print to PDF and save the document for your
records.
3. Use the upload field below to store this document, and
the email widget to send a copy of the report to the
proprietor of the establishment.
Alternative : None
Assumption : None
UC-ID 009
Actor : Manager
Successful Completion : The process for Good Manufacturing Practices (GMP) has
successfully done.
Alternative : None
13
Assumption : None
UC-ID 010
Actor : Manager
Successful Completion : The process used to Food security programs has successfully
done.
Alternative : None
Assumption : None
UC-ID 011
Actor : Manager
Successful Completion : The process used for (HACCP) has successfully done.
Alternative : None
Assumption : None
14
UC-ID 012
Actor : Manager
Successful Completion : The process used for Standardization has successfully done.
Alternative : None
Assumption : None
UC-ID 013
Actor : Manager
Successful Completion : The process used for Statistical quality control has successfully
done.
Alternative : None
Post condition : Statistical quality control record has been saved successfully.
Assumption : None
UC-ID 014
15
Actor : Manager
Successful Completion : The process used for Inspection by sampling has successfully
done.
Alternative : None
Assumption : None
UC-ID 015
Actor : Manager
Successful Completion : The process used for Control chart has successfully done.
Alternative : None
Assumption : None
16
3.0 Software Design and System Components
3.1 Software Design
(1) The action to present graphical user informational screens, messages, or dialog
screens.
(3) take action when a state variable (e.g., computing environment health indication or
software procedural status) has changed or needs to be assessed (e.g., obtain the status
of the default printer).
17
While functions that do not directly process data may not satisfy computer language
specific or mathematical criteria, they do perform significant actions within the
software engineering field of study.
Data items represent the information that flows among functions. The passing of data
between software functions represents a functional interface, such as a subroutine
invocation or “call” statement.
The controlling function passes a variable to another function that is processed and
the result returned to the controlling function. For example, a function may invoke a
temperature conversion function by passing a temperature value in Fahrenheit. The
receiving function converts the Fahrenheit temperature value to Celsius and returns
the resulting value to the controlling function.
The functional interface represents the mechanism for achieving encapsulation, the
object-oriented approach to information hiding. The passing of data between a
software function and an external application or system represents a software
interface that is specified by a software interface specification. Therefore, the
functional architecture must identify these external applications or systems outside the
boundary of the functional architecture to reflect the software interface. Software
interfaces represent a multiparty contract that must be conformed to as it pertains to
the definition of the interface design and implementation characteristics.
Global data items represent data that is accessible to any function. This type of data
item does not represent a data flow due to the “global” availability of the parametric
value. The global data value is available to all functions within the software
architecture. Local data items represent variable or constant parameters that are
declared internal to a function and not accessible to other functions. Therefore, access
to local data items does not represent a data flow.
18
A list contains elements of one particular data type. For example, a list could
contain strings. An example would be the names of all the players on a soccer
team. Each name is a string, but when you organize all the names together,
they form a list. A list is the simplest data structure.
● Search – You can find the first element with a key k and return the
pointer to this element.
● Insert – You can insert elements either at the beginning of the list, in
the end, or in the middle of the linked list.
● Delete – Similarly, you can remove elements from either beginning of
the list, from the middle, or the end of the list.
Here is the pseudoCode for linked list , it is for singly linked list .
● Create a Class For A Node . Initialise the Properties which are needed in a Node .
(value and link):
class Node:
self.value = value
19
self.link = link
● Create a Class For your linked list which will have an initialised First Node as None
and other needed methods.
class LinkedList:
def __init__(self):
self.firstNode= None
● Now create those method which you have the need (inserting , deleting , displaying)
in side the linked list class .
Inserting at starting: Create a New Node .Then check if there is already a node in
your list then link your new node to first node and then assign first node into new
node . And if there is no nodes then assign first node as new node .
def insertAtbegning(self,value):
newNode = Node(value)
if self.firstNode != None:
newNode.link = self.firstNode
self.firstNode = newNode
else:
self.firstNode = newNode
Inserting at end : Create a new node and if there is already nodes in linked list then
travel through the nodes .
def insertAtEnd(self,value):
newNode = Node(value)
if self.firstNode != None:
current = self.firstNode
current = current.link
current.link = newNode
else:
self.firstNode = newNode
20
● Create a method which can display all the nodes of your linked list . And check if list
is empty then return it and if it present then travel the list and display them
def display(self):
if self.firstNode == None:
print("List is empty")
return
current = self.firstNode
print(current.value)
current = current.link
● Create a method which can delete the element by its value , and check if the list is
empty then return it and if its not empty then check for the first element that , is it
the target ? if ys then return . And if first node is not the target then travel the list
and find .
def delete(self,value):
if self.firstNode == None:
print("list is empty")
return
if self.firstNode == value:
temp = self.firstNode
self.firstNode = temp.link
temp = None
return
current = self.firstNode
if current.link.value == value:
temp = current.link
current.link = temp.link
temp = None
21
return
current = current.link
int twoDar[4][7]
twoDar[1][4]
this refers to the element in the second row (subscript 1) in the fifth column (subscript 4).
twoDar[2]
int twoDar[3][4] = { {2, 4, 6, 8}, {1, 3, 5, 7}, {10, 11, 12, 13} };
As with single dimensional arrays, if enough values are not specified, the remaining positions
will be assigned the value 0.
int twoDar[3][4] = { {2, 4}, {1, 3, 5}, {10, 11, 12, 13} };
22
System implementation is the most important step in finalizing the approved web system. We
need to justify some basic requirements (software & hardware) so that the system will work
without having obligations and user dissatisfactions.
Software Requirement:
● Operating System:
Windows (XP, 7, 8, 8.1) or Mac OSX (Tiger, Leopard, Snow Leopard, Lion,
Yosemite).
● Web Browser:
Google Chrome, Internet Explorer (ver. 8 or later), Mozilla Firefox, Safari (Mac).
● Others:
.NET FRAMEWORK.
Hardware Requirement
● RAM:
Minimum 1GB or higher.
● HDD:
Minimum 50 GB.
● Processor:
Intel Pentium 4 or AMD.
● LAN:
Version 1.6.6.406(For fixing up client disconnection).
23
4.2 Visual Design
● Inspection checklist
24
● Inspection Report
25
● Evaluation
26
● Daily inspection form
27
28