The authors of Complete Systems Analysis explain the basics of analysis models and emphasize that the important thing to remember is that modeling tools are complementary. Each shows one aspect of the system. Together, they make a complete working model of the system.

More Difficult: Your trail assumes you already know about analysis models, and you may skip this chapter. If you have already been to Chapter 1.2 Start with the Context, then we suggest you pick up your trail in Chapter 2.3 A Variety of Viewpoints.

Most Difficult: Your trail doesn’t bring you into the Textbook, as your experience indicates you don’t need it. However, as this Textbook updates the subject, you may want to stick around. If not, pick up the Most Difficult Trail in Chapter 1.2 Start with the Context. On second thought, if you are following this trail and are reading this chapter, perhaps you’d better go to Chapter 1.1 Your Project Starts Here for a refresher on the Trail Guide system.

Promenade: You’ve read Chapter 1.1 Your Project Starts Here. After reading this chapter, you may skip the exercises and go directly to the Trail Guide at the end of the chapter.

Analysis Models: A History of Sorts

At the dawn of time, men and women lived in caves. During the day, they emerged to hunt for food and to club the other tribes senseless. At night, in their caves, they wrote programs for their computers. Unfortunately, their programs were not the well-organized set of instructions befitting the technological masterpieces of their new computing machinery. Instead, their programs were tangled and confused. Some of the programs were so bad that no one in the tribe ever understood them. Those of the tribe called maintenance programmers suffered many troubled days and sleepless nights trying to make these programs work correctly.

The elders of the tribe knew something had to be done. They reasoned that if everyone wrote programs in the same clear way, then everyone in the tribe would be able to understand, and thus modify, all the programs. With this in mind, the elders set out on a voyage of discovery. For many years, they traveled through lands of confusion until lo and behold! In a far-off land, they found understandable programs. The people of this land wrote programs using only two constructs—selection and repetition—to join their statements.*

The elders introduced the method to the tribe. They called it structured programming, and it was good. It improved the code of the tribe immeasurably, but it also led to a new problem. The tribe, now able to write understandable code, fearlessly tackled ever larger and more complex programs, but they couldn’t organize the larger programs they could now write. So the tribe asked the elders to undertake another voyage of discovery. This time, they brought back a revolutionary idea: functional hierarchies, made up of small modules with known interfaces. They called this structured design, and it was good.

The tribe produced elegant, well-designed, and maintainable systems. But the elders noticed another problem. Often, the elegant systems solved the wrong problem! The elders realized that what the tribe needed was a way to make sure they knew the exact requirements before designing a solution.

This time, the elders stayed home and studied the tribe’s behavior. They found that those of the tribe called users spoke a different dialect from those of the tribe called analysts. The only way, the elders reasoned, that the two could understand each other is if they had a common language. One more voyage of discovery and the elders returned with a set of graphic models belonging to neither the analysts nor the users. Now everyone could communicate effectively by building graphic models of their systems.

Those called analysts and those called users sat on the floor of the cave and together they drew their models in the sand. Soon, they made a major discovery: To build a model of the system, they had to understand the system. At the same time, they found that building the models helped them to understand the system. The models were successful—they made it much easier to gather the correct requirements. Now the tribe could always build the correct system.

Once they had solved the urgent problem of inventing a suitable systems analysis technique, the tribe moved forward. Next, they invented fire.