Designing Software for Ease of Extension and Contraction Bob Hazen Tim Santucci Chris Dahn A Team One Presentation.

Slides:



Advertisements
Similar presentations
TYPICAL GREAT BRITAIN FOOD. BREAKFAST The breakfast begin at 7.00 o'clock and it finish at o'clock. People eat bowl of cereals, a slice of toast,
Advertisements

BASIC COOKING PRINCIPLES
Basic Techniques of Food Preparation ( 6.14) Breads and Cereals Breads and Cereals 1. Quick Breads: biscuits, muffins, pancakes, coffee cakes  Sift dry.
English Cousine. The Sunday roast The Sunday roast was the most popular feature of English cooking. As people had a six-day working week it was the time.
Traditional British meals and cuisine
FOOD. Commonly Eaten Types of Fish Salmon Cod Plaice Haddock Trout.
BEGINNING ESL LESSON. Refrigerators keep food cold. This refrigerator is full of food and drinks.
Designing Software for Ease of Extension and Contraction
Designing Software for Ease of Extension and Contraction Group 1: Lisa Anthony Erik Hayes Luiza Da Silva Diana Tetelman CS575 – Software Design Fall 2001.
English Food Vocab Words. Breakfast Lunch Dinner.
FOOD Project work from English Lenka Káčerová,3.A.
Designing Software for Ease of Extension and Contraction Presented by William Greenwell February 27, 2002.
Cooking, Not Just Reheating, in the Microwave The University of Georgia Cooperative Extension Service.
On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn.
Kitchen Tools.
British food has traditionally been based on beef, lamb, chicken and fish and generally served with potatoes and one other vegetable. The most common and.
Software Project Planning. Weinberg's Second Law If builders built buildings the way programmers wrote programs: Then the first woodpecker that came along.
our eating habits questionarie
Kitchen utensils and Processing food o0/SWxMEoDQ2bI/AAAAAAAACIg/gewddBwnv9Q/s400/31913lg.jpg.
bpotatoefp fiitbcqafo eeejuicevu lqirnxozby aggpszfsgc mxteavfish yjsidjexui oadugledip emjyhowcls onatlygvrf.
Lady Gaga Breakfast: French Toast Lunch: Burger & Fries Dinner: Chicken, veggies, mashed potatoes Snack: Brownies, Snickers Bar, Pretzels Drinks: Soda,
Some Software Engineering Principles by D. L. Parnas Presented by Team 7: Amitkumar Dhameja Cincy Francis Rong Gu CS575 - Software Design, Team 7.
BREAKFAST AND LUNCH BRUNCH Escuela de Hostelería y Turismo “Fernando Quiñones” (Cádiz) Escuela Oficial de Idiomas de Cádiz.
2. Meals I like. Food Items a bowl of rice a bowl of congee.
Food in my country BY: Mateja Dodic Mateja Arsic V/1 David Stevanovic.
 Breakfast- 1 cup of multi grain cereal, 1 medium banana, 1 cup milk (1%), 1 cup green tea  Lunch- 1 turkey sandwich, ½ cup of cottage cheese, 1 ½ cup.
Las clases de Sra. Schwarz Realidades 1. Sra. Schwarz breakfast.
BRITISH TYPICAL FOOD ENGLISH BREAKFAST FISH and CHIPS JACKET POTATOES SCONES JELLY APPLE PIE PANCAKES LEMON CURD.
Breakfast Cream of Wheat Scrambled Eggs Breakfast Pizza Vegan Tofu Pizza Eggs Cooked to Order Diced Potatoes Sausage Links Scones TODAY THURSDAY, MARCH.
Meal Planning for the Family
© SSER Ltd. Food WordWalls Appliances Equipment - 2.
CONVENIENCE FOODS. Convenience Foods  Convenience foods are used to shorten the time of meal preparation at home.  There are two types:  Ready to Eat.
Name Valeeva Anastasiya From Orenburg Breakfast Two slices of bread with cheese And a cup of tea or coffee.
1 Getting Ready to Cook Chapter
FOOD (1). 1. morning: breakfast 2. noon: lunch 3. evening: dinner.
My name is Kirill. I am 12 years old. I live in Orenburg.
Unit 5—Kitchen Appliances
Are You a healthy eater ? What do this teenager eat in a typical day ?
Special Equipment Portable Kitchen Appliances. Selecting Appliances Is it easy to clean? Is it UL approved? Does the appliance have safety features built.
Meal Planning for the Family. What’s Wrong? Breakfast Breakfast Milk Milk Cornflakes with sliced banana Cornflakes with sliced banana Toast Toast.
EQUIPMENT AND ITS USES.
Magali Pauzié Magali Pauzié $1,000 $2,500 $5,000 $10,000 $25,000 $50,000 $75,000 $150,000 $1,000.
British meals. They have 3 main meals a day: Breakfast Lunch Dinner ( sometimes called Supper) For some people still the meals are called: breakfast;
Building Good Solutions David Millard
BRITISH FOOD AND MEALS BREAKFAST
Meals and Meal Times in Britain.
Daegu International School Cafeteria Lunch Menu
My healthy menu. By: Ellie Connolly P7.
BASIC COOKING PRINCIPLES
Kitchens BEGINNING ESL LESSON.
Meal Planning for the Family
BREAKFAST MENU WEST CHESTER SENIOR CENTER
BREAKFAST FOODS & DRINKS
Menu Project Breakfast Lunch & Dinner
Designing Software for Ease of Extension and Contraction
Southern Food during the 1930s
ALL prices displayed exclude VAT.
FOOD.
Design for Ease in Contraction and Extension
Breakfast foods.
Build Your Own Yoghurt Station
COLD DRINKS Still Water 500ml £1.00
Today Thursday, April 16 Breakfast Cream of Wheat Scrambled Eggs Breakfast Pizza Vegan Tofu Pizza Eggs Cooked to Order Diced Potatoes Sausage Links Scones.
Build Your Own Yoghurt Station
Minnie’s Dinner and Shell Station
Build Your Own Yoghurt Station
Build Your Own Yoghurt Station
Build Your Own Yoghurt Station
Build Your Own Yoghurt Station
Build Your Own Yoghurt Station
Presentation transcript:

Designing Software for Ease of Extension and Contraction Bob Hazen Tim Santucci Chris Dahn A Team One Presentation

CS-575 Software Design, Team 12 Motivation Industry has produced (is still producing) a number of complaints Cannot produce a “proper subset” of functionality Extension requires major re-writes Contraction requires major re-writes Cannot customize systems due to lack of flexibility

CS-575 Software Design, Team 13 Obstacles to Expansion and Contraction Lack of information hiding Knowledge of component relationships Single component, multiple functionality Violation of “uses” hierarchical structure

CS-575 Software Design, Team 14 Program Families Classical training involves “programming by flow-chart” But, we’re designing for a changing environment Runtime environment Implementation differences User demands Designing for expansion and contraction leads to program families

CS-575 Software Design, Team 15 The Methodology Minimal subsets and minimal increments Interface definitions using information hiding Design as virtual machines “Uses” hierarchy

CS-575 Software Design, Team 16 Example – The Automated Kitchen Minimal subsets and increments Level 0  Boil  Bake  Sauté  Refrigerate  Slice  Dice

CS-575 Software Design, Team 17 The Automated Kitchen continued... Minimal subsets and increments Level 1  Make tea, coffee, soup  Toast bread, bagels  Bake muffins, pot roast  Sauté eggs, pancakes  Chill juice, fruit, preserve foods

CS-575 Software Design, Team 18 The Automated Kitchen continued... Minimal subsets and increments Level 2  Prepare breakfast  Prepare lunch  Prepare dinner

CS-575 Software Design, Team 19 The Automated Kitchen continued... Minimal subsets and increments Level 3  Prepare food

CS-575 Software Design, Team 110 The Automated Kitchen continued... Interface definitions using information hiding Level 0  Slicing is done with ginsu or veg-o-matic  Boiling is done with gas, electric, coal or microwave Level 1  Coffee is prepared on stovetop or drip brew  Bread is made in oven or bread machine Level 2  Breakfast is instant or drip coffee and sauté eggs or microwave breakfast

CS-575 Software Design, Team 111 The Automated Kitchen continued... Design as virtual machines Coffee maker Bread machine Scramble eggs Boil water

CS-575 Software Design, Team 112 The Automated Kitchen finally! “Uses” hierarchy make breakfast brew coffeescramble eggsmake toastmake pancakes boilsautebakeslicemix Level 0 uses no other program } Level i uses at least 1 program on i-1 and nothing higher than i-1 }

CS-575 Software Design, Team 113 “Uses” criteria A is simpler for using B B is not complicated for not using A B defines a useful program without A A is not a useful program without B

CS-575 Software Design, Team 114 What does all this mean? Requirements plan for changing environment There’s no such thing as a free lunch Levels are defined by the “uses” relationship, not by modules “Low level” operations work on known data structures “Mid level” operations swap known data structures for similar data structures “High level” operations create and destroy these data structures

CS-575 Software Design, Team 115 Questions