Buy Used
+ £2.80 UK delivery
Used: Good | Details
Sold by Nearfine
Condition: Used: Good
Comment: A good reading copy. May contain markings or be a withdrawn library copy. Expect delivery in 2-3 weeks.
Trade in your item
Get a £6.18
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Problem Frames: Analysing & Structuring Software Development Problems: Analysing and Structuring Software Development Problems (ACM Press) Paperback – 5 Dec 2000

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£46.81 £32.90

Trade In this Item for up to £6.18
Trade in Problem Frames: Analysing & Structuring Software Development Problems: Analysing and Structuring Software Development Problems (ACM Press) for an Amazon Gift Card of up to £6.18, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

More About the Author

Discover books, learn about writers, and more.

Product Description

From the Back Cover

“Understanding and using problem frames will likely become an essential skill of all good software system designers. Jackson's book provides a beautifully crafted pathway into this world.”

―David Garlan, Associate Professor, Computer Science Department, Carnegie Mellon University

“In 'Problem Frames' I believe that Michael Jackson has taken the mysticism that surrounds design patterns and constructed a much more accessible technique utilizing a frame metaphor.”
―Warren Keuffel, Senior Contributing Editor, Software Development Magazine

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

About the Author

 Michael Jackson has worked in software for over thirty years, during which time he has been involved in all aspects of program and system development. In 1971 he started his own company offering courses, project support and tools for software developers. He now works as an independent consultant in London, and works part time in software development at AT&T Research in New Jersey. He played the leading role in developing the JSP and JSD methods of program and system develpment.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) 6 reviews
29 of 29 people found the following review helpful
A useful new approach to software requirements analysis 25 Feb. 2001
By Stephen Ferg - Published on
Format: Paperback
"Problem Frames" is best regarded as volume 2 of a two-volume work whose first volume is Jackson's earlier book, "Software Requirements and Specifications". Before tackling "Problem Frames" you should dip into SRS. SRS is a relatively small book, an easy and enjoyable read, and very accessible. Then, if you find that you like SRS and want more, you should move on to "Problem Frames".
I tried out the Problem Frames Approach on a couple of my own software development problems, and found out that, just as Jackson asserts, it is a lot easier to think clearly about several small and relatively simple problems than it is to think about one big inchoate problem. Jackson calls this "separation of concerns", and PFA gives you the theoretical justification - and the tools - for doing it. And it works; it produces real and helpful insights and makes requirements analysis much more manageable.
Jackson's method of exposition is detailed discussion of illustrative examples. This means that you have to devote some effort to carefully following the details of many specific examples. If you do, then "Problem Frames" repeatedly passes the Aha! test.
This book and the Problem Frame Approach represent a major advance in the way we approach computer requirements specification. "Problem Frames" is as seminal a work for requirements analysis as Design Patterns was for object-oriented design. Anyone who is seriously interested in computer software requirements analysis -- and especially if you are familiar with Jackson's earlier works -- will absolutely want to study this book.
20 of 21 people found the following review helpful
A highly useful book for architects and analysts 2 Mar. 2001
By Daniel Duffy - Published on
Format: Paperback
This is an excellent book. Michael Jackson resolves a number of major problems by drawing a distinction between the description of the problem domain and the description of the solution domain. This is needed because current object-oriented techniques (based on UML, for example) tend to be solution-oriented in the early stages of the software development lifecycle. This mindset can lead to maintainability problems later. Another 'gem' is that Jackson develops a scheme for decomposing a problem into simpler subproblems. This 'divide and conquer' approach has been known to mathematicians for hundreds of years. Structured analysis methods use similar techniques but they have seemingly been forgotten (or never learned?) by the OO community where the objects are there 'just for the picking' (to quote Bertrand Meyer). This reviewer now realises that life is not so simple. I have benefited from Jackson's problem frames and have applied them as a 'front-end' to UML in order to structure medium and large systems. In particular, viewing a specific application (such as a home heating system, ATM ...) as an instance of a more general category is very useful as it allows us to gain insights into the current problem. I have specialised the frames to discover domain categories for process control, manufacture, MIS, access control and tracking. This book could trigger a number of developments. For example, discovering and documenting structural and behavioural patterns in this phase of the software development lifecycle could would be a good idea. In particular, looking at requirements as goals instead of jumping directly into the over-hyped use cases seems like a good idea as well. To this end, it might be worth looking at a number of methods that are mentioned in the book, for example KAOS.
24 of 26 people found the following review helpful
A solid approach to identifying and analyzing problems 23 April 2001
By Mike Tarrani - Published on
Format: Paperback Verified Purchase
Short and sweet: this book is about structuring and analyzing problems, not about solutions. In fact, from the beginning the author discusses the difficulty of focusing on problems and the tendency to jump to a solution before the problem is completely understood.
The structured approach that Mr. Jackson provides starts with bounding the problem and drilling down into subproblems, called problem frames. I like his approach to bounding problems because it shows how to identify and isolate the problem and place it into its proper context. This forces you to focus on the problem and not drift off into a premature solution. I also like how he breaks down problems into manageable chunks by placing subproblems into domains through the use of projections (where subproblem domains overlap) and partitions (where associated phenomena are isolated). This allows you to see the whole problem in its magnificent splendor, which is the first step towards tackling each of its parts.
As Mr. Jackson's approach evolves you will find patterns emerging. If you are a proponent of design patterns you will appreciate how he breaks problems into classes and five basic frames. This is a powerful concept because as you gain experience using problem frames you will be able to quickly classify problems and approach them in a consistent, repeatable manner. This part of the book greatly influenced my way of thinking about problems, and the material is reinforced by examples given in subsequent chapters, as well as chapters devoted to variant and composite frames.
This book is ostensibly about problem frames and methods as they relate to software development. However, the approach given in the book has much wider applications. I was able to relate it to physical devices, processes and procedures. Moreover, Mr. Jackson's approach itself can be decomposed into a collection of useful tools and techniques that, taken individually, will prove invaluable in requirements analysis, design and related endeavors. I am giving it 5 stars only because I cannot give it more.
It's key idea has proven very helpful 26 Oct. 2011
By Milan Kratochvíl, MBA, IT-consultant - Published on
Format: Paperback Verified Purchase
Thoughts (although not notations) 10 years ahead of their time, by my once-upon-a-time employer (I still might be slightly biased though). During the development-process bloat of 2000, who else would have the insights to say: 'If a method offers help with every possible problem, you mustn't expect it to help much with any particular problem'...
Determining the frame/appl. type etc. before rushing into a particular diagram type or SDLC/process (which IMO are tools, not rules) has helped me many times since the first ed. of this book.
4 of 7 people found the following review helpful
Interesting idea but poorly written 2 Oct. 2006
By Sean C. Duggan - Published on
Format: Paperback
I was assigned to read and use this book for a Methods class at CMU. Jackson did a good job of selling the concept of problem frames to me. They seem like a good way to model a system, properly abstracting the problem into distinct interacting segments. It produces diagrams which are helpful as a general architectural overview and are generally largely understandable by non-technical customers. The concept has potential.

Unfortunately, the book does not live up to the concept. The main flaw in the book is found the first time that you need to look up a concept in a prior chapter. Jackson tends to mention a given concept, or a given definition, only once in the book and he uses no way of setting off the concepts and definitions from the rest of the text on the page. Further exacerbating the problem, he makes the cardinal error of software engineers, using common words as his terminology, and redefining them for his purposes. Not only does this mean that his terms don't stand out from the text, but this also means that the reader will be forced to puzzle out whether Jackson is referring to "machine" as a term within his framework, or simply referring to the dictionary definition of a machine.

It's not all bad. Jackson does have a friendly conversational style to his writing that turned me on to the concept while reading the chapters the first time. Unfortunately, the reread entirely turned me off.
Were these reviews helpful? Let us know