31st Annual International Computer Software and Applications Conference - Vol. 2 - (COMPSAC 2007), 2007
Using software engineering (SE) knowledge to support the software development process is challeng... more Using software engineering (SE) knowledge to support the software development process is challenging due to the complex structure of SE knowledge and the uncertain nature of large-scale software projects. However, already before developing software, establishing a development process suitable for the project at hand is another challenge. This paper presents a requirements engineering (RE) tool that contains a knowledge base to support RE process development and selection of RE techniques. The tool is built based on the Framework for Requirements Engineering pRocess dEvelopment (FRERE). The major merits of the tool over others is that the tool uses knowledge representation to manage the knowledge of the RE process and its technique, thus assisting development of the most suitable RE process for a software project.
2009 IEEE International Conference on Systems, Man and Cybernetics, 2009
The ongoing debate over the merits of classical software engineering (SE) methodologies and agile... more The ongoing debate over the merits of classical software engineering (SE) methodologies and agile methodologies has so far resulted in no clear benefits for the SE community. This paper uses the CHAPL framework developed in our previous research to analyse the history of classical SE methodologies and agile methodologies. Our historical analysis focuses on the following three perspectives: the practices,
The creation of a development process is a challenging task. The application, customization and r... more The creation of a development process is a challenging task. The application, customization and refinement of generic process models into fine-grained process steps suitable for a specific problem domain requires major work. This paper first reviews a generic framework for requirements engineering as well as a domain-specific framework. It then outlines some basic principles for a methodology that helps the process engineer develop a process model that considers domain knowledge, as well as constraints and priorities for a particular project. The methodology is called REPM (Requirements Engineering Process Model) and uses mathematical definitions to generate an initial process model to be refined in an iterative manner using the feedback of the process designer.
2012 International Conference on Software and System Process (ICSSP), 2012
Recommendation systems provide users with up-to-date guidance on processes, artifacts or other pr... more Recommendation systems provide users with up-to-date guidance on processes, artifacts or other project-relevant information. Recommendation systems for requirements engineering can be used to provide the right information, at the right time, to requirements engineers. In this paper, we use systematic mapping to provide an overview of recommendation systems for the requirements engineering process, their characteristics, and state of validation. The resulting maps are analyzed to provide conclusions and to identify the limitations of current studies, and future research areas. The results of the mapping are used to outline the motivation for our future work on a recommendation system that helps product managers decide on the assignment of requirements to subsequent releases while considering constraints such as time, effort, quality, and resources.
Proceedings of the 14th international conference on Software engineering and knowledge engineering - SEKE '02, 2002
Defining, prioritizing, and selecting requirements are problems of tremendous importance. In this... more Defining, prioritizing, and selecting requirements are problems of tremendous importance. In this paper, a new approach called Quantitative WinWin for decision support in requirements negotiation is studied. The difference to Boehm's WinWin groupware-based negotiation support is the inclusion of quantitative methods as a backbone for better and more objective decisions. Like Boehm's original WinWin, Quantitative WinWin uses an iterative approach, with the aim to increase knowledge about the requirements during each iteration. The novelty of the presented idea is three-fold. Firstly, it uses the Analytical Hierarchy Process for a stepwise determination of the stakeholders' preferences in quantitative terms. Secondly, these results are combined with methods for early effort estimation, in our case using the simulation prototype GENSIM, to evaluate the feasibility of alternative requirements subsets in terms of their related implementation efforts. Thirdly, it reflects the increasing knowledge gained about the requirements during each iteration, in a similar way as it is done in Boehm's spiral model for software development. As main result, quantitative WinWin offers decision support for selecting the most appropriate requirements based on the preferences of the stakeholders, the business value of requirements and a given maximum development effort.
ABSTRACT Software technologies need to be customized to make them effective and efficient for a s... more ABSTRACT Software technologies need to be customized to make them effective and efficient for a specific context. In this position paper, we consider the customization of the COTS selection process. We have developed a methodology which customizes the selection process ...
31st Annual International Computer Software and Applications Conference - Vol. 2 - (COMPSAC 2007), 2007
... Mohamed Shehata1, Armin Eberlein2, Abraham O. Fapojuwo3 1 Dept. ... Hawk: This is a database-... more ... Mohamed Shehata1, Armin Eberlein2, Abraham O. Fapojuwo3 1 Dept. ... Hawk: This is a database-based download manager (eg S19 file format) that can be used to download software for new KNX compatible devices from the different vendors and suppliers. ...
The use of Commercial Off-The-Shelf (COTS) products in the software development process requires ... more The use of Commercial Off-The-Shelf (COTS) products in the software development process requires the evaluation of existing COTS products, and then selecting the one that best fits system requirements. In this process, it is inevitable to encounter mismatches between COTS features and system requirements. Mismatches occur as a result of an excess or shortage of COTS capabilities. Many of these mismatches are resolved after selecting a COTS product. Existing COTS-selection approaches fail to properly consider these mismatches. This article presents MiHOS (Mismatch Handling for COTS Selection), an approach that aims at addressing mismatches while considering limited resources. MiHOS can be integrated with existing COTSselection methods at two points: (i)When evaluating COTS candidates in order to estimate the anticipated fitness of the candidates if their mismatches are resolved. This helps to base our COTS-selection decisions on the fitness that the COTS candidates will eventually have if selected. (ii) After selecting a COTS product in order to plan the resolution of the most appropriate mismatches using suitable actions, such that the most important risk, technical, and resource constraints are met. A case study from the e-services domain is used to illustrate the method and to discuss its added value.
There is an increasing need to build an understanding of group facilitation in distributed requir... more There is an increasing need to build an understanding of group facilitation in distributed requirements engineering. Group facilitation is an important element of group approaches to requirements engineering, which is being challenged by the emergence of distributed practices in software specification and development. Thus thorough empirical investigation of human facilitation in computer-mediated requirements meetings is needed. This paper presents an exploratory study of facilitation in distributed requirements teams. Three professional facilitators mediate 15 three-person groups in an experimental simulation of software requirements negotiation. Facilitation in face-to-face meetings is contrasted with four group settings in which the facilitator is physically separated from the group or co-located with key stakeholders. Rich qualitative and behavioural data enables an understanding of differences and similarities in the facilitation of face-to-face and distributed groups and of aspects that were detrimental or beneficial to their facilitation. The empirical evidence indicates that a reduced richness of social behaviours in computer-mediated group settings (1) made the group facilitation problematic but also (2) enabled certain facilitation support in the medium itself. The findings of the study are discussed in the light of existing models of the role of the facilitator. Advice from the expert facilitators is presented in the form of recommendations for the facilitation of distributed requirements teams, and worthwhile directions for further research are outlined.
In the process of selecting Commercial Off-The-Shelf (COTS) products, it is inevitable to encount... more In the process of selecting Commercial Off-The-Shelf (COTS) products, it is inevitable to encounter mismatches between system requirements and COTS products. These mismatches occur as a result of an excess or shortage of the COTS attributes. This paper proposes a decision support approach, called MiHOS (Mismatch Handling for COTS Selection), that aims at addressing COTS mismatches during and after the selection process. MiHOS can be integrated with existing COTS selection methods at two points: (1) For evaluating COTS candidates: MiHOS estimates the anticipated fitness of the candidates if their mismatches are resolved. This helps to base our COTS selection decisions on the fitness that the candidates will eventually have if selected. (2) Mismatch resolution after selecting a COTS product: MiHOS suggests alternative plans for resolving the most appropriate mismatches using suitable actions, such that the most important risk, technical, and resource constraints are met. A case-study is used to illustrate MiHOS and to discuss its added value.
Requirements engineering (RE) is a critical phase in the software engineering process and plays a... more Requirements engineering (RE) is a critical phase in the software engineering process and plays a vital role in ensuring the overall quality of a software product. Recent research has shown that industry increasingly recognizes the importance of good RE practices and the use of appropriate RE techniques. However, due to the large number of RE techniques, requirements engineers find it challenging to select suitable techniques for a particular project. Unfortunately, technique selection based on personal experience has limitations with regards to the scope, effectiveness and suitability of the RE techniques for the project at hand. In this paper, a Knowledge-based Approach for the Selection of Requirements Engineering Techniques (KASRET) is proposed that helps during RE techniques selection. This approach has three major features. First, a library of requirements techniques was developed which includes detailed knowledge about RE techniques. Second, KASRET integrates advantages of different knowledge representation schemata and reasoning mechanisms. Thus, KASRET provides mechanisms for the management of knowledge about requirements techniques and support for RE process development. Third, as a major decision support mechanism, an objective function evaluates the overall ability and cost of RE techniques, which is helpful for the selection of RE techniques. This paper makes not only a contribution to RE but also to research and application of knowledge management and decision support in process development. A case study using an industrial project shows the support of KASRET for RE techniques selection.
During the selection of commercial off-theshelf (COTS) products, mismatches encountered between s... more During the selection of commercial off-theshelf (COTS) products, mismatches encountered between stakeholders' requirements and features offered by COTS products are inevitable. These mismatches occur as a result of an excess or shortage of functionality offered by the COTS. A decision support approach, called mismatch handling for COTS selection (MiHOS), was proposed earlier to help address mismatches while considering limited resources. In MiHOS, several input parameters need to be estimated such as the level of mismatches and the resource consumptions and constraints. These estimates are subject to uncertainty and therefore limit the applicability of the results. In this paper, we propose sensitivity analysis for MiHOS (MiHOS-SA), an approach that aims at helping decision makers gain insights into the impact of input uncertainties on the validity of MiHOS' results. MiHOS-SA draws on existing sensitivity analysis techniques to address the problem. A case study from the e-services domain was conducted to illustrate MiHOS-SA and discuss its added value.
Abstract We describe an empirical study of open-source and closed-source software projects. The m... more Abstract We describe an empirical study of open-source and closed-source software projects. The motivation for this research is to quantitatively investigate common perceptions about open-source projects, and to validate these perceptions through an empirical study. We investigate the hypothesis that open-source software grows more quickly, but does not find evidence to support this. The project growth is similar for all the projects in the analysis, indicating that other factors may limit growth. The hypothesis that creativity is more ...
This paper presents an interaction taxonomy for classifying and identifying requirement interacti... more This paper presents an interaction taxonomy for classifying and identifying requirement interactions in software systems. The proposed taxonomy is in the form of a four-layered pyramid that defines 6 Main Interaction Categories in the first layer, 17 Interaction Subcategories in the second layer, 29 Interaction Types in the third layer, and 29 Interaction Scenarios in the fourth layer. Each interaction scenario has a corresponding interaction detection guideline that describes how the interaction can be detected. The proposed interaction taxonomy was compared to other existing taxonomies in the literature and was not only able to address all the issues in those taxonomies, but also contained many other interaction types. The proposed interaction taxonomy serves as the first domain-independent requirement interactions taxonomy. It provides a detailed description of when two requirements interact.
31st Annual International Computer Software and Applications Conference - Vol. 2 - (COMPSAC 2007), 2007
Using software engineering (SE) knowledge to support the software development process is challeng... more Using software engineering (SE) knowledge to support the software development process is challenging due to the complex structure of SE knowledge and the uncertain nature of large-scale software projects. However, already before developing software, establishing a development process suitable for the project at hand is another challenge. This paper presents a requirements engineering (RE) tool that contains a knowledge base to support RE process development and selection of RE techniques. The tool is built based on the Framework for Requirements Engineering pRocess dEvelopment (FRERE). The major merits of the tool over others is that the tool uses knowledge representation to manage the knowledge of the RE process and its technique, thus assisting development of the most suitable RE process for a software project.
2009 IEEE International Conference on Systems, Man and Cybernetics, 2009
The ongoing debate over the merits of classical software engineering (SE) methodologies and agile... more The ongoing debate over the merits of classical software engineering (SE) methodologies and agile methodologies has so far resulted in no clear benefits for the SE community. This paper uses the CHAPL framework developed in our previous research to analyse the history of classical SE methodologies and agile methodologies. Our historical analysis focuses on the following three perspectives: the practices,
The creation of a development process is a challenging task. The application, customization and r... more The creation of a development process is a challenging task. The application, customization and refinement of generic process models into fine-grained process steps suitable for a specific problem domain requires major work. This paper first reviews a generic framework for requirements engineering as well as a domain-specific framework. It then outlines some basic principles for a methodology that helps the process engineer develop a process model that considers domain knowledge, as well as constraints and priorities for a particular project. The methodology is called REPM (Requirements Engineering Process Model) and uses mathematical definitions to generate an initial process model to be refined in an iterative manner using the feedback of the process designer.
2012 International Conference on Software and System Process (ICSSP), 2012
Recommendation systems provide users with up-to-date guidance on processes, artifacts or other pr... more Recommendation systems provide users with up-to-date guidance on processes, artifacts or other project-relevant information. Recommendation systems for requirements engineering can be used to provide the right information, at the right time, to requirements engineers. In this paper, we use systematic mapping to provide an overview of recommendation systems for the requirements engineering process, their characteristics, and state of validation. The resulting maps are analyzed to provide conclusions and to identify the limitations of current studies, and future research areas. The results of the mapping are used to outline the motivation for our future work on a recommendation system that helps product managers decide on the assignment of requirements to subsequent releases while considering constraints such as time, effort, quality, and resources.
Proceedings of the 14th international conference on Software engineering and knowledge engineering - SEKE '02, 2002
Defining, prioritizing, and selecting requirements are problems of tremendous importance. In this... more Defining, prioritizing, and selecting requirements are problems of tremendous importance. In this paper, a new approach called Quantitative WinWin for decision support in requirements negotiation is studied. The difference to Boehm's WinWin groupware-based negotiation support is the inclusion of quantitative methods as a backbone for better and more objective decisions. Like Boehm's original WinWin, Quantitative WinWin uses an iterative approach, with the aim to increase knowledge about the requirements during each iteration. The novelty of the presented idea is three-fold. Firstly, it uses the Analytical Hierarchy Process for a stepwise determination of the stakeholders' preferences in quantitative terms. Secondly, these results are combined with methods for early effort estimation, in our case using the simulation prototype GENSIM, to evaluate the feasibility of alternative requirements subsets in terms of their related implementation efforts. Thirdly, it reflects the increasing knowledge gained about the requirements during each iteration, in a similar way as it is done in Boehm's spiral model for software development. As main result, quantitative WinWin offers decision support for selecting the most appropriate requirements based on the preferences of the stakeholders, the business value of requirements and a given maximum development effort.
ABSTRACT Software technologies need to be customized to make them effective and efficient for a s... more ABSTRACT Software technologies need to be customized to make them effective and efficient for a specific context. In this position paper, we consider the customization of the COTS selection process. We have developed a methodology which customizes the selection process ...
31st Annual International Computer Software and Applications Conference - Vol. 2 - (COMPSAC 2007), 2007
... Mohamed Shehata1, Armin Eberlein2, Abraham O. Fapojuwo3 1 Dept. ... Hawk: This is a database-... more ... Mohamed Shehata1, Armin Eberlein2, Abraham O. Fapojuwo3 1 Dept. ... Hawk: This is a database-based download manager (eg S19 file format) that can be used to download software for new KNX compatible devices from the different vendors and suppliers. ...
The use of Commercial Off-The-Shelf (COTS) products in the software development process requires ... more The use of Commercial Off-The-Shelf (COTS) products in the software development process requires the evaluation of existing COTS products, and then selecting the one that best fits system requirements. In this process, it is inevitable to encounter mismatches between COTS features and system requirements. Mismatches occur as a result of an excess or shortage of COTS capabilities. Many of these mismatches are resolved after selecting a COTS product. Existing COTS-selection approaches fail to properly consider these mismatches. This article presents MiHOS (Mismatch Handling for COTS Selection), an approach that aims at addressing mismatches while considering limited resources. MiHOS can be integrated with existing COTSselection methods at two points: (i)When evaluating COTS candidates in order to estimate the anticipated fitness of the candidates if their mismatches are resolved. This helps to base our COTS-selection decisions on the fitness that the COTS candidates will eventually have if selected. (ii) After selecting a COTS product in order to plan the resolution of the most appropriate mismatches using suitable actions, such that the most important risk, technical, and resource constraints are met. A case study from the e-services domain is used to illustrate the method and to discuss its added value.
There is an increasing need to build an understanding of group facilitation in distributed requir... more There is an increasing need to build an understanding of group facilitation in distributed requirements engineering. Group facilitation is an important element of group approaches to requirements engineering, which is being challenged by the emergence of distributed practices in software specification and development. Thus thorough empirical investigation of human facilitation in computer-mediated requirements meetings is needed. This paper presents an exploratory study of facilitation in distributed requirements teams. Three professional facilitators mediate 15 three-person groups in an experimental simulation of software requirements negotiation. Facilitation in face-to-face meetings is contrasted with four group settings in which the facilitator is physically separated from the group or co-located with key stakeholders. Rich qualitative and behavioural data enables an understanding of differences and similarities in the facilitation of face-to-face and distributed groups and of aspects that were detrimental or beneficial to their facilitation. The empirical evidence indicates that a reduced richness of social behaviours in computer-mediated group settings (1) made the group facilitation problematic but also (2) enabled certain facilitation support in the medium itself. The findings of the study are discussed in the light of existing models of the role of the facilitator. Advice from the expert facilitators is presented in the form of recommendations for the facilitation of distributed requirements teams, and worthwhile directions for further research are outlined.
In the process of selecting Commercial Off-The-Shelf (COTS) products, it is inevitable to encount... more In the process of selecting Commercial Off-The-Shelf (COTS) products, it is inevitable to encounter mismatches between system requirements and COTS products. These mismatches occur as a result of an excess or shortage of the COTS attributes. This paper proposes a decision support approach, called MiHOS (Mismatch Handling for COTS Selection), that aims at addressing COTS mismatches during and after the selection process. MiHOS can be integrated with existing COTS selection methods at two points: (1) For evaluating COTS candidates: MiHOS estimates the anticipated fitness of the candidates if their mismatches are resolved. This helps to base our COTS selection decisions on the fitness that the candidates will eventually have if selected. (2) Mismatch resolution after selecting a COTS product: MiHOS suggests alternative plans for resolving the most appropriate mismatches using suitable actions, such that the most important risk, technical, and resource constraints are met. A case-study is used to illustrate MiHOS and to discuss its added value.
Requirements engineering (RE) is a critical phase in the software engineering process and plays a... more Requirements engineering (RE) is a critical phase in the software engineering process and plays a vital role in ensuring the overall quality of a software product. Recent research has shown that industry increasingly recognizes the importance of good RE practices and the use of appropriate RE techniques. However, due to the large number of RE techniques, requirements engineers find it challenging to select suitable techniques for a particular project. Unfortunately, technique selection based on personal experience has limitations with regards to the scope, effectiveness and suitability of the RE techniques for the project at hand. In this paper, a Knowledge-based Approach for the Selection of Requirements Engineering Techniques (KASRET) is proposed that helps during RE techniques selection. This approach has three major features. First, a library of requirements techniques was developed which includes detailed knowledge about RE techniques. Second, KASRET integrates advantages of different knowledge representation schemata and reasoning mechanisms. Thus, KASRET provides mechanisms for the management of knowledge about requirements techniques and support for RE process development. Third, as a major decision support mechanism, an objective function evaluates the overall ability and cost of RE techniques, which is helpful for the selection of RE techniques. This paper makes not only a contribution to RE but also to research and application of knowledge management and decision support in process development. A case study using an industrial project shows the support of KASRET for RE techniques selection.
During the selection of commercial off-theshelf (COTS) products, mismatches encountered between s... more During the selection of commercial off-theshelf (COTS) products, mismatches encountered between stakeholders' requirements and features offered by COTS products are inevitable. These mismatches occur as a result of an excess or shortage of functionality offered by the COTS. A decision support approach, called mismatch handling for COTS selection (MiHOS), was proposed earlier to help address mismatches while considering limited resources. In MiHOS, several input parameters need to be estimated such as the level of mismatches and the resource consumptions and constraints. These estimates are subject to uncertainty and therefore limit the applicability of the results. In this paper, we propose sensitivity analysis for MiHOS (MiHOS-SA), an approach that aims at helping decision makers gain insights into the impact of input uncertainties on the validity of MiHOS' results. MiHOS-SA draws on existing sensitivity analysis techniques to address the problem. A case study from the e-services domain was conducted to illustrate MiHOS-SA and discuss its added value.
Abstract We describe an empirical study of open-source and closed-source software projects. The m... more Abstract We describe an empirical study of open-source and closed-source software projects. The motivation for this research is to quantitatively investigate common perceptions about open-source projects, and to validate these perceptions through an empirical study. We investigate the hypothesis that open-source software grows more quickly, but does not find evidence to support this. The project growth is similar for all the projects in the analysis, indicating that other factors may limit growth. The hypothesis that creativity is more ...
This paper presents an interaction taxonomy for classifying and identifying requirement interacti... more This paper presents an interaction taxonomy for classifying and identifying requirement interactions in software systems. The proposed taxonomy is in the form of a four-layered pyramid that defines 6 Main Interaction Categories in the first layer, 17 Interaction Subcategories in the second layer, 29 Interaction Types in the third layer, and 29 Interaction Scenarios in the fourth layer. Each interaction scenario has a corresponding interaction detection guideline that describes how the interaction can be detected. The proposed interaction taxonomy was compared to other existing taxonomies in the literature and was not only able to address all the issues in those taxonomies, but also contained many other interaction types. The proposed interaction taxonomy serves as the first domain-independent requirement interactions taxonomy. It provides a detailed description of when two requirements interact.
Uploads
Papers by Armin Eberlein