To build a form-filling app, we must specify a data structure such as the one in the flight example. To do this, we define two classes:
Field. As shown in the UML diagram, a
Form has a collection of Fields, and a
Field has five attributes; a name, a string representing the prompt that the app will use to ask for the piece of data, two strings representing the prompts to be used when the app does not understand the user's response to the initial prompt (
nomatch), or does not hear it (
noinput), and the value that has been understood by the app.
For example, the
Field flight setting could have the following values for its attributes: ...