scispace - formally typeset
Search or ask a question

Showing papers on "Software requirements specification published in 2013"


Proceedings ArticleDOI
18 May 2013
TL;DR: This paper explores the rich set of user feedback available for third party mobile applications as a way to extract new/changed requirements for next versions by adapting information retrieval techniques including topic modeling and evaluating them on different publicly available data sets.
Abstract: User feedback is imperative in improving software quality. In this paper, we explore the rich set of user feedback available for third party mobile applications as a way to extract new/changed requirements for next versions. A potential problem using this data is its volume and the time commitment involved in extracting new/changed requirements. Our goal is to alleviate part of the process through automatic topic extraction. We process user comments to extract the main topics mentioned as well as some sentences representative of those topics. This information can be useful for requirements engineers to revise the requirements for next releases. Our approach relies on adapting information retrieval techniques including topic modeling and evaluating them on different publicly available data sets. Results show that the automatically extracted topics match the manually extracted ones, while also significantly decreasing the manual effort.

276 citations


Proceedings ArticleDOI
15 Jul 2013
TL;DR: The survey results suggest that elicitation techniques appear to be relatively mature, although new areas of creative requirements are emerging, and a road map of research is proposed to tackle outstanding elicitation problems involving tacit knowledge.
Abstract: Requirements elicitation research is reviewed using a framework categorising the relative `knowness' of requirements specification and Common Ground discourse theory. The main contribution of this survey is to review requirements elicitation from the perspective of this framework and propose a road map of research to tackle outstanding elicitation problems involving tacit knowledge. Elicitation techniques (interviews, scenarios, prototypes, etc.) are investigated, followed by representations, models and support tools. The survey results suggest that elicitation techniques appear to be relatively mature, although new areas of creative requirements are emerging. Representations and models are also well established although there is potential for more sophisticated modelling of domain knowledge. While model-checking tools continue to become more elaborate, more growth is apparent in NL tools such as text mining and IR which help to categorize and disambiguate requirements. Social collaboration support is a relatively new area that facilitates categorisation, prioritisation and matching collections of requirements for product line versions. A road map for future requirements elicitation research is proposed investigating the prospects for techniques, models and tools in green-field domains where few solutions exist, contrasted with brown-field domains where collections of requirements and products already exist. The paper concludes with remarks on the possibility of elicitation tackling the most difficult question of `unknown unknown' requirements.

179 citations


Proceedings ArticleDOI
18 Mar 2013
TL;DR: Whether the requirements-based clustering approach that incorporates traditional code analysis information can improve the effectiveness of test case prioritization techniques is investigated and results indicate that the use of requirements information during the test case priorities process can be beneficial.
Abstract: The importance of using requirements information in the testing phase has been well recognized by the requirements engineering community, but to date, a vast majority of regression testing techniques have primarily relied on software code information Incorporating requirements information into the current testing practice could help software engineers identify the source of defects more easily, validate the product against requirements, and maintain software products in a holistic way In this paper, we investigate whether the requirements-based clustering approach that incorporates traditional code analysis information can improve the effectiveness of test case prioritization techniques To investigate the effectiveness of our approach, we performed an empirical study using two Java programs with multiple versions and requirements documents Our results indicate that the use of requirements information during the test case prioritization process can be beneficial

132 citations


Journal ArticleDOI
TL;DR: Systems are naturally constructed in hierarchies, in which design choices made at higher levels of abstraction levy requirements on system components at the lower levels, and requirements models must account for hierarchical system construction.
Abstract: Systems are naturally constructed in hierarchies, in which design choices made at higher levels of abstraction levy requirements on system components at the lower levels. Thus, whether an aspect of a system is a design choice or a requirement largely depends on your vantage point within the system components' hierarchy. Systems are also often constructed from the middle-out rather than top-down; compatibility with existing systems and architectures and availability of specific components influence high-level requirements. Requirements and architectural design should be more closely aligned: requirements models must account for hierarchical system construction and architectural design notations must better support requirements specification for system components.

76 citations


