(From the Publisher) It is tempting when approaching a software development problem to rush headlong into the trap of thinking too soon about the solution. Software development problems are about the world outside the computer - the real environment in which the system must have its effect - and demand consideration of the surrounding characteristics, relationships and context. Problem frames are a tool for classifying, analyzing and structuring such software development problems. Whereas object oriented patterns are primarily concerned with solutions, problem frames focus on the problem itself, enabling you to understand and address it clearly and directly.
This book is a must-have for all IT professionals facing software development problems on a daily basis. If you are a systems analyst or requirements engineer it will provide an essential, practical guide from the task of identifying the problem to making the descriptions needed to resolve it.
It will help you:
· decompose complex problems into simpler sub-problems and see how the subproblems fit together
· build up a repertoire of simple, clear and easily applicable problem classes which you can access and reuse, drawing on the experience associated with each class
· Numerous real-world example problems are analyzed, giving you insight into how to recognize and structure your own problems in practice
· A mixture of large and small problems is presented, showing the stripped down essence of problem classes and discussing different aspects of each problem
· Problem frames are independent of any particular development method, so they can be easily applied in your own situation
· Appendices summarize the descriptive languages and notations plus a glossary of terminology
Review By: Gerry Thompson, Perforce Software 09/08/2003The author's writing style is fluid and easy to follow. His first task in introducing problem frames is to reorient the reader away from the typical developer focus on hardware and software issues to the arena of real world problems. His solution to software development is to properly define the actual real world domain in which software functions. Each chapter is organized into a concise description of the topic at hand, followed by a question and answer session that answers questions that may arise in the reader’s mind.
The author uses the Q&A sections to provide rich reference material for further reading on each topic. His examples are believable situations. He adds more complexity with each chapter, peeling away the layers of an onion to give a progressively more detailed look at the problem. In the first four chapters he defines the structure of problem frames. He presents the basic tools required to express a problem in a frame context.
The book provides a useful conceptual framework successful software development. The author reorients the software developer to think in terms of the real world problems that software code addresses. The computer platform becomes simply a single component in the problem description. His examples draw from familiar examples such as a hospital monitoring station. He reuses his examples throughout his book. What at first glance may seem like a simple solution is revisited as he describes more complex analytical techniques.
Problem Frames is useful as an aid to get developers "out of the box" in conceptualizing software development problems. The author includes an informal question and answer section at the end of each chapter that helps stimulate thinking on the subject. He includes many references for more in-depth exploration of each topic discussed in the book. He uses the Q&A format to introduce other pertinent material without distracting from the concise description of the topic in the body of each chapter.
The author provides an easy to read methodology for conceptualizing software development problems. He reorients the reader away from hardware and software concerns to focus upon the real world problems that software programs solve. He includes an informative Q&A section at the end of each chapter without distracting the reader. Problem Frames is a handy resource book for software developers, requirements experts, and process improvement managers who wish to improve their software development efforts.