Using chemistry as a basis can help to teach both object- oriented design, analysis and chemistry, all at the same time. Chemistry is a well defined domain. We actually tried this experiment with a group of employees at a former life science company during our "lunchtime forum".
For this example, we are first given a set of definitions. It can be considered that the definitions were given by the customer, but we really did not get a requirements list. We will have to extract the requirements from the customer as we go. This can be fairly typical with real model development, but usually we will not even get a clear set of definitions.
Our first set of requirements may be to model mixtures or compounds of various types.
We can ask the customer questions during development. This will consist of
consulting chemistry books. In this way, the chemistry books are our domain
expert.