—A Look at Problem Solving
In Problem Frames, I talk about how a discussion on Twitter lead me to examine Michael Jackson’s Problem Frames. Jackson’s Problem Frames are a way of identifying the key areas to address when developing an application. It’s value proposition is two-fold:
So, a problem frame, or rather a collection of them, helps you solve the right problem.
Some of this research led me into separation of concerns at the problem, domain and application level. Basically, good application design separates concerns at multiple levels. Separation of concerns is a layered approach that spans the gambit from what is it we are trying to do to how we structure the solution.
Importantly, semantics comes into play here. I’d characerize this as the things in each layer need to all mean the same things; semantic gap comes to mind. Or semantic distance, wherein like things should be collected together. It’s cohesive. At multiple levels.
It’s non-hierarchicl. A lot of methods imply heirarchy. The key point is that complex applications can have multiple “tops”. That is, they serve multiple purposes at the same time.