Journal ArticleDOI
TL;DR: A set of automated analysis mechanisms to support the requirements engineers to detect and analyze modelling errors in contextual requirements models to avoid developing unusable and unwanted functionalities and functionalities which lead to conflicts when they operate together.
Abstract: Context: The environment in which the system operates, its context, is variable. The autonomous ability of a software to adapt to context has to be planned since the requirements analysis stage as a strong mutual influence between requirements and context does exist. On the one hand, context is a main factor to decide whether to activate a requirement, the applicable alternatives to meet an activated requirement as well as their qualities. On the other hand, the system actions to reach requirements could cause changes in the context. Objectives: Modelling the relationship between requirements and context is a complex task and developing error-free models is hard to achieve without an automated support. The main objective of this paper is to develop a set of automated analysis mechanisms to support the requirements engineers to detect and analyze modelling errors in contextual requirements models. Method: We study the analysis of the contextual goal model which is a requirements model that weaves together the variability of both context and requirements. Goal models are used during the early stages of software development and, thus, our analysis detects errors early in the development process. We develop two analysis mechanisms to detect two kinds of modelling errors. The first mechanism concerns the detection of inconsistent specification of contexts in a goal model. The second concerns the detection of conflicting context changes that arise as a consequence of the actions performed by the system to meet different requirements simultaneously. We support our analysis with a CASE tool and provide a systematic process that guides the construction and analysis of contextual goal models. We illustrate and evaluate our framework via a case study on a smart-home system for supporting the life of people having dementia problems. Results: The evaluation showed a significant ability of our analysis mechanisms to detect errors which were not notable by requirements engineers. Moreover, the evaluation showed acceptable performance of these mechanisms when processing up to medium-sized contextual goal models. The modelling constructs which we proposed as an input to enable the analysis were found easy to understand and capture. Conclusions: Our developed analysis for the detection of inconsistency and conflicts in contextual goal models is an essential step for the entire system correctness. It avoids us developing unusable and unwanted functionalities and functionalities which lead to conflicts when they operate together. Further research to improve our analysis to scale with large-sized models and to consider other kinds of errors is still needed.

75 citations


Journal ArticleDOI
TL;DR: The results show that sequence diagrams improve the comprehension of the modeled functional requirements in the case of high ability and more experienced participants.
Abstract: Modeling is a fundamental activity within the requirements engineering process and concerns the construction of abstract descriptions of requirements that are amenable to interpretation and validation. The choice of a modeling technique is critical whenever it is necessary to discuss the interpretation and validation of requirements. This is particularly true in the case of functional requirements and stakeholders with divergent goals and different backgrounds and experience. This paper presents the results of a family of experiments conducted with students and professionals to investigate whether the comprehension of functional requirements is influenced by the use of dynamic models that are represented by means of the UML sequence diagrams. The family contains five experiments performed in different locations and with 112 participants of different abilities and levels of experience with UML. The results show that sequence diagrams improve the comprehension of the modeled functional requirements in the case of high ability and more experienced participants.

74 citations


Journal ArticleDOI
TL;DR: This paper demonstrates the potential for competitions to act as a useful basis for empirical software engineering by spurring the development of new techniques and facilitating their comparative evaluation to an extent that would usually be prohibitively challenging without the active participation of the developers.
Abstract: Models play a crucial role in the development and maintenance of software systems, but are often neglected during the development process due to the considerable manual effort required to produce them. In response to this problem, numerous techniques have been developed that seek to automate the model generation task with the aid of increasingly accurate algorithms from the domain of Machine Learning. From an empirical perspective, these are extremely challenging to compare; there are many factors that are difficult to control (e.g. the richness of the input and the complexity of subject systems), and numerous practical issues that are just as troublesome (e.g. tool availability). This paper describes the StaMinA (State Machine Inference Approaches) competiton, that was designed to address these problems. The competition attracted numerous submissions, many of which were improved or adapted versions of techniques that had not been subjected to extensive empirical evaluations, and had not been evaluated with respect to their ability to infer models of software systems. This paper shows how many of these techniques substantially improve on the state of the art, providing insights into some of the factors that could underpin the success of the best techniques. In a more general sense it demonstrates the potential for competitions to act as a useful basis for empirical software engineering by (a) spurring the development of new techniques and (b) facilitating their comparative evaluation to an extent that would usually be prohibitively challenging without the active participation of the developers.

62 citations


