Kitchen Helper
You are asked to design a PC-based application called Kitchen
Helper that will replace the index card system of recipes
found in the average kitchen. You have a license agreement with
SQLPlus, a database company, to bundle their database software
with your product.
The Kitchen Helper comes with a database of recipes. Each
recipe is of the following format:
- name of the dish
- list of ingredients and amount needed
- directions for preparing the dish
- number of people it will serve
- type - whether it is an appetizer, main course, side dish, or dessert
- calorie information
But the Kitchen Helper is more than a database of recipes. The
user can add recipes in the standard format. The user can delete recipes
from the database. The user can search for recipes by name or type.
The user can sit down at a terminal, browse the database of recipes, and
interactively create a series of menus for a single meal or for an
extended period of time, say a week. A menu is a list of dishes (or
recipes) for a meal. The user can store a menu for future use or select
from a list of previously generated menus that have been stored. Menus
are identified by a name.
The Kitchen Helper will automatically scale the recipes to any
number of servings and will print out menus for the entire week, for a
particular day, or for a particular meal. And it will print an integrated
grocery list of all the the ingredients needed for the recipes for the
entire period.
Use Case Analysis
You are required to do a use-case analysis of the system requirements
that are presented to you in the above description. You will need to:
- List the actors for this system
- Draw a use case diagram
- Write a verbal description of each use case. Your description should
contain:
- Name of the use case
- Brief description of the use case
- Basic Flow
- Alternative Flows (if any)
- Pre-conditions
- Post-conditions
Sequence Diagram
For the use cases Create Menu and Print Grocery List identify
the boundary, control, and entity class(es). Draw a sequence diagram that shows
the sequence of steps in time from the moment the user starts the Kitchen
Helper application to the printing of the Grocery List.