4,690 research outputs found
Recommended from our members
Focus on Non-Functionals! The Effect of Focussing on Non- Functional Requirements on the Maturity of the Requirements Engineering Process
When developing IT systems it is important to know the requirements of the system. Requirements can be classified into different categories. In this study we look at functional and non-functional requirements. Respectively these describe the behaviour of the system (functional requirements) and the criteria under which the system works (the non-functional requirements). Furthermore this paper contributes to the understanding of the relation between the focus on non-functional requirements and the maturity of the requirements engineering process. The research question this paper addresses is: How does the focus on non-functional requirements influence the maturity of the requirements engineering process?” The method of the International Requirements Engineering Board is used as the standard for the requirements engineering process. Based on this a questionnaire was developed to measure both the maturity of the requirement engineering process and whether non-functional requirements are taken into account or not. This questionnaire was then sent to a population of people with an IT function, like IT architects and developers. 69 people from different organizations participated in the survey; of this 65 responses were valid and used for the analysis. The results of the analysis show that there is a positive correlation between the focus on non-functional requirements and the maturity
Non-Functional Requirements Elicitation Guideline for Agile Methods
One of the essential activities in software development is elicitation of requirement. Majority of the studies has pointed out that less attention is given to the NonFunctional Requirement (NFR). The negligence of NFR elicitation is due to lack of knowledge of the user and developer about NFR. Our study presents elicitation guidelines for NFRs in agile methods. This guideline will helps developers as well as users in agile methods. A case study is conducted on the group of master students for eliciting NFR with the help of elicitation guidelines. In addition, the initial results were obtained by extracting NFRs from eProcurement document that carries requirements of major European Union projects. The result of the case study is positive and encouraging for the new developers and users having less awareness about NFRs. Furthermore, the study describes the role of cloud computing in agile methods, especially in elicitation activity
Understanding and Managing Non-functional Requirements for Machine Learning Systems
Background: Machine Learning (ML) systems learn using big data and solve a wide range of prediction and decision making problems that would be difficult to solve with traditional systems. However, increasing use of ML in complex and safety-critical systems has raised concerns about quality requirements, which are defined as Non-Functional requirements (NFRs). Many NFRs, such as fairness, transparency, explainability, and safety are critical in ensuring the success and acceptance of ML systems. However, many NFRs for ML systems are not well understood (e.g., maintainability), some known NFRs may become more important (e.g., fairness), while some may become irrelevant in the ML context (e.g., modularity), some new NFRs may come into play (e.g., retrainability), and the scope of defining and measuring NFRs in ML systems is also a challenging task.Objective: The research project focuses on addressing and managing issues related to NFRs for ML systems. The objective of the research is to identify current practices and challenges related to NFRs in an ML context, and to develop solutions to manage NFRs for ML systems.Method: We are using design science as a base of the research method. We carried out different empirical methodologies–including interviews, survey, and a part of systematic mapping study to collect data, and to explore the problem space. To get in-depth insights on collected data, we performed thematic analysis on qualitative data and used descriptive statistics to analyze qualitative data. We are working towards proposing a quality framework as an artifact to identify, define, specify, and manage NFRs for ML systems.Findings: We found that NFRs are crucial and play an important role for the success of the ML systems. However, there is a research gap in this area, and managing NFRs for ML systems is challenging. To address the research objectives, we have identified important NFRs for ML systems, and NFR and NFR measurement-related challenges. We also identified preliminary NFR definition and measurement scope and RE-related challenges in different example contexts.Conclusion: Although NFRs are very important for ML systems, it is complex and difficult to define, allocate, specify, and measure NFRs for ML systems. Currently the industry and research is does not have specific and well organized solutions for managing NFRs for ML systems because of unintended bias, the non-deterministic behavior of ML, and expensive and time-consuming exhaustive testing. Currently, we are working on the development of a quality framework to manage (e.g., identify important NFRs, scoping and measuring NFRs) NFRs in the ML systems development process
Towards an Ontology-Based Approach for Reusing Non-Functional Requirements Knowledge
Requirements Engineering play a crucial role during the software development process. Many works have pointed out that Non-Functional Requirements (NFR) are currently more important than Functional Requirements. NFRs can be very complicated to understand due to its diversity and subjective nature. The NDR Framework has been proposed to fill some of the existing gaps to facilitate NFR elicitation and modeling. In this thesis, we introduce a tool that plays a major role in the NDR Framework allowing software engineers to store and reuse NFR knowledge. The NDR Tool converts the knowledge contained in Softgoal Interdependency Graphs (SIGs) into a machine-readable format that follows the NFR and Design Rationale (NDR) Ontology. It also provides mechanisms to query the knowledge base and produces graphical representation for the results obtained. To evaluate whether our approach aids eliciting NFRs, we conducted an experiment performing a software development scenario
Designing Monitoring Systems for Continuous Certification of Cloud Services: Deriving Meta-requirements and Design Guidelines
Continuous service certification (CSC) involves the consistently gathering and assessing certification-relevant information about cloud service operations to validate whether they continue to adhere to certification criteria. Previous research has proposed test-based CSC methodologies that directly assess the components of cloud service infrastructures. However, test-based certification requires that certification authorities can access the cloud infrastructure, which various issues may limit. To address these challenges, cloud service providers need to conduct monitoring-based CSC; that is, monitor their cloud service infrastructure to gather certification-relevant data by themselves and then provide these data to certification authorities. Nevertheless, we need to better understand how to design monitoring systems to enable cloud service providers to perform such monitoring. By taking a design science perspective, we derive universal meta-requirements and design guidelines for CSC monitoring systems based on findings from five expert focus group interviews with 33 cloud experts and 10 one-to-one interviews with cloud customers. With this study, we expand the current knowledge base regarding CSC and monitoring-based CSC. Our derived design guidelines contribute to the development of CSC monitoring systems and enable monitoring-based CSC that overcomes issues of prior test-based approaches
Agile development in cloud computing for eliciting non-functional requirements
Agile is a popular and growing software development methodology. In the agile methodology, requirements are refined based on collaborations with customers and team members. However, the agile process faces a lack of visibility across the development and delivery processes, has complex and disjointed development processes and lacks communication agility between disconnected owners, development teams, and users. Furthermore, Non-Functional Requirements (NFR) are ignored due to the nature of agile development that lacks knowledge of the user and developer about NFR. In addition, extraction of the NFR is difficult and this difficulty is increased because the agile methodology promotes change in requirement at any stage of the development. Cloud computing services have helped solve some of the issues in the agile process. However, to address the issues in agile development, this research developed a framework for Agile Development in Cloud Computing (ADCC) that uses the facilitation of cloud computing to solve the above-mentioned issues. An Automated NFR eXtraction (ANFRX) method was developed to extract NFR from the software requirement documents and interview notes wrote during requirement gathering. The ANFRX method exploited the semantic knowledge of words in the requirement to classify and extract the NFR. Furthermore, an NFR Elicitation (NFRElicit) approach was developed to help users and development teams in elicitation of NFR in cloud computing. NFRElicit approach used components such as an organization’s projects history, ANFRX method, software quality standards, and templates. The ADCC framework was evaluated by conducting a case study and industrial survey. The results of the case study showed that the use of ADCC framework facilitated the agile development process. In addition, the industrial survey results revealed that the ADCC framework had a positive significant impact on communication, development infrastructure provision, scalability, transparency and requirement engineering activities in agile development. The ANFRX method was evaluated by applying it on PROMISE-NFR dataset. ANFRX method improved 40% and 26% in terms of f-measure from the Cleland and Slankas studies, respectively. The NFRElicit approach was applied to eProcurement dataset and evaluated in terms of more “Successful”, less “Partial Success” and “Failure” to identify NFR in requirement sentences. The NFRElicit approach improved 11.36% and 2.27% in terms of increase in “Successful” NFR, decrease of 5.68% and 1.14% in terms of “Partial success” and decrease of 5.68% and 1.13% in terms of “Failure” from the Non-functional requirement, Elicitation, Reasoning and Validation (NERV) and Capturing, Eliciting and Predicting (CEP) methodologies, respectively. The findings have shown the process was able to elicit and extract NFR for agile development in cloud computing
Exploring issues in agile requirements engineering in the South African industry
The agile manifesto has certainly changed the way software is produced in the Information Communications Technology (ICT) industry. However, many persistent challenges cripple agile software development. One challenge is that the constant change in technology makes the requirements hard to implement. Another is that issues of the agile requirements engineering (ARE) process are abundant and pervasive throughout software projects. The aim of this study is to determine common issues in agile requirements engineering in the South African software industry and identify tools and frameworks to mitigate risks emanating from such problems. This includes finding out how much value software practitioners put in the agile principles. This study was essentially quantitative, based on a cross-sectional survey. Self-administered questionnaires were used to collect required data which was then subjected to exploratory data analysis using SPSS (Statistical Package for the Social Sciences), a tool for statistical analysis. The results show that software practitioners have a strong penchant for principles of the Agile Manifesto. Major issues in agile requirements engineering include lack of proper validation tools and techniques, scope problems, lack of proper documentation, issues of prioritisation, as well as unavailability of customer representative. A detailed baseline of issues in agile requirements engineering was created along with a set of recommended tools and techniques used in the software industry. As for the recommendation, it is suggested that companies invest more on validation tools and techniques and consider non-functional requirements integration during software development.School of ComputingM. Sc. (Computing
- …