Book
26 Aug 2013
TL;DR: This classic guide to software requirements engineering has been fully updated with new topics, examples, and guidance on how to apply effective requirements practices to agile projects and numerous other special project situations.
Abstract: Now in its third edition, this classic guide to software requirements engineering has been fully updated with new topics, examples, and guidance. Two leaders in the requirements community have teamed up to deliver a contemporary set of practices covering the full range of requirements development and management activities on software projects. Describes practical, effective, field-tested techniques for managing the requirements engineering process from end to end. Provides examples demonstrating how requirements "good practices" can lead to fewer change requests, higher customer satisfaction, and lower development costs. Fully updated with contemporary examples and many new practices and techniques. Describes how to apply effective requirements practices to agile projects and numerous other special project situations. Targeted to business analysts, developers, project managers, and other software project stakeholders who have a general understanding of the software development process. Shares the insights gleaned from the authors extensive experience delivering hundreds of software-requirements training courses, presentations, and webinars. New chapters are included on specifying data requirements, writing high-quality functional requirements, and requirements reuse. Considerable depth has been added on business requirements, elicitation techniques, and nonfunctional requirements. In addition, new chapters recommend effective requirements practices for various special project situations, including enhancement and replacement, packaged solutions, outsourced, business process automation, analytics and reporting, and embedded and other real-time systems projects.

58 citations


Proceedings ArticleDOI
22 Jul 2013
TL;DR: This work contains a new gold standard corpus containing annotations for different NFR types, based on a requirements ontology, and a Support Vector Machine (SVM) classifier to automatically categorize requirements sentences into different ontology classes.
Abstract: A software requirements specification (SRS) contains all the requirements for a system-to-be. These are typically separated into functional requirements (FR), which describe the features of the system under development, and the non-functional requirements (NFR), which include quality attributes, design constraints, among others. It is well known that NFRs have a large impact on the overall cost and time of the system development process, as they frequently describe cross-cutting concerns. In order to improve software development support, an automated analysis of SRS documents for different NFR types is required. Our work contains two significant contributions towards this goal: (1) A new gold standard corpus containing annotations for different NFR types, based on a requirements ontology, and (2) a Support Vector Machine (SVM) classifier to automatically categorize requirements sentences into different ontology classes. Results obtained from two different SRS corpora demonstrate the effectiveness of our approach.

57 citations


Proceedings ArticleDOI
18 May 2013
TL;DR: This tutorial provides an introduction to the concept of SRP, summarise several existing approaches, and takes one of these approaches, the PABRE framework, as exemplar for the tutorial and analyse in more depth the catalogue of SRPs that is proposed.
Abstract: Software requirements reuse becomes a fundamental activity for those IT organizations that conduct requirements engineering processes in similar settings. One strategy to implement this reuse is by exploiting a catalogue of software requirement patterns (SRPs). In this tutorial, we provide an introduction to the concept of SRP, summarise several existing approaches, and reflect on the consequences on several requirements engineering processes and activities. We take one of these approaches, the PABRE framework, as exemplar for the tutorial and analyse in more depth the catalogue of SRP that is proposed. We apply the concepts given on a practical exercise.

53 citations


Journal ArticleDOI
01 May 2013
TL;DR: An approach to approximate COSMIC functional size from informally written textual requirements demonstrating its applicability in popular agile processes is presented and the results of a preliminary experiment studying the feasibility of automating the approach using supervised text mining are discussed.
Abstract: The demands in the software industry of estimating development effort in the early phases of development are met by measuring software size from user requirements. A large number of companies have adapted themselves with Agile processes, which, although, promise rapid software development, pose a huge burden on the development teams for continual decision making and expert judgement, when estimating the size of the software components to be developed at each iteration. COSMIC, on the other hand, is an ISO/IEC international standard that presents an objective method of measuring the functional size of the software from user requirements. However, its measurement process is not compatible with Agile processes, as COSMIC requires user requirements to be formalised and decomposed at a level of granularity where external interactions with the system are visible to the human measurer. This time-consuming task is avoided by agile processes, leaving it with the only option of quick subjective judgement by human measurers for size measurement that often tends to be erroneous. In this article, we address these issues by presenting an approach to approximate COSMIC functional size from informally written textual requirements demonstrating its applicability in popular agile processes. We also discuss the results of a preliminary experiment studying the feasibility of automating our approach using supervised text mining.

Journal ArticleDOI
TL;DR: This paper focuses on this family of requirements, how to model them and how to operationalize them at runtime, and evaluates the proposal with a case study adopted from the literature.
Abstract: It is often the case that stakeholders want to strengthen/weaken or otherwise change their requirements for a system-to-be when certain conditions apply at runtime. For example, stakeholders may decide that if requirement R is violated more than N times in a week, it should be relaxed to a less demanding one R?. Such evolution requirements play an important role in the lifetime of a software system in that they define possible changes to requirements, along with the conditions under which these changes apply. In this paper we focus on this family of requirements, how to model them and how to operationalize them at runtime. In addition, we evaluate our proposal with a case study adopted from the literature.

