Learn More
Although the term 'non-functional requirement' has been in use for more than 20 years, there is still no consensus in the requirements engineering community what non-functional requirements are and how we should elicit, document, and validate them. On the other hand, there is a unanimous consensus that non-functional requirements are important and can be(More)
Software applications executing in highly dynamic environments are faced with the challenge of frequent and usually unpredictable changes in their execution environment. In order to cope with this challenge effectively, the applications need to adapt to these changes dynamically. CASA (Contract-based Adaptive Software Architecture) provides a framework for(More)
The growing attention being paid to stakeholders' needs and desires reflects the growing importance of requirements engineering (RE) in software and systems development. This introduction reviews the RE process: identifying the stakeholders in a project, determining who and how important they are, prioritizing the identified stakeholder roles, and selecting(More)
Graphical models are omnipresent in the software engineering field, but most current graphical modeling languages do not scale with the increasing size and complexity of today's systems. The navigation in the diagrams becomes a major problem especially if different aspects of the system are scattered over multiple, only loosely coupled diagrams. In this(More)
—Whiteboards and paper allow for any kind of notations and are easy to use. Requirements engineers love to use them in creative requirements elicitation and design sessions. However, the resulting diagram sketches cannot be interpreted by software modeling tools. We have developed FLEXISKETCH as an alternative to whiteboards in previous work. It is a mobile(More)
Scenarios (use cases) are used in many modern software engineering methods for capturing requirements and specifying a system. Yet prominent and renowned approaches like the UML (Unified Modeling Language [1]) are missing a concept for modeling dependencies and relations between scenarios and offer only little support for the management and description of(More)
Scenarios (Use cases) are a means to capture a system's functionality and behavior in a user-centered perspective. Thus they are used in most modern object-oriented software development methods to help elicit and document user requirements. Scenarios also form a kind of abstract level test cases for the system under development. Yet they are seldom used to(More)