Requirements elicitation is a fundamental phase of software development in which an analyst discovers the needs of different stakeholders and transforms them into requirements.This phase is cost-and time-intensive,and...Requirements elicitation is a fundamental phase of software development in which an analyst discovers the needs of different stakeholders and transforms them into requirements.This phase is cost-and time-intensive,and a project may fail if there are excessive costs and schedule overruns.COVID-19 has affected the software industry by reducing interactions between developers and customers.Such a lack of interaction is a key reason for the failure of software projects.Projects can also fail when customers do not know precisely what they want.Furthermore,selecting the unsuitable elicitation technique can also cause project failure.The present study,therefore,aimed to identify which requirements elicitation technique is the most cost-effective for large-scale projects when time to market is a critical issue or when the customer is not available.To that end,we conducted a systematic literature review on requirements elicitation techniques.Most primary studies identified introspection as the best technique,followed by survey and brainstorming.This finding suggests that introspection should be the first choice of elicitation technique,especially when the customer is not available or the project has strict time and cost constraints.Moreover,introspection should also be used as the starting point in the elicitation process of a large-scale project,and all known requirements should be elicited using this technique.展开更多
The paper presents a new approach to managing software requirement elicitation techniques with a high level of analyses based on domain ontology techniques, where we established a mapping between user scenario, struct...The paper presents a new approach to managing software requirement elicitation techniques with a high level of analyses based on domain ontology techniques, where we established a mapping between user scenario, structured requirement, and domain ontology techniques to improve many attributes such as requirement consistency, completeness and eliminating duplicate requirements to reduce risk of overrun time and budgets. One of the main targets of requirement engineering is to develop a requirement document with high quality. So, we proposed a user interface to collect all vital information about the project directly from the regular user and requirement engineering;After that, the proposal will generate an ontology based on semantic relations and rules. Requirements Engineering tries to keep requirements throughout a project’s life cycle consistent necessities clear, and up to date. This prototype allows mapping requirement scenarios into ontology elements for semantically interrupted. The general points of our prototype are to guarantee the identification requirements and improved nature of the Software Requirements Specification (SRS) by solving incomplete and conflicting information in the requirements specification.展开更多
Requirements engineering(RE)is among the most valuable and critical processes in software development.The quality of this process significantly affects the success of a software project.An important step in RE is requ...Requirements engineering(RE)is among the most valuable and critical processes in software development.The quality of this process significantly affects the success of a software project.An important step in RE is requirements elicitation,which involves collecting project-related requirements from different sources.Repositories of reusable requirements are typically important sources of an increasing number of reusable software requirements.However,the process of searching such repositories to collect valuable project-related requirements is time-consuming and difficult to perform accurately.Recommender systems have been widely recognized as an effective solution to such problem.Accordingly,this study proposes an effective hybrid content-based collaborative filtering recommendation approach.The proposed approach will support project stake-holders in mitigating the risk of missing requirements during requirements elicitation by identifying related requirements from software requirement repositories.The experimental results on the RALIC dataset demonstrate that the proposed approach considerably outperforms baseline collaborative filtering-based recom-mendation methods in terms of prediction accuracy and coverage in addition to mitigating the data sparsity and cold-start item problems.展开更多
Most software systems have different stakeholders with a variety of concerns.The process of collecting requirements from a large number of stakeholders is vital but challenging.We propose an efficient,automatic approa...Most software systems have different stakeholders with a variety of concerns.The process of collecting requirements from a large number of stakeholders is vital but challenging.We propose an efficient,automatic approach to collecting requirements from different stakeholders’responses to a specific question.We use natural language processing techniques to get the stakeholder response that represents most other stakeholders’responses.This study improves existing practices in three ways:Firstly,it reduces the human effort needed to collect the requirements;secondly,it reduces the time required to carry out this task with a large number of stakeholders;thirdly,it underlines the importance of using of data mining techniques in various software engineering steps.Our approach uses tokenization,stop word removal,and word lemmatization to create a list of frequently accruing words.It then creates a similarity matrix to calculate the score value for each response and selects the answer with the highest score.Our experiments show that using this approach significantly reduces the time and effort needed to collect requirements and does so with a sufficient degree of accuracy.展开更多
There are several purposes for modeling and analyzing the problem domain before starting the software requirements analysis. First, it focuses on the problem domain, so that the domain users could be involved easily. ...There are several purposes for modeling and analyzing the problem domain before starting the software requirements analysis. First, it focuses on the problem domain, so that the domain users could be involved easily. Secondly, a comprehensive description on the problem domain will advantage getting a comprehensive software requirements model. This paper proposes an ontology-based approach for mod- eling the problem domain. It interacts with the domain users by using terminology that they can under- stand and guides them to provide the relevant information. A multiple paradigm analysis approach, with the basis of the description on the problem domain, has also been presented. Three criteria, i.e. the ra- tionality of organization structure, the achievability of organization goals, and the feasibility of organiza- tion process, have been proposed. The results of the analysis could be used as feedbacks for guiding the domain users to provide further information on the problem domain. And those models on the problem domain could be a kind of document for the pre-requirements analysis phase. They also will be the basis for further software requirements modeling.展开更多
The development of new technologically advanced products requires the contribution from a range of skills and disciplines, which are often difficult to fred within a single company or organization. Requirements establ...The development of new technologically advanced products requires the contribution from a range of skills and disciplines, which are often difficult to fred within a single company or organization. Requirements establishment practices in Systems Engineering (SE), while ensuring coordination of activities and tasks across the supply network, fall short when it comes to facilitate knowledge sharing and negotiation during early system design. Empirical observations show that when system-level requirements are not available or not mature enough, engineers dealing with the development of long lead-time sub-systems tend to target local optima, rather than opening up the design space. This phenomenon causes design teams to generate solutions that do not embody the best possible configuration for the overall system. The aim of this paper is to show how methodologies for value-driven design may address this issue, facilitating early stage design iterations and the resolution of early stage design trade-offs. The paper describes how such methodologies may help gathering and dispatching relevant knowledge about the 'design intent' of a system to the cross-functional engineering teams, so to facilitate a more concurrent process for requirement elicitation in SE. The paper also describes EVOKE (Early Value Oriented design exploration with KnowledgE maturity), a concept selection method that allows benchmarking design options at sub-system level on the base of value-related information communicated by the system integrators. The use of EVOKE is exemplified in an industrial case study related to the design of an aero-engine component. EVOKE's ability to raise awareness on the value contribution of early stage design concepts in the SE process has been further verified with industrial practitioners in ad-hoc design episodes.展开更多
基金funding this work through research group no.RG-1441-490.
文摘Requirements elicitation is a fundamental phase of software development in which an analyst discovers the needs of different stakeholders and transforms them into requirements.This phase is cost-and time-intensive,and a project may fail if there are excessive costs and schedule overruns.COVID-19 has affected the software industry by reducing interactions between developers and customers.Such a lack of interaction is a key reason for the failure of software projects.Projects can also fail when customers do not know precisely what they want.Furthermore,selecting the unsuitable elicitation technique can also cause project failure.The present study,therefore,aimed to identify which requirements elicitation technique is the most cost-effective for large-scale projects when time to market is a critical issue or when the customer is not available.To that end,we conducted a systematic literature review on requirements elicitation techniques.Most primary studies identified introspection as the best technique,followed by survey and brainstorming.This finding suggests that introspection should be the first choice of elicitation technique,especially when the customer is not available or the project has strict time and cost constraints.Moreover,introspection should also be used as the starting point in the elicitation process of a large-scale project,and all known requirements should be elicited using this technique.
文摘The paper presents a new approach to managing software requirement elicitation techniques with a high level of analyses based on domain ontology techniques, where we established a mapping between user scenario, structured requirement, and domain ontology techniques to improve many attributes such as requirement consistency, completeness and eliminating duplicate requirements to reduce risk of overrun time and budgets. One of the main targets of requirement engineering is to develop a requirement document with high quality. So, we proposed a user interface to collect all vital information about the project directly from the regular user and requirement engineering;After that, the proposal will generate an ontology based on semantic relations and rules. Requirements Engineering tries to keep requirements throughout a project’s life cycle consistent necessities clear, and up to date. This prototype allows mapping requirement scenarios into ontology elements for semantically interrupted. The general points of our prototype are to guarantee the identification requirements and improved nature of the Software Requirements Specification (SRS) by solving incomplete and conflicting information in the requirements specification.
文摘Requirements engineering(RE)is among the most valuable and critical processes in software development.The quality of this process significantly affects the success of a software project.An important step in RE is requirements elicitation,which involves collecting project-related requirements from different sources.Repositories of reusable requirements are typically important sources of an increasing number of reusable software requirements.However,the process of searching such repositories to collect valuable project-related requirements is time-consuming and difficult to perform accurately.Recommender systems have been widely recognized as an effective solution to such problem.Accordingly,this study proposes an effective hybrid content-based collaborative filtering recommendation approach.The proposed approach will support project stake-holders in mitigating the risk of missing requirements during requirements elicitation by identifying related requirements from software requirement repositories.The experimental results on the RALIC dataset demonstrate that the proposed approach considerably outperforms baseline collaborative filtering-based recom-mendation methods in terms of prediction accuracy and coverage in addition to mitigating the data sparsity and cold-start item problems.
文摘Most software systems have different stakeholders with a variety of concerns.The process of collecting requirements from a large number of stakeholders is vital but challenging.We propose an efficient,automatic approach to collecting requirements from different stakeholders’responses to a specific question.We use natural language processing techniques to get the stakeholder response that represents most other stakeholders’responses.This study improves existing practices in three ways:Firstly,it reduces the human effort needed to collect the requirements;secondly,it reduces the time required to carry out this task with a large number of stakeholders;thirdly,it underlines the importance of using of data mining techniques in various software engineering steps.Our approach uses tokenization,stop word removal,and word lemmatization to create a list of frequently accruing words.It then creates a similarity matrix to calculate the score value for each response and selects the answer with the highest score.Our experiments show that using this approach significantly reduces the time and effort needed to collect requirements and does so with a sufficient degree of accuracy.
基金partly supported by the National 863 High-tech Project(Grant No.2001AA113130)the National Natural Science Foundation of China(Grant No.69983010)+2 种基金the National Pre-973 Project(Grant No.2002CB312004)the National Natural Science Foundation Key Project of China(Grant No.60233010)the Knowledge Innovation Program of the Chinese Academy of Sciences and the Royal Society China-UK Joint Project
文摘There are several purposes for modeling and analyzing the problem domain before starting the software requirements analysis. First, it focuses on the problem domain, so that the domain users could be involved easily. Secondly, a comprehensive description on the problem domain will advantage getting a comprehensive software requirements model. This paper proposes an ontology-based approach for mod- eling the problem domain. It interacts with the domain users by using terminology that they can under- stand and guides them to provide the relevant information. A multiple paradigm analysis approach, with the basis of the description on the problem domain, has also been presented. Three criteria, i.e. the ra- tionality of organization structure, the achievability of organization goals, and the feasibility of organiza- tion process, have been proposed. The results of the analysis could be used as feedbacks for guiding the domain users to provide further information on the problem domain. And those models on the problem domain could be a kind of document for the pre-requirements analysis phase. They also will be the basis for further software requirements modeling.
文摘The development of new technologically advanced products requires the contribution from a range of skills and disciplines, which are often difficult to fred within a single company or organization. Requirements establishment practices in Systems Engineering (SE), while ensuring coordination of activities and tasks across the supply network, fall short when it comes to facilitate knowledge sharing and negotiation during early system design. Empirical observations show that when system-level requirements are not available or not mature enough, engineers dealing with the development of long lead-time sub-systems tend to target local optima, rather than opening up the design space. This phenomenon causes design teams to generate solutions that do not embody the best possible configuration for the overall system. The aim of this paper is to show how methodologies for value-driven design may address this issue, facilitating early stage design iterations and the resolution of early stage design trade-offs. The paper describes how such methodologies may help gathering and dispatching relevant knowledge about the 'design intent' of a system to the cross-functional engineering teams, so to facilitate a more concurrent process for requirement elicitation in SE. The paper also describes EVOKE (Early Value Oriented design exploration with KnowledgE maturity), a concept selection method that allows benchmarking design options at sub-system level on the base of value-related information communicated by the system integrators. The use of EVOKE is exemplified in an industrial case study related to the design of an aero-engine component. EVOKE's ability to raise awareness on the value contribution of early stage design concepts in the SE process has been further verified with industrial practitioners in ad-hoc design episodes.