The last question is almost never a reasonable one. For one
thing, the client should not need to know or care about
how many lines of code make up the program's source code.
In forming requirements, you should avoid
implementation specific questions that do not
directly interface with the user. The first question is very relevant
in some situations. For example, a graphic sentence with video game or
performance is key. However, you should not write any operating system
specific code unless absolutely needed, and should strive to make your code
platform independent whenever possible. The
second question, however, is very relevant.
Now that you've thought a bit about what you might ask of
the client requesting this program, let's watch Alvin, one of Udasea's
engineers, asking his own questions. He'll be speaking with Lauren, the client.