This book is one of my most important tools for software design, just as it was an important tool when I was a programmer. You just can't describe in precise enough terms the complex interactions in sophisticated software with generic terms. You need unique terms for each object and process in an application and they should be mnemonic or descriptive. The best way to accomplish this is to use the incredibly rich English language and the thesaurus is the place to find unique and usable terms. In my office, it comes off the shelf frequently.
Language defines our perceptions .
Without language sufficiently precise enough to differentiate the nuances of our subjects, we cannot possibly hope to adequately articulate the forces that will affect our design thinking. Those who have worked with me know that I do this with ruthless glee, offering the present company about 20 seconds to name something before I do it. Your software will be better, and a lot more entertaining. The modern trend is towards a dictionary-style thesaurus. When I go searching for a word I like to roam through the words seeking fortuitous finds, which the dictionary style makes significantly more difficult.