In this DesignFest problem, your job will be to finish several designs
that focus on various aspects of constructing a Drink Vending
Machine. Just as though you had joined a design house, you will be
given a series of relatively small design problems. They will be
staggered over the course of the day, so that you have time to learn
to work with your teammates and evolve your design process and design
discussion skills.
These problems have been solved by novices, and debated by experts, so
they admit of multiple skill levels. Some DesignFest problems are
large enough that a good group of people might get them done in a day.
However, people who are trying out their design skills - and more
significantly, meeting other designers for the first time - spend most
of their energy learning how to talk about what they are doing, and
may not actually finish the problem.
The problems that will be used in "Pat's Contracted Software" are
simply stated and easy to understand - but they have multiple valid
solutions, from naive to sophisticated.
Spacecraft such as Mars Pathfinder and robots like the Sojourner rover are embedded systems that operate in harsh environments far from Earth. If problems start to occur¾ whether due to environmental challenges or hardware faults or software defects¾ operators on Earth need a window into what's happening onboard. Thus it's very important for programmerto instrument the onboard software to log noteworthy events including routine telemetry, warnings, and errors. Your task is to define an object-oriented event logging facility that spacecraft programmers will use to instrument their code and that ground operators will control during mission operations. Due to the limited amount of memory onboard, events will be saved subject to an "entry policy" and discarded subject to a "retention policy", both of which will be controlled from the ground.
In this design problem a simple countdown electronic timer is specified. The software design should be a copy of an existing hardware timer currently on the market. A hardware timer is loaned to the designers to model the needed classes, methods and patterns for implementation. The timer allows the user to enter time, start the countdown of the entered time, clear the entered time and stop the countdown.
The spiraling growth of Web-commerce is leading many companies to re-design how they do business to find new ways to deliver value to their customers. Loan financing companies want to be able to present the loan contract to the end consumer while the client is still looking at the product. New Web applications are being developed that gather together data about the purchase and the consumer, which is sent to a back-end service to prepare the contract. This design problem involves the Contract Generation component which must read business data from an XML data stream, choose a particular contract template, create a script to set the tag-value pairs for the template, and block itself until the merged document appears, after which it must set a return value to the calling system.
This design problem is to design a framework that will allow
a seamless approach to the provision of personal and
group spaces for the development of concepts. Because it is to allow
concept development in a large range of applications, it will be
necessary to allow appropriate interfaces to be plugged into the
framework.
A use-case might be designers developing a large design across a
network using personal and group CASE-type tools. Another use-case
might be distance education students learning across the Internet.
It is expected that the design will be formulated from patterns and
will be presented as a "super-pattern".