Results 1 - 10
of
56
Requirements Engineering: a roadmap
, 2000
"... This paper presents an overview of the field of software systems requirements engineering (RE). It describes the main areas of RE practice, and highlights some key open research issues for the future. 1 ..."
Abstract
-
Cited by 170 (6 self)
- Add to MetaCart
This paper presents an overview of the field of software systems requirements engineering (RE). It describes the main areas of RE practice, and highlights some key open research issues for the future. 1
Reusing Software: Issues And Research Directions
, 1995
"... Software productivity has been steadily increasing over the last 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver [22,39]; nothing short of an order of magnitude increase in productivity will extricate the so ..."
Abstract
-
Cited by 143 (7 self)
- Add to MetaCart
Software productivity has been steadily increasing over the last 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver [22,39]; nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis [39,67]. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but sofware reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design, and building with reusable software. Software reuse includes reusing both the products of previous software projects, and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach on one hand, to the generative or reusable processor (reusing processes) on the other [68]. We discuss the implications of such appproaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to: 1) build more readily reusable software, and 2) locate, evaluate, and tailor reusable software, the latter being critical for the building blocks approach. Both sets of issues are discussed in this paper, with a focus on application generators and object-oriented development for the first, and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design) and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation.
Requirements Engineering in the Year 00: A Research Perspective
, 2000
"... Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, a ..."
Abstract
-
Cited by 107 (11 self)
- Add to MetaCart
Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, and software. The processes involved in RE include domain analysis, elicitation, specification, assessment, negotiation, documentation, and evolution. Getting highquality requirements is difficult and critical. Recent surveys have confirmed the growing recognition of RE as an area of utmost importance in software engineering research and practice. The paper presents a brief history of the main concepts and techniques developed to date to support the RE task, with a special focus on modeling as a common denominator to all RE processes. The initial description of a complex safetycritical system is used to illustrate a number of current research trends in RE-specific areas such as go...
Matching and merging of statecharts specifications
- In 29th International Conference on Software Engineering (ICSE’07
, 2007
"... Model Management addresses the problem of managing an evolving collection of models, by capturing the relationships between models and providing well-defined operators to manipulate them. In this paper, we describe two such operators for manipulating hierarchical Statecharts: Match, for finding corr ..."
Abstract
-
Cited by 42 (14 self)
- Add to MetaCart
Model Management addresses the problem of managing an evolving collection of models, by capturing the relationships between models and providing well-defined operators to manipulate them. In this paper, we describe two such operators for manipulating hierarchical Statecharts: Match, for finding correspondences between models, and Merge, for combining models with respect to known correspondences between them. Our Match operator is heuristic, making use of both static and behavioural properties of the models to improve the accuracy of matching. Our Merge operator preserves the hierarchical structure of the input models, and handles differences in behaviour through parameterization. In this way, we automatically construct merges that preserve the semantics of Statecharts models. We illustrate and evaluate our work by applying our operators to AT&T telecommunication features. 1
An Evolutionary Approach to Constructing Effective Software Reuse Repositories
- ACM Transactions on Software Engineering and Methodology
, 1997
"... This article outlines an approach that avoids these problems by choosing a retrieval method that utilizes minimal repository structure to effectively support the process of finding software components. The approach is demonstrated through a pair of proof-ofconcept prototypes: PEEL, a tool to semiaut ..."
Abstract
-
Cited by 32 (3 self)
- Add to MetaCart
This article outlines an approach that avoids these problems by choosing a retrieval method that utilizes minimal repository structure to effectively support the process of finding software components. The approach is demonstrated through a pair of proof-ofconcept prototypes: PEEL, a tool to semiautomatically identify reusable components, and CodeFinder, a retrieval system that compensates for the lack of explicit knowledge structures through a spreading activation retrieval process. CodeFinder also allows component representations to be modified while users are searching for information. This mechanism adapts to the changing nature of the information in the repository and incrementally improves the repository while people use it. The combination of these techniques holds potential for designing software repositories that minimize up-front costs, effectively support the search process, and evolve with an organization's changing needs.
Seeding, Evolutionary Growth, and Reseeding: Constructing, Capturing, and Evolving Knowledge in DomainOriented Design Environments
- Malmö University, Sweden
, 1996
"... We live in a world characterized by evolution -- that is, by ongoing processes of development, formation, and growth in both natural and human-created systems. Biology tells us that complex, natural systems are not created all at once but must instead evolve over time. We are becoming increasingly a ..."
Abstract
-
Cited by 32 (8 self)
- Add to MetaCart
We live in a world characterized by evolution -- that is, by ongoing processes of development, formation, and growth in both natural and human-created systems. Biology tells us that complex, natural systems are not created all at once but must instead evolve over time. We are becoming increasingly aware that evolutionary processes are ubiquitous and critical for technological innovations as well. This is particularly true for complex software systems because these systems do not necessarily exist in a technological context alone but instead are embedded within dynamic human organizations. The Center for LifeLong Learning and Design (L 3 D) at the University of Colorado has been involved in research on software design and other design domains for more than a decade. We understand software design as an evolutionary process in which system requirements and functionality are determined through an iterative process of collaboration among multiple stakeholders, rather than being completel...
Similarity for Analogical Software Reuse: A Computational Model
, 1994
"... . This paper describes a computational model of similarity developed to support analogical software reuse. Similarity is computed from conceptual descriptions of software artifacts of any substance (i.e code, design or specification artifacts). This computation is restricted by an axiomatic framewor ..."
Abstract
-
Cited by 24 (9 self)
- Add to MetaCart
. This paper describes a computational model of similarity developed to support analogical software reuse. Similarity is computed from conceptual descriptions of software artifacts of any substance (i.e code, design or specification artifacts). This computation is restricted by an axiomatic framework realizing properties of similarity assessments by humans and analogical reasoning and exploits the semantics of three common conceptual modeling abstractions, namely the classification, the generalization and the attribution. An operationalization of the model is presented together with a prototype implementing it. The consistency of the estimates of the operational model with respect to similarity assessments of software engineers and its recall performance are evaluated, in a preliminary experiment. 1 INTRODUCTION In this paper, we define a model for estimating the similarity between software artifacts so as to promote their analogical reuse. Reuse has been acknowledged as a form of an...
Establishing Visions in Context: Towards a Model of Requirements Processes
, 1993
"... A model of requirements determination as the process of establishing visions in context explains how both new ideas and existing habits influence diversity in a family of information systems applications. Visions are operationalized as nonfunctional requirements which are broken down according to co ..."
Abstract
-
Cited by 23 (9 self)
- Add to MetaCart
A model of requirements determination as the process of establishing visions in context explains how both new ideas and existing habits influence diversity in a family of information systems applications. Visions are operationalized as nonfunctional requirements which are broken down according to constraints imposed by context, and traded off against other non-functional requirements. Context is organized according to four "worlds", taking into account the need for considering application domain (subject world), organizational context (usage world), existing systems (system world), and the development environment itself (development world). Process is modeled as driven by context-dependent decisions which, together with external factors, cause moves within a threedimensional space of cognitive understanding, social agreement, and technical representation. The framework leads to a formally based and computer-supported requirements engineering environment which is currently developed and...
CREWS-SAVRE: Scenarios for Acquiring and Validating Requirements
, 1998
"... : This paper reports research into semi-automatic generation of scenarios for validating system requirements. The research was undertaken as part of the ESPRIT IV 21903 'CREWS' long-term research project. The paper presents the underlying theoretical models of domain knowledge, computational mechani ..."
Abstract
-
Cited by 21 (1 self)
- Add to MetaCart
: This paper reports research into semi-automatic generation of scenarios for validating system requirements. The research was undertaken as part of the ESPRIT IV 21903 'CREWS' long-term research project. The paper presents the underlying theoretical models of domain knowledge, computational mechanisms and user-driven dialogues needed for scenario generation. It describes how CREWS draws on theoretical results from the ESPRIT III 6353 'NATURE'basic research action, that is object system models which are abstractions of the fundamental features of different categories of problem domain. CREWS uses these models to generate normal course scenarios, then draws on theoretical and empirical research from cognitive science, human-computer interaction, collaborative systems and software engineering to generate alternative courses for these scenarios. The paper describes a computational mechanism for deriving use cases from object system models, simple rules for use case composition, taxonomies...
XML-based Method and Tool for Handling Variant Requirements in Domain Models
, 2001
"... A domain model describes common and variant requirements for a system family. UML notations used in requirements analysis and software modeling can be extended with "variation points" to cater for variant requirements. However, UML models for a large single system are already complicated enough. Wi ..."
Abstract
-
Cited by 20 (8 self)
- Add to MetaCart
A domain model describes common and variant requirements for a system family. UML notations used in requirements analysis and software modeling can be extended with "variation points" to cater for variant requirements. However, UML models for a large single system are already complicated enough. With variants - UML domain models soon become too complicated to be useful. The main reasons are the explosion of possible variant combinations, complex dependencies among variants and inability to trace variants from a domain model down to the requirements for a specific system, member of a family. We believe that the above mentioned problems cannot be solved at the domain model description level alone. In the paper, we propose a novel solution based on a tool that interprets and manipulates domain models to provide analysts with customized, simple domain views. We describe a variant configuration language that allows us to instrument domain models with variation points and record variant dependencies. An interpreter of this language produces customized views of a domain model, helping analysts understand and reuse software models. We describe the concept of our approach and its simple implementation based on XML and XMI technologies. 1.