Proceedings ArticleDOI
15 Jul 2013
TL;DR: This paper presents Requirements Bazaar with focus on four aspects: requirements specification, a workflow for co-creation, workspace integration and personalizable requirements prioritization.
Abstract: The innovation potential of niche communities often remains inaccessible to service providers due to a lack of awareness and effective negotiation between these two groups. Requirements Bazaar, a browser-based social software for Social Requirements Engineering (SRE), aims at bringing together communities and service providers into such a negotiation process. Communities should be supported to express and trace their requirements and eventually receive a realization. Service providers should be supported in discovering relevant innovative requirements to maximize impact with a realization. In this paper we present Requirements Bazaar with focus on four aspects: requirements specification, a workflow for co-creation, workspace integration and personalizable requirements prioritization.

Journal ArticleDOI
TL;DR: The twin peaks of requirements and architecture have been referred to as the twin peaks as mentioned in this paper, which describe the trade-offs that must be carefully considered and balanced between requirements and architectures.
Abstract: Quality concerns, often referred to as nonfunctional requirements, service-level agreements, quality attributes, performance constraints, or architecturally significant requirements, describe system-level attributes such as security, performance, reliability, and maintainability. In conjunction with functional requirements, these quality concerns drive and constrain a system's architectural design and often introduce significant trade-offs that must be carefully considered and balanced. The dependencies that exist between requirements and architecture have been referred to as the twin peaks of requirements and architecture. The guest editors of this special issue describe this unique situation.

Book
22 Oct 2013
TL;DR: This book presents cutting-edge model-driven techniques for modeling and analysis of software dependability, based on the use of UML as software specification language, and describes two prominent model-to-model transformation techniques for deriving dependability analysis models from UML specifications.
Abstract: Over the last two decades, a major challenge for researchers working on modeling and evaluation of computer-based systems has been the assessment of system Non Functional Properties (NFP) such as performance, scalability, dependability and security.In this book, the authors present cutting-edge model-driven techniques for modeling and analysis of software dependability. Most of them are based on the use of UML as software specification language. From the software system specification point of view, such techniques exploit the standard extension mechanisms of UML (i.e., UML profiling). UML profiles enable software engineers to add non-functional properties to the software model, in addition to the functional ones. The authors detail the state of the art on UML profile proposals for dependability specification and rigorously describe the trade-off they accomplish. The focus is mainly on RAMS (reliability, availability, maintainability and safety) properties. Among the existing profiles, they emphasize the DAM (Dependability Analysis and Modeling) profile, which attempts to unify, under a common umbrella, the previous UML profiles from literature, providing capabilities for dependability specification and analysis. In addition, they describe two prominent model-to-model transformation techniques, which support the generation of the analysis model and allow for further assessment of different RAMS properties. Case studies from different domains are also presented, in order to provide practitioners with examples of how to apply the aforementioned techniques.Researchers and students will learn basic dependability concepts and how to model them usingUML and its extensions. They will also gain insights into dependability analysis techniques through the use of appropriate modeling formalisms as well as of model-to-model transformation techniques for deriving dependability analysis models from UML specifications. Moreover, software practitioners will find a unified framework for the specification of dependability requirements and properties of UML, and will benefit from the detailed case studies.

Journal ArticleDOI
TL;DR: A new, comprehensive approach for the validation of functional requirements of hybrid systems, where discrete components and continuous components are tightly intertwined, and is built on a new language, othello, which is expressive enough to represent various domains of interest, yet allowing efficient procedures for checking the satisfiability.
Abstract: Flaws in requirements may have unacceptable consequences in the development of safety-critical applications. Formal approaches may help with a deep analysis that takes care of the precise semantics of the requirements. However, the proposed solutions often disregard the problem of integrating the formalization with the analysis, and the underlying logical framework lacks either expressive power, or automation.We propose a new, comprehensive approach for the validation of functional requirements of hybrid systems, where discrete components and continuous components are tightly intertwined. The proposed solution allows to tackle problems of conversion from informal to formal, traceability, automation, user acceptance, and scalability.We build on a new language, othello which is expressive enough to represent various domains of interest, yet allowing efficient procedures for checking the satisfiability. Around this, we propose a structured methodology where: informal requirements are fragmented and categorized according to their role; each fragment is formalized based on its category; specialized formal analysis techniques, optimized for requirements analysis, are finally applied.The approach was the basis of an industrial project aiming at the validation of the European Train Control System (ETCS) requirements specification. During the project a realistic subset of the ETCS specification was formalized and analyzed. The approach was positively assessed by domain experts.

Book ChapterDOI
01 Jan 2013
TL;DR: This paper focuses on the development of adaptive software, i.e., software that can automatically adapt its behavior at run-time in response to changes in the surrounding context in which it is situated, and proposes that the implementation should be architected as a dynamic software product line (DSPL), whose target configurations can be generated dynamically.
Abstract: This paper focuses on the development of adaptive software, i.e., software that can automatically adapt its behavior at run-time in response to changes in the surrounding context in which it is situated. Furthermore, we focus on adaptation that is required to ensure continuous satisfaction of non-functional requirements. We propose that the implementation should be architected as a dynamic software product line (DSPL), whose target configurations can be generated dynamically. We discuss how the DSPL can be verified against non-functional requirements at design time through model checking. We also discuss how at run time the appropriate instance of the DSPL can be selected and dynamically installed and enacted as context changes are detected that can be handled correctly by such instance.

Proceedings ArticleDOI
15 Jul 2013
TL;DR: Examination of data from several OSS projects is examined to investigate the conundrum of how a growing number of critical software systems are evolved and sustained yet provide quality and rich functional capabilities to users and integrators that accept them without question.
Abstract: Many prominent open source software (OSS) development projects produce systems without overt requirements artifacts or processes, contrary to expectations resulting from classical software development experience and research, and a growing number of critical software systems are evolved and sustained in this way yet provide quality and rich functional capabilities to users and integrators that accept them without question. We examine data from several OSS projects to investigate this conundrum, and discuss the results of research into OSS outcomes that sheds light on the consequences of this approach to software requirements in terms of risk of development failure and quality of the resulting system.

Book ChapterDOI
08 Apr 2013
TL;DR: The LRSL provides new constructs for expressing distributed constraints, making regulatory specification patterns visually salient, and enabling metrics to quantitatively measure different styles for writing legal and policy documents.
Abstract: Information systems are increasingly distributed and pervasive, enabling organizations to deliver remote services and share personal information, worldwide However, developers face significant challenges in managing the many laws that govern their systems in this multi-jurisdictional environment In this paper, we report on a computational requirements document expressible using a legal requirements specification language (LRSL) The purpose is to make legal requirements open and available to policy makers, business analysts and software developers, alike We show how requirements engineers can codify policy and law using the LRSL and design, debug, analyze, trace, and visualize relationships among regulatory requirements The LRSL provides new constructs for expressing distributed constraints, making regulatory specification patterns visually salient, and enabling metrics to quantitatively measure different styles for writing legal and policy documents We discovered and validated the LRSL using thirteen US state data breach notification laws

Proceedings ArticleDOI
17 Jun 2013
TL;DR: This paper applies RELAX to formally specify non-functional requirements for self-adaptive systems, and applies the model-based SimuLizar approach for a semi-automatic analysis to test whether the self- Adaptation layer ensures that these non- functional requirements are met.
Abstract: Self-adaptation allows continuously running software systems to operate in changing and uncertain contexts while meeting their requirements in a broad range of contexts, e.g., from low to high load situations. As a consequence, requirements for self-adaptive systems are more complex than requirements for static systems as they have to explicitly address properties of the self-adaptation layer. While approaches exist in the literature to capture this new type of requirements formally, their achievement cannot be analyzed in early design phases yet. In this paper, we apply RELAX to formally specify non-functional requirements for self-adaptive systems. We then apply our model-based SimuLizar approach for a semi-automatic analysis to test whether the self-adaptation layer ensures that these non-functional requirements are met. We evaluate our approach on the design of a proof-of-concept load balancer system. As this evaluation demonstrates, we can iteratively improve our system design by improving unsatisfactory self-adaption rules.

Journal ArticleDOI
TL;DR: This paper proposes a formal, systematic approach for generating a set of operational requirements that are complete with respect to given goals and shows how the integration of model checking and inductive learning can be effectively used to do this.
Abstract: The process of Requirements Engineering (RE) includes many activities, from goal elicitation to requirements specification. The aim is to develop an operational requirements specification that is guaranteed to satisfy the goals. In this paper, we propose a formal, systematic approach for generating a set of operational requirements that are complete with respect to given goals. We show how the integration of model checking and inductive learning can be effectively used to do this. The model checking formally verifies the satisfaction of the goals and produces counterexamples when incompleteness in the operational requirements is detected. The inductive learning process then computes operational requirements from the counterexamples and user-provided positive examples. These learned operational requirements are guaranteed to eliminate the counterexamples and be consistent with the goals. This process is performed iteratively until no goal violation is detected. The proposed framework is a rigorous, tool-supported requirements elaboration technique which is formally guided by the engineer's knowledge of the domain and the envisioned system.

Journal ArticleDOI
01 Sep 2013
TL;DR: A framework for establishing regulatory compliance for a given set of software requirements and proposes a systematic process for revising the requirements, and arguing through a discussion among stakeholders that the revisions make the requirements compliant.
Abstract: A software system complies with a regulation if its operation is consistent with the regulation under all circumstances. The importance of regulatory compliance for software systems has been growing, as regulations are increasingly impacting both the functional and non-functional requirements of legacy and new systems. HIPAA and SOX are recent examples of laws with broad impact on software systems, as attested by the billions of dollars spent in the US alone on compliance. In this paper we propose a framework for establishing regulatory compliance for a given set of software requirements. The framework assumes as inputs models of the requirements (expressed in i*) and the regulations (expressed in Nomos). In addition, we adopt and integrate with i* and Nomos a modeling technique for capturing arguments and establishing their acceptability. Given these, the framework proposes a systematic process for revising the requirements, and arguing through a discussion among stakeholders that the revisions make the requirements compliant. A pilot industrial case study involving fragments of the Italian regulation on privacy for Electronic Health Records provides preliminary evidence of the framework's adequacy and indicates directions for further improvements.

Journal ArticleDOI
TL;DR: This paper will focus on the paradigms involved in the production of RAMP software systems through several case studies to promote the interest of researchers to develop more specific guidelines for theProduction of SW systems with well defined RAMP qualities.
Abstract: The production of software systems with specific demand on reliability, availability, maintenance, and performance (RAMP) is one of the greatest challenges facing software engineers at all levels of the development cycle. Most requirements specification tools are more suited for functional requirements than for non-functional RAMP requirements. RAMP requirements are left unspecified, specified at a later stage, or at best vaguely specified, which makes requirements specifications more of an art than a science. Furthermore, the cost of testing for RAMP requirements is quite often prohibitive. In many cases, it is difficult to test for some of the RAMP specifications such as maintainability, reliability, and high availability. Even the test for performance is quite often workload dependent and as such the performance numbers provided at test time or at system commissioning time may not be achievable during actual system workload. What makes the subject matter more difficult is the absence of a clear set of rules or practices, which, if followed closely, produce a system with acceptable RAMP specifications. As such, and until the design of RAMP software systems becomes a well understood theme, the development of such systems will be a fine art, where the tools and capabilities of developing such systems will depend on the particular system to be developed, the environment in which it will run, and the level of expertise and knowledge deployed. Just like no two pieces of art produced by the same artist are the same, no two software systems will have the same RAMP characteristics. This paper will focus on the paradigms involved in the production of RAMP software systems through several case studies. The purpose is to promote the interest of researchers to develop more specific guidelines for the production of SW systems with well defined RAMP qualities.

Journal ArticleDOI
TL;DR: The findings from this study suggest that methods for quality requirements need to encompass many aspects to comprehensively support working with quality requirements.
Abstract: Context This paper analyses a sub-contractor specification in the mobile handset domain. Objective The objective is to understand how quality requirements are specified and which types of requirements exist in a requirements specification from industry. Method The case study is performed in the mobile handset domain, where a requirements specification was analyzed by categorizing and characterizing the pertaining requirements. Results The requirements specification is written in structured natural language with unique identifiers for the requirements. Of the 2178 requirements, 827 (38%) are quality requirements. Of the quality requirements, 56% are quantified, i.e., having a direct metric in the requirement. The variation across the different sub-domains within the requirements specification is large. Conclusion The findings from this study suggest that methods for quality requirements need to encompass many aspects to comprehensively support working with quality requirements. Solely focusing on, for example, quantification of quality requirements might overlook important requirements since there are many quality requirements in the studied specification where quantification is not appropriate.

Journal ArticleDOI
TL;DR: The approach selected in this research for the structure of this reference framework is based on the generic model of software proposed in the COSMIC-ISO 19761 model, thereby allowing the functional size of the portability requirements allocated to software to be measured.

Proceedings ArticleDOI
25 Jun 2013
TL;DR: A method to transform software requirements specified in a natural language to formal specification (in this context is object-oriented specification) using natural language processing technique is proposed.
Abstract: Understanding software requirements has been widely acknowledged as a crucial task in software development projects. This problem emerges since software requirements, which are originally specified using a particular natural language, are often ambiguous and incomplete. The condition will be completely different if the requirements are specified using formal language in which ambiguity and incompleteness could be obviously found and thus quickly anticipated. Transforming “natural” software requirements into a more formal specification may therefore reduce their ambiguity and incompleteness. This paper hence proposes a method to transform software requirements specified in a natural language to formal specification (in this context is object-oriented specification). The proposed method uses natural language processing technique.

DOI
09 Sep 2013
TL;DR: This paper introduces a method for capturing and specifying the user's mental models with image schemas and image-schematic metaphors during the requirements engineering phase of a software engineering project, which enables SMEs to systematically transfer these elicited requirements into design solutions, which then result in software that is intuitive to use.
Abstract: Today, the demand for software that is 'intuitive to use' is very high. In fact, this has become a determining factor for the success of a system. However, building software that is intuitive to use is challenging. This is particularly true for small and medium-sized enterprises (SMEs). They have to face a variety of problems to remain competitive: Usually no or just small staff is available that is specialized in user requirements engineering research, design, and testing. Furthermore, time schedules and budget are tight. All these factors require a method that delivers creative and intuitive-to-use software even with little design experience and expertise. In this paper, we address this problem by introducing a method for capturing and specifying the user's mental models with image schemas and image-schematic metaphors during the requirements engineering phase of a software engineering project. This method also enables SMEs to systematically transfer these elicited requirements into design solutions, which then result in software that is intuitive to use.

Posted Content
TL;DR: Agile software development as discussed by the authors is a set of software development methods based on iterative and incremental development process, where requirements and development evolve through collaboration between self-organizing, cross-functional teams that allows rapid delivery of high quality software to meet customer needs and also accommodate changes in the requirements.
Abstract: Today-s business environment is very much dynamic, and organisations are constantly changing their software requirements to adjust with new environment. They also demand for fast delivery of software products as well as for accepting changing requirements. In this aspect, traditional plan-driven developments fail to meet up these requirements. Though traditional software development methodologies, such as life cycle-based structured and object oriented approaches, continue to dominate the systems development few decades and much research has done in traditional methodologies, Agile software development brings its own set of novel challenges that must be addressed to satisfy the customer through early and continuous delivery of the valuable software. It is a set of software development methods based on iterative and incremental development process, where requirements and development evolve through collaboration between self-organizing, cross-functional teams that allows rapid delivery of high quality software to meet customer needs and also accommodate changes in the requirements. In this paper, we significantly identify and describe the major factors, that Agile development approach improves software development process to meet the rapid changing business environments. We also provide a brief comparison of agile development methodologies with traditional systems development methodologies, and discuss current state of adopting agile methodologies. We speculate that from the need to satisfy the customer through early and continuous delivery of the valuable software, Agile software development is emerged as an alternative to traditional plan-based software development methods. The purpose of this paper, is to provide an in-depth understanding, the major benefits of agile development approach to software development industry, as well as provide a comparison study report of ASDM over TSDM.

Journal ArticleDOI
TL;DR: This paper describes the EAST-ADL support for the modeling of plausible error behaviors as an orthogonal system view and introduces in particular an integration of such EAST -ADL models with the HiP-HOPS method for automated temporal fault tree analysis.

Proceedings ArticleDOI
18 Mar 2013
TL;DR: This paper presents and analyzes a catalogue of functional software requirement patterns for the domain of content management, and gives an overview of how this catalogue has been constructed from the systematic analysis of 6 existing software specification documents with the support of expert assessment.
Abstract: Software requirement patterns have been proposed as an artifact for fostering requirements reuse. When we define these patterns for the functional part of a software system, we realize that most of patterns are specific of a software domain. This paper presents and analyzes a catalogue of functional software requirement patterns for the domain of content management, and gives an overview of how this catalogue has been constructed from the systematic analysis of 6 existing software specification documents with the support of expert assessment.