Nothing Special   »   [go: up one dir, main page]

Software Design Document

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 28

Software Design Document

<New York Restaurant Inspection>


Student Names

1
Table of Contents

1.0 System Vision 3


1.1 Problem Background 3
1.2 System Overview 4
1.3 Potential Benefits 4
2.0 Requirements 5
2.1 User Requirements 5
2.2 Software Requirements 5
2.3 Use Cases 8
3.0 System Components and Software Design 17
3.1 System Components 17
3.2 Software Design 17
4.0 User Interface Design 23

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).

1.3 Potential Benefits

Here are four benefits of conducting inspections in your restaurant.

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.

Ensure All Employees Are Following Excellent Food Safety Guidelines

Owner placed up to eight surveillance cameras in several restaurant kitchens, found


that foodservice employees commit one action that leads to cross-contamination (and
food poisoning) every hour. This means at least 8 actions that promote cross-
contamination are happening on every 8-hour shift. However, when you conduct your
routine self-inspections, you can properly evaluate your employees' performance on
following proper food safety guidelines and you can re-train (or replace)
underperforming employees.

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.

Impress the Health Inspector

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

● Inspect food storage practices


● Review freezer and refrigerator maintenance
● Assess food preparation processes
● Inspect sanitation practices
● Review refuse and garbage disposal methods
● Check for appropriate employee hygiene
● Record your overall rating
● Generate your report and email a copy to the proprietor

2.2 Software Requirements

● Food security programs

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.

● Good Manufacturing Practices (GMP)

The Good Manufacturing Practices program is composed of a set of principles and


rules to be adopted by the food industry in order to ensure the sanitary quality of their
products.

● Hazard Analysis and Critical Control Points (HACCP)

HACCP is a system based on prevention of hazards to the industry to produce safe


food to consumers. The HACCP involves a complete analysis of the dangers in the
systems of production, handling, processing and consumption of a food product.

● Standardization of processes

Standardization is a management tool involved in the preparation, training and control


standards within the company.

Standards of Quality (SQ): refer to the parameters related to quality of products, raw
materials and inputs.

Operation Standards: describe the manufacturing process of a product, the technical


parameters of control by the operators and operating procedures.

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.

● Statistical quality control

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

The inspection process is to analyze or examine units of a product in order to verify


with its quality characteristics are in accordance with technical or contractual
specifications.

● 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

UC-Name Inspect food storage practices

Actor : Employee

Description : To record how the establishment adheres to food storage


practices.

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

Precondition : Employee registered into the system.

Post condition : Inspect food storage practices record has been saved
successfully.

Assumption : None

UC-ID 002

UC-Name Review freezer and refrigerator maintenance

Actor : Employee

Description : To make sure the establishment is employing correct fridge and


freezer maintenance approaches.

Successful Completion : 1. Make sure the thermometer is clearly visible and


working correctly.
2. Assess the temperature which different foodstuffs are
being stored at to be sure it is within the correct safe
range.
3. Check again for use of FIFO method.
4. Review the labeling practices of refrigerated and frozen
goods.
5. Check that items stored in walk-in fridges or freezers
are being stored at least six inches off the ground.
6. Make sure all epuipment and areas are clean.

9
Alternative : None

Precondition : Employee registered into the system.

Post condition : Review freezer and refrigerator maintenance record has been
saved successfully.

Assumption : None

UC-ID 003

UC-Name Assess food preparation processes

Actor : Employee

Description : Food preparation processes will impact greatly on the


contamination risks posed to the end consumer.

Successful Completion : 1. Check food is covered to protect from cross-


contamination.
2. Make sure staff are using gloves, clean hands, or
utensils when handling foodstuffs.
3. Inspect the use of tasting utensils to make sure they've
been washed after every use.
4. Monitor the thawing of frozen food to make sure it is
being done safely.
5. Check that all food is being heated to the correct
temperature when cooked.

Alternative : None

Precondition : Employee registered into the system.

Post condition : Assess food preparation processes record has been saved
successfully.

Assumption : None

UC-ID 004

UC-Name Inspect sanitation practices

Actor : Employee

Description : To cleanliness of a food outlet is a good barometer for general


adherence to health and safety practices.

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

Precondition : Employee registered into the system.

Post condition : Inspect sanitation practices record has been saved successfully.

Assumption : None

UC-ID 005

UC-Name Review refuse and garbage disposal methods

Actor : Employee

Description : Infestations is the improper disposal of refuse and garbage.

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

Precondition : Employee registered into the system.

Post condition : Review refuse and garbage disposal record has been saved
successfully.

Assumption : None

11
UC-ID 006

UC-Name Check for appropriate employee hygiene.

Actor : Manager

Description : It is impossible to prevent all food interaction with employees,


but we must take appropriate steps to make sure those
interactions are safe and clean.

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

Precondition : Manager registered into the system.

Post condition : Check for appropriate employee hygiene record has been saved
successfully.

Assumption : None

UC-ID 007

UC-Name Record your overall rating.

Actor : Manager, Employee

Description : Describe the process of record your overall rating.

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

Precondition : Employee and manager registered into the system.

Post condition : Overall rating record has been saved successfully.

12
Assumption : None

UC-ID 008

UC-Name Generate your report and email a copy to the proprietor.

Actor : Manager

Description : Describe the process of generating reports.

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

Precondition : Manager registered into the system.

Post condition : Generate report has been done.

Assumption : None

UC-ID 009

UC-Name Good Manufacturing Practices (GMP)

Actor : Manager

Description : The Good Manufacturing Practices program is composed of a


set of principles and rules to be adopted by the food industry in
order to ensure the sanitary quality of their products.

Successful Completion : The process for Good Manufacturing Practices (GMP) has
successfully done.

Alternative : None

Precondition : Manager registered into the system.

Post condition : Good Manufacturing Practices (GMP)record has been saved


successfully.

13
Assumption : None

UC-ID 010

UC-Name Food security programs

Actor : Manager

Description : These measures aim to prevent food contamination, such


contamination are chemical, physical or microbiological.

Successful Completion : The process used to Food security programs has successfully
done.

Alternative : None

Precondition : Manager registered into the system.

Post condition : Food secured.

Assumption : None

UC-ID 011

UC-Name Hazard Analysis and Critical Control Points (HACCP)

Actor : Manager

Description : HACCP is a system based on prevention of hazards to the


industry to produce safe food to consumers. The HACCP
involves a complete analysis of the dangers in the systems of
production, handling, processing and consumption of a food
product.

Successful Completion : The process used for (HACCP) has successfully done.

Alternative : None

Precondition : Manager registered into the system.

Post condition : (HACCP) record has been saved successfully.

Assumption : None

14
UC-ID 012

UC-Name Standardization of processes

Actor : Manager

Description : Standardization is a management tool involved in the


preparation, training and control standards within the company.

Successful Completion : The process used for Standardization has successfully done.

Alternative : None

Precondition : Manager registered into the system.

Post condition : Standardization record has been saved successfully.

Assumption : None

UC-ID 013

UC-Name Statistical quality control

Actor : Manager

Description : 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.

Successful Completion : The process used for Statistical quality control has successfully
done.

Alternative : None

Precondition : Manager registered into the system.

Post condition : Statistical quality control record has been saved successfully.

Assumption : None

UC-ID 014

UC-Name Inspection by sampling

15
Actor : Manager

Description : The inspection process is to analyze or examine units of a


product in order to verify with its quality characteristics are in
accordance with technical or contractual specifications.

Successful Completion : The process used for Inspection by sampling has successfully
done.

Alternative : None

Precondition : Manager registered into the system.

Post condition : Inspection by sampling record has been saved successfully.

Assumption : None

UC-ID 015

UC-Name Control chart

Actor : Manager

Description : 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.

Successful Completion : The process used for Control chart has successfully done.

Alternative : None

Precondition : Manager registered into the system.

Post condition : Control chart has been saved successfully.

Assumption : None

16
3.0 Software Design and System Components
3.1 Software Design

3.2 System Components


3.2.1 Functions

The purpose of software functions is to transform inputs into an output or product.


However, some functions will receive control flow instead of an input. Examples of
functions that receive only control flow include:

(1) The action to present graphical user informational screens, messages, or dialog
screens.

(2) take action on global data values

(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.

3.2.2 Data Structures

Data structures provide a way of storing and organizing data in a computer.


Programming uses a number of different data structures. Within a program, a
data structure is a collection of data elements that are organized in some way.
For example, a collection of elements could be organized and numbered in
sequence. Used data structures are lists and arrays.

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.

The following operations can be performed on a linked list.

● 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.

Arrays make it possible to organize data in an efficient manner because the


indices make it possible to retrieve any element. They are relatively easy to
implement. However, all the elements have to be of the same type, and
searching through a large array can be time consuming if it is not sorted.

Basically, we can perform the following operations on an array.

● Traverse – Navigate through the elements in the array and display


each of them.
● Search – We can also search for a specific element by providing the
index of the element.
● Update – Values at certain specified indexes can also be updated.

3.2.3 Detailed Design

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:

def __init__(self,value,link = None):

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

while current.link != None:

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

while current.link != None:

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

while current.link != None:

if current.link.value == value:

temp = current.link

current.link = temp.link

temp = None

21
return

current = current.link

print("Element is not found")

Here is the pseudoCode for a 2-dimensional array:

data_type array_name[number of ROWS][number of COLUMNS];

int twoDar[4][7]

To refer to a specific element in the array, must specify two subscripts.

twoDar[1][4]

this refers to the element in the second row (subscript 1) in the fifth column (subscript 4).

It's also possible to refer to a specific row:

twoDar[2]

this refers to the third row of the array.

Initializing a multi-dimensional array


An array can be initialized when it is created in a few different ways:

int twoDar[3][4] = { 2, 4, 6, 8, 1, 3, 5, 7, 10, 11, 12, 13 };

The first row (twoDar[0]) will have the values 2, 4, 6, and 8

int twoDar[3][4] = { {2, 4, 6, 8}, {1, 3, 5, 7}, {10, 11, 12, 13} };

this will produce the same results as the first declaration

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 };

int twoDar[3][4] = { {2, 4}, {1, 3, 5}, {10, 11, 12, 13} };

These will produce very different results.

4.0 User Interface Design

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).

● Database Management System:


MySQL, SQL Server, Microsoft Access, Oracle.

● Web Development System:


Visual Studio 2010 or later, Adobe Dreamweaver, Notepad, and Notepad++.

● 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).

4.1 Structural Design

23
4.2 Visual Design

● Inspection checklist

24
● Inspection Report

25
● Evaluation

26
● Daily inspection form

27
28

You might also like