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)
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)
— In today's world of highly dynamic computing environments , autonomic applications are the need of the hour. By an autonomic application, we mean an application that is able to adapt to changes in its execution environment dynamically and transparently. CASA (Contract-based Adaptive Software Architecture) provides a framework for enabling the development(More)