One of the really serious problems of analysis and design is that "the experts" make it so hard. (UML ... discussed later ... is especially bad this way.) Software designers have their own jargon and methods that they seem to understand but nobody else does. They all seems to have a different way to do it and none of them are compatible.
Who do these designers think they are? Programmers?
But seriously, when you first decide to create a design for your program, keep it simple. Remember the golden rule: the design has to make the programming easier, not harder. So here's a four step beginner's guide to software design.
1 - Write down a description of what the system or program is supposed to do. A few paragraphs ought to do it. If you can't describe what the program will do, how will you know when you're finished?
2 - List all the inputs and outputs of the program. A Form, for example, can be both an input and an output. Examples of Form input might be a text box, radio buttons, or (in the case of the Lucky Seven program that reappears in this chapter of the book) a random number that the computer creates. Examples of output might be as simple as another text box on a Form or as complex as commands sent to the guidance system of a rocket.

