Spelling suggestions: "subject:"21requirements engineering"" "subject:"21requirements ingineering""
101 |
Software Requirements Classification Using Word Embeddings and Convolutional Neural NetworksFong, Vivian Lin 01 June 2018 (has links) (PDF)
Software requirements classification, the practice of categorizing requirements by their type or purpose, can improve organization and transparency in the requirements engineering process and thus promote requirement fulfillment and software project completion. Requirements classification automation is a prominent area of research as automation can alleviate the tediousness of manual labeling and loosen its necessity for domain-expertise.
This thesis explores the application of deep learning techniques on software requirements classification, specifically the use of word embeddings for document representation when training a convolutional neural network (CNN). As past research endeavors mainly utilize information retrieval and traditional machine learning techniques, we entertain the potential of deep learning on this particular task. With the support of learning libraries such as TensorFlow and Scikit-Learn and word embedding models such as word2vec and fastText, we build a Python system that trains and validates configurations of Naïve Bayes and CNN requirements classifiers. Applying our system to a suite of experiments on two well-studied requirements datasets, we recreate or establish the Naïve Bayes baselines and evaluate the impact of CNNs equipped with word embeddings trained from scratch versus word embeddings pre-trained on Big Data.
|
102 |
Towards good-enough Requirements Engineering : a theoretical Foundation for Requirements QualityFrattini, Julian January 2023 (has links)
Context: Requirements Engineering (RE) research has established a common agreement on the impact that the quality of requirements has on subsequent software development activities and artifacts. Furthermore, empirical investigations suppose that RE quality defects tend to scale in cost for remediation when left unattended. This motivates the need for requirements quality assurance. Problem: This need has been met with requirements quality research, which abounds with publications proposing writing rules and guidelines that are meant to ensure requirements of high quality. However, recent studies have questioned the rigor and relevance of these publications, which would undermine the practical applicability of requirements quality research: requirements quality is a means to an end and serves a specific purpose (i.e., minimizing the emitted risk on downstream activities), but when this purpose is not met due to lack of a rigor and practical relevance, the approach to researching requirements quality needs to be rethought. Aim: The notion of good-enough requirements engineering constitutes a context-sensitive, activity-based perspective on requirements quality. In this thesis, we aim at both (1) understanding and (2) exploring possibilities of operationalizing this notion. Methods: We employ a mixed-methods approach to achieve our aim. We use theory adoption in order to provide a theoretical foundation for requirements quality research, conduct a survey to understand the level of theory adherence in the requirements quality literature, and perform subject-based classification to generate an overview of theory-related elements proposed in literature. Results: Through theory adoption we derive a harmonized, activity-based requirements quality theory that frames requirements quality according to its impact on subsequent activities and hence ensures its relevance. The subsequent survey confirms that there is a lack of rigor and relevance in previous requirements quality publications, which likely explains the lack of adoption of the research in practice. The overview of quality factors in a subject-based classification is a first step to centralize requirements quality research for visibility and effective reuse. Conclusion: The notion of good-enough requirements engineering has the potential to re-focus requirements quality research on a more profound notion of rigor and relevance. In this thesis, we report on a first requirements quality theory. Through adherence to this requirements quality theory and contribution to the central repository of subject-based classification, the operationalization of the concept of good-enough requirements engineering can effectively support predicting the impact that requirements quality has on subsequent software development activities in the future.
|
103 |
Definition and Representation of Requirement Engineering/Management : A Process-Oriented ApproachLiaw, Judy-Audrey-Chui-Yik 11 May 2002 (has links)
Requirements are important in software development, product development, projects, processes, and systems. However, a review of the requirements literature indicates several problems. First, there is confusion between the terms ?requirements engineering? and ?requirements management.? Similarities and/or differences between the two terms are resolved through a literature review; resulting in comprehensive definitions of each term. Second, current literature recognizes the importance of requirements but offers few methodologies or solutions for defining and managing requirements. Hence, a flexible methodology or framework is provided for defining and managing requirements. Third, requirements methodologies are represented in various ways, each with their respective strengths and weaknesses. A tabular view and hybrid graphical view for representing the requirements process are provided.
|
104 |
Capturing Requirements Meeting Customer Intent: A Methodological ApproachGröner, Markus K. 29 May 2002 (has links)
Product quality is directly related to how well that product meets the customer's needs and intents. It is paramount, therefore, to capture customer requirements correctly and succinctly. Unfortunately, most development models tend to avoid, or only vaguely define the process by which requirements are generated. Other models rely on formalistic characterizations that require specialized training to understand. To address such drawbacks we introduce the Requirements Generation Model (RGM) that (a) decomposes the conventional "requirements analysis" phase into sub-phases which focus and refine requirements generation activities, (b) constrains and structures those activities, and (c) incorporates a monitoring methodology to assist in detecting and resolving deviations from process activities defined by the RGM. We present an empirical study of the RGM in an industrial setting, and results derived from this study that substantiate the effectiveness of the RGM in producing a better set of requirements. / Ph. D.
|
105 |
Tools and Techniques for Effective Distributed Requirements Engineering: An Empirical StudyLloyd, Wes J. 30 July 2001 (has links)
Software development teams are often geographically distributed from their customers and end users. This creates significant communication and coordination challenges that impact the effectiveness of requirements engineering. Travel costs, and the local availability of quality technical staff increase the demand for effective distributed software development teams. In this research an empirical study was conducted on the application of groupware to facilitate the requirements phase of the software engineering life cycle. The study considered the impact of the distributed work environment on requirements engineering process quality, as well as the effectiveness of requirements elicitation techniques when used in the distributed setting. Through the examination of the effectiveness of groupware tools, and requirements elicitation techniques, customer participation is found to be paramount for distributed requirements engineering. As requirements negotiation becomes more asynchronous in nature, it appears that customer participation in the elicitation process becomes very important for process effectiveness. Verbal communication barriers negatively effect customer participation. Such barriers cause customers to rely upon mediums such as email and text chat that are very good at reducing social distance, but are less rich in informational content. / Master of Science
|
106 |
Exploring the Software Quality Maze: Detecting Scattered and Tangled Crosscutting Quality Concerns in Source Code in Support of Maintenance TasksKrasniqi, Rrezarta 05 1900 (has links)
Software quality attributes, such as reliability, security, and usability, are often well-defined and understood at the requirement level. They lay the ground foundation necessary to achieve high-quality, robust, user-friendly, and trustworthy software systems. However, when addressing these attributes at the code level, two significant challenges emerge. First, they tend to scatter across the codebase due to improper encapsulation of object-oriented classes, hampering the visibility of quality-related components across the codebase. Second, they become tangled within a single module due to intricate interdependencies with functional aspects of the code. Addressing quality concerns in the presence of scattered and tangled code can lead to unforeseen issues. For example, software developers may inadvertently introduce new and latent bugs or incorrectly implement code components deviating from the original system-wide requirements. To tackle these pressing issues, this dissertation proposes a series of state-of-the-art solutions integrating ML-based techniques and NLP-based techniques, including static program analysis techniques, to automatically and effectively detect and repair quality concerns present at the code level, even when scattered across the codebase. Additionally, we introduce program structural analysis and change impact analysis, complemented by other unsupervised ML-based techniques, to disentangle quality-related changes from functional ones, to gain a holistic understanding of a particular maintenance task. From a practical stance, our techniques can be integrated for quality risk assessment purposes and incorporated into safety-critical continuous integration systems to monitor the evolving nature of quality concerns. Furthermore, they can enhance bidirectional traceability across evolving software artifacts, such as bug reports, commit messages, and source code, and facilitate bug triaging systems for prioritizing the resolution of highly impacted quality-related bugs.
|
107 |
Automatic Generation of Test Cases for Agile using Natural Language ProcessingRane, Prerana Pradeepkumar 24 March 2017 (has links)
Test case design and generation is a tedious manual process that requires 40-70% of the software test life cycle. The test cases written manually by inexperienced testers may not offer a complete coverage of the requirements. Frequent changes in requirements reduce the reusability of the manually written test cases costing more time and effort. Most projects in the industry follow a Behavior-Driven software development approach to capturing requirements from the business stakeholders through user stories written in natural language. Instead of writing test cases manually, this thesis investigates a practical solution for automatically generating test cases within an Agile software development workflow using natural language-based user stories and acceptance criteria. However, the information provided by the user story is insufficient to create test cases using natural language processing (NLP), so we have introduced two new input parameters, Test Scenario Description and Dictionary, to improve the test case generation process. To establish the feasibility, we developed a tool that uses NLP techniques to generate functional test cases from the free-form test scenario description automatically. The tool reduces the effort required to create the test cases while improving the test coverage and quality of the test suite. Results from the feasibility study are presented in this thesis. / Master of Science / Testing is a crucial part of the software life cycle which ensures that the developed product meets the needs of the business. The Agile methodology is an iterative and incremental approach to software development. This work is a contribution to the testing process in Agile software development. Currently, test cases are written manually based on the requirements provided by the business. Manual test case generation is a time-consuming process. The business frequently changes the requirements thus wasting time and effort spent in manually writing the test cases. Also, not all the testers have prior knowledge of the working of the system which leads to difficulties in designing the test cases to match the requirements. In this work, we have developed a tool which can generate test cases suitable for Agile software development from the requirements provided. This automatic test case generation tool reduces the effort needed, improves the quality test cases and the coverage of the requirements by the generated test cases. This work can find application in industries that use Agile methodologies for developing and testing their products.
|
108 |
Varför arbetar vissa utvecklingsteam agilt med kravhantering och vissa inte? : En fallstudie på Lantmäteriet / Why do some software developing teams work with agile methods in requirement engineering and some do not? – A case study in LantmäterietLagré, Mårten January 2017 (has links)
Kravhantering inom systemutveckling utgör basen för vad som ska utvecklas. Agila systemutvecklingsmetoder blir vanligare för varje dag som går. Det har dock ofta visat sig finnas utmaningar med hur man anpassar just kravhanteringen till de agila metoderna. Verksamheter har olika förutsättningar för att arbeta agilt. Lantmäteriet i Gävle uttryckte ett behov att undersöka varför den agila praxis man hade inte följdes av alla utvecklingsteam i samband med kravhanteringen. Syftet med denna uppsats var därför att undersöka varför vissa utvecklingteam i en verksamhet arbetade agilt med sin kravhantering medan vissa inte gjorde det. För att undersöka detta utförde jag en fallstudie där jag med hjälp av enkäter och intervjuer samlade in data från både utvecklare och personer på verksamhetssidan som var inblandade i kravhanteringen. Resultaten visade att orsakerna till att en agil kravhantering fungerade så olika var flera. Genom att använda en tematisk analys kunde jag urskilja några framträdande orsaker. Kommunikation och flexibilitet samt kunskap och förståelse för olika perspektiv var teman som utgjorde positiva faktorer. De teman som istället utgjorde negativa faktorer var bland andra otydliga roller, brist på direktiv, en övertro till metoder och processer, osynk mellan verksamhet och IT, prioriteringsproblem, förvaltningsplaner, attityder och IT-arkitektur. / Requirements engineering within software development is the foundation of what needs to be developed. Agile methods in software development become more common every day. It has however often been shown that there are certain challenges with how to adopt the requirements engineering to the agile methodology. Businesses have different preconditions for agile methods. Lantmäteriet in Gävle had a need to examine why not all the developing teams followed agile methods within the requirements engineering process. The purpose with this thesis was thus to examine why some developing teams in an organization worked in an agile manner with the requirements engineering, and some did not. To do this I performed a case study where I collected data through questionnaires and interviews from both developers and people from the business side. The results showed that the reasons for these differences were multiple. Communication and flexibility, and knowledge and understanding for different perspectives were the positive factors. The themes that hindered an agile way of working were, among others, unclear roles, lack of direction, too much reliance on methods and processes, discrepancy between business and IT, prioritizing issues, management plans, attitudes and IT architecture.
|
109 |
Mot en kravinsamlingsmodell för utveckling av branschanpassade affärssystemSandberg, Linus, Nabrink, Sebastian January 2013 (has links)
Ett branschanpassat affärssystem är avsett för organisationer verksamma inom samma bransch. Syftet med denna typ av affärssystem är att ge högre passform än standardiserade affärssystem och vara billigare än skräddarsydda affärssystem. Det råder dock brist på kunskap om hur dessa ska utvecklas. Genom vår litteraturstudie presenteras en kravinsamlingsmodell med utgångspunkt i Requirements Engineering som ska ge stöd för utvecklare vid insamling av krav för branschanpassade affärssystem. Utöver det identifierades ett flertal aktiviteter relaterade till modellen. Genom att intervjua utvecklare av branschanpassade affärssystem och ta del av deras erfarenheter, kunde aktiviteter stärkas och nya läggas till för att göra denna kravinsamling möjlig. Avslutningsvis beskriver vi hur denna kravinsamlingsmodell kan användas, samt behovet av denna. / Industry-oriented Enterprise Resource Planning (IERP) systems are designed for organizations belonging to a specific industry. The purpose of IERP is to achieve a higher degree of fit than that of a standardized Enterprise Resource Planning (ERP) system and lower implementation cost than a customized ERP. However, the development of IERP has not been given the sufficient attention it requires. Through a literature review we introduce a model for requirements elicitation based on Requirements Engineering to support system developers in the collecting of requirements for IERP. In addition to the model, several related activities were identified. By interviewing system developers of IERP and taking note of their experiences, already identified activities were verified and new activities could be added to make requirements elicitation feasible. Lastly we describe the need for a model and its potential use.
|
110 |
Web user requirements : a support framework for studentsBingham, Andrew January 2012 (has links)
This thesis proposes a framework to support the inexperienced student user to undertake the elicitation, analysis and specification of web user requirements. It is designed to support the student during web projects and to encourage more rigorous analysis by documenting web user requirements before the student commences design and implementation. The framework comprises a process meta-model, object model, rules model, support and guidance model, consistency, completeness and correctness model, learning model, student data model and a requirements specification model. The framework was transformed into an automated Computer Aided Web Environment (CAWE) tool and tested on a number of web modules within a Higher Education Institute (HEI). The research programme adopts the Canonical Action Research (CAR) methodology, which involves one or more iterations of diagnosing, action planning, action taking, evaluating and specifying what has been learned through reflection and allows interventions to take place within the next research cycle. Students were active participants in the research programme and contributed to the development of the intervention with continuous feedback. Analysis of usage data generated by the CAWE tool provided a valuable insight into how the framework and support mechanism was used by the students. Main contributions include the extension of knowledge and understanding of Web User Requirements in Web Engineering. Contribution is made to the curriculum of Web Engineering by identifying gaps in knowledge and understanding regarding the lack of analysis techniques used by the student. ii Contribution is also made to Web and User Requirements Engineering by proposing, implementing and evaluating a range of novel methods and frameworks through student collaboration.
|
Page generated in 0.1451 seconds