One consultant, an engineer, clarified first. "It's a toaster, " he stated. The king requested, "How does one design an embedded computer for this?" The engineer responded, "Utilizing a four-bit microcontroller, I'd write an easy program that reads the darkness knob and quantizes its position to 1 of 16 shades of darkness, from snow whitened to coal black. This program would use that darkness level because the index to some 16-element table of initial timer values. It would switch on the emitters and begin the timer using the initial value selected in the table. In the finish of times delay, it might switch off the warmth and appear the toast. Return in a few days, and I'll demonstrate a functional prototype."
The 2nd consultant, a pc researcher, immediately recognized the possibility of such short-sighted thinking. He stated, "Toaster ovens don't merely turn bread into toast, they're also accustomed to warm frozen waffles. A specific item before you decide to can be a breakfast food oven. Because the subjects of the kingdom be sophisticated, they'll require more abilities. They'll require a breakfast food oven that may also prepare sausage, fry sausage, making scrambled eggs. A toaster that just makes toast will quickly be obsolete. When we don't turn to the long run, we will need to completely redesign the toaster in a couple of years."
"With this thought, we are able to formulate a far more intelligent means to fix the issue. First, produce a type of breakfast meals. Specialize these kinds into subclasses: grains, pork, and chicken. The specialty area process ought to be repeated with grains split into toast, muffins, pancakes, and waffles pork split into sausage, links, and sausage and chicken split into scrambled eggs, hard- boiled eggs, poached eggs, fried eggs, as well as other omelet classes."
"The pork and cheese omelet class may be worth special attention since it must inherit qualities in the pork, dairy, and chicken classes. Thus, we have seen the problem can't be correctly solved without multiple inheritance. At run time, this program must produce the proper object and send a note towards the object that states, 'Cook yourself.' The semantics of the message depend, obviously, around the type of object, so there is a different intending to a bit of toast rather than scrambled eggs."
"Looking at the procedure to date, we have seen the analysis phase has says the main requirement would be to prepare any type of breakfast food. Within the design phase, we've discovered some derived needs. Particularly, we want an item-oriented language with multiple inheritance. Obviously, customers do not want the eggs to obtain cold as the sausage is baking, so concurrent processing is needed, too."
"We mustn't your investment interface. The lever that reduces the meals lacks flexibility, and also the darkness knob is confusing. Customers will not purchase the product unless of course it features a user-friendly, graphical interface. Once the breakfast oven is blocked in, customers should visit a cowboy boot on screen. Customers click it, and also the message 'Booting UNIX v.8.3' seems on screen. (UNIX 8.3 ought to be out when the merchandise reaches the marketplace.) Customers can pull lower a menu and then click the meals they would like to prepare."
"Getting made the smart decision of indicating the program first within the design phase, everything remains would be to pick an sufficient hardware platform for that implementation phase. An Apple 80386 with 8MB of memory, a 30MB hard disk drive, along with a VGA monitor ought to be sufficient. Should you choose a multitasking, object oriented language that supports multiple inheritance and it has a built-in GUI, writing this program is a snap. (Think of the difficulty we'd have experienced when we had foolishly permitted a hardware-first design technique to lock us right into a four-bit microcontroller!)."
The king sensibly had the pc researcher beheaded, plus they all resided happily ever after.Source: unknown Internet hero Images: from my old Rollei 6008.