Problem-oriented development explained
Problem-Oriented Development is an emerging paradigm of computing that emphasises problems (as opposed to requirements) as the primary subject of scrutiny by software engineers. As such, Problem-Oriented Development is concerned with:
- Investigating the structure of organisational problems as addressed by Software Engineering;
- Providing formalisms for modelling and representing problems;
- Providing guidance and frameworks for problem analysis and decomposition;
- Defining techniques for formally justifying solutions (e.g. by associating problem components with solution components);
- Supporting knowledge reuse during problem analysis (e.g. through problem patterns).
Specific Approaches
- Problem-Oriented Software Engineering provides a formal definition of problems, and a framework for associating problems with solutions through formal, logical arguments;[1]
- Problem Frames provide a framework for defining empirical models of software engineering problems which are grounded in the physical world. The Problem Frames approach also provides a set of elementary problem patterns;
- The Domain Theory [2] hypothesises a set of cognitive "deep structures" corresponding to components of domain knowledge and draws on these to provide a framework for modelling software problems.
Research Influences of Problem-Oriented Development
Knowledge Engineering is a field of computer science which offers a significant body of work on problem-solving methods. Problem-solving methods are patterns of reasoning that are applied to solve specific problems.[3] The work on problem abstractions within knowledge engineering can therefore provide a basis for research in software engineering.
Cognitive Science, which may be defined as the study of the nature of intelligence, offers a basis for studying the cognitive structures that domain experts develop of problems, as well as for better understanding human approaches to problem solving. The Domain Theory is one example of the influence of cognitive science in Problem-Oriented Development research.
Events
- The First International Workshop on Problem-Oriented Development (POD-2009) will be hosted by the TOOLS-EUROPE 2009 conference.
References
- J. Hall, L. Rapanotti, M. Jackson, "Problem Oriented Software Engineering: Solving the Package Router Control Problem", IEEE Transactions on Software Engineering, Vol. 34, Issue 2.
- A. Sutcliffe, The Domain Theory: Patterns for Knowledge and Software Reuse, CRC Press, March 2002
- D. Fensel, E. Motta, "Structured development of problem solving methods", IEEE Transactions on Knowledge and Data Engineering, Vol. 13, Issue 6