Abstract
Early software development approaches focused on program code as paramount, paying little attention to any analysis or understanding of its generative real-world context and needs. More modern problem-oriented approaches view software development as problem solving, and use many of the rich toolset and techniques of the knowledge engineering (KE) area. ‘When one encounters a new situation (or makes a substantial change in one's view of the present problem) one selects from memory a structure called a Frame. This is a remembered framework to be adapted to fit reality by changing details as necessary’. ‘We intuitively believe that experienced problem solvers construct new systems by modifying known systems’. Both Problem Frames and Domain Theory use modelling as a means for problem understanding and representation. In this respect, they are akin to the Common KADS framework (Breuker & van de Velde, 2004) that provides a suite of re-usable knowledge models for expert systems development. According to Studer et al. (1998), modelling marks an important transition from first-generation to second-generation expert systems, as the modelling approach to knowledge engineering had taken over the knowledge transfer approach. Problem-oriented approaches to software development have two essential attributes. Firstly, they recognise the need to work iteratively between real-world problem and software solution to increase understanding: solutions are sometimes straw men, allowing the developer to reflect on the problem to understand it better. Indeed, the importance of this knowledge building process in design has been widely acknowledged (Alexander, 1979; Dasgupta, 1991). Secondly, they view software development as problem solving and knowledge reuse. This special section collects the best papers presented at the International Workshop on Advances and Applications of Problem Orientation, held in Cape Town, South Africa, in May 2010. These papers represent a snapshot of current research and practice in problem-oriented approaches to software development. In the first paper, Luigi Lavazza addresses the problem that during analysis and development user requirements are elicited and perceived at various levels of abstraction, by proposing a systematic approach to relating such diverse requirements through the establishment of requirements hierarchies. The work is situated within Problem Frames and applied to a comprehensive case study. The work is particularly relevant to addressing business problems in which a need arises to relate business goals to software requirements. In the second paper, Xinyu Wang and his colleagues present an approach that guides a business analyst to derive a set of problem frames from a given problem description. The approach contains three steps. In the first step, business process models are developed to capture the behavioural view of the problem context. In the second step, object analysis models are used to capture the structural view of the problem context. Together, these two views collectively and comprehensively capture the early context knowledge. These two types of model are then used in a third step to construct context diagrams and problem frames. Finally, Jelena Marincic and her colleagues address the problem of how to construct adequate problem models, the starting point of solution seeking, through methods that properly account for both formal and informal modelling decisions and steps. Their approach is located within an industrial setting and the development of embedded systems. Action research was applied in such a setting to help improve problem analysis and problem model validation. Collectively, this special section aims to give a flavour of current thinking in this important area of research and practice. We hope this special section will continue to stimulate the debate and discussion.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.