Problem: Domain engineering (DE) approaches can be divided into broadly two categories. The first DE approach adopts a formal viewpoint, views a domain as the universe of discourse, and uses mathematical methods for knowledge representation. The second DE approach, on the other hand, has an application viewpoint, and it regards a domain as a set of information systems and software applications. Thus, it focuses on the commonality and variability features of domain applications. The DE methods of both approaches start with an analysis phase; however, resultant domain description documents can vary quite differently, which may range from informal narrative text, some graphical representations to formal and mathematical descriptions. The formal DE methods can be expensive, labor-intensive, difficult to grasp both for customers and domain engineers. Furthermore, adopting only application or formal viewpoint cannot allow reflecting on the systemic requirements of complex software systems. We claim that current domain analysis techniques are not sufficient for the socio-technical representation of complex domains. These issues would be one of reasons for neglecting DE during software development processes, and therefore, they form the background of our research problem.
Method: The main argument of this paper is that adopting a socio-technical approach to domain analysis can contribute as a solution to the research problem. In this context, we propose the use of an adapted version of Systemic Inquiry (SI), which is a system engineering method for analyzing complex situations. SIs three stages or core concepts are inter-relationships, perspectives, and boundaries. Inter-relationships give how the parts are connected as well as the structure of a complex situation. Perspectives enable analyzers to frame the situation, identify key stakes and stakeholders. Finally, boundaries help to differentiate conflicting interests of the stakeholders and identify their key perspectives. However, SI cannot provide software engineers with the comprehensive modeling tools or techniques. Therefore, we propose combining the SI method with both the concept of model-based analysis and the use of Unified Modeling Language for complex situations.
Conclusion: The main output of this study is the adaptation and introduction of the SI method to the DE discipline as a domain analysis method.
Anahtar Kelimeler: Software Engineering, Domain Engineering, System Engineering, Systemic Inquiry