Abstract
Function models have been widespread in almost every engineering discipline for more than six decades. Numerous function models have been used in each discipline to conceptualize designs during the product development life cycle. This study only focuses on function modelling (FM) in software development. Function models play a vital role in the conceptual design stage of the Software Development Life Cycle (SDLC), as they are mainly used to analyze a large number of requirements, maintain consistency between the teams, and communicate with the stakeholders efficiently. However, studies have shown that software designers are reluctant to use function models due to various shortcomings of current models, even though they believe these models are important to conceptually design the software. In our opinion, this leads to failures in understanding system functionalities at the beginning, which results in poor quality software with unmet user expectations and business goals. This thesis presents the research conducted to identify the potential benefits and shortcomings of function models proposed in the literature and currently use in practice, in order to discover key attributes for developing a novel function modelling approach. The research follows the DRM research approach proposed by Blessing and Chakrabarti (2009). Conducted research contains both literature study and empirical study. The literature study comprises the review of FM methods and function models proposed with respect to the evolvement of SDLC models and software design paradigms. This is supplemented with a survey among practitioners and people from academia to understand the actual usage of function models. These two studies show the reasons why some function models are not used and the most beneficial modelling features, as well as the possibilities to integrate different models. The prime contribution of this research is creating a novel FM framework. The framework incorporates all the identified key modelling attributes in order to increase participation in FM. The framework organizes all the different system aspects into one single place and enhances the overall understandability of the software system to be developed. The framework consists of multiple matrices that are interlinked through common parameters. The major benefits of the matrix-based representation are maintaining consistency and providing flexible content based on the user’s profession or project type. Furthermore, it is expected that the simplicity of the framework facilitates effective collaboration between technical teams and business users in the early design phases of the SDLC. The developed framework is evaluated through a questionnaire conducted with software programmers. The evaluation shows the framework may provide valuable support for FM in the early design stages of software using a simplified and time-saving approach.