Publications
Projects
login
About
login:
password:
Forgot your password?
Aspect-Oriented Requirements Modeling
Aspect-Oriented Requirements Modeling
Publication type:
phdthesis
Zusammenfassung:
In den letzen Jahren ist ein neues Forschungsgebiet namens Aspektorientierte Software-Entwicklung entstanden. Aspektorientierte Software-Entwicklung zielt darauf ab, die Belange (engl. Concerns) einer Software sauber voneinander zu trennen. Indem die sogenannten querschneidenden Belange (engl. Crosscutting Concerns) von den anderen Belangen getrennt werden, wird die Beschreibung einer Software vereinfacht, was deren Verständlichkeit erhöht. Dies wiederum führt zu einer besseren Wartbarkeit der Software und zu weniger Kosten bei der Entwicklung. Der Einsatz von aspektorientierten Techniken ist ebenfalls in den frühen Phasen der Software- Entwicklung sinnvoll. Das Erarbeiten der Software-Anforderungen ist die wichtigste frühe Phase, da deren Resultate die Grundlage für alle folgenden Aktivitäten bildet. Fehler, die zu diesem Zeitpunkt gemacht werden, haben weitreichende Konsequenzen und eine grosse Auswirkung auf den Erfolg eines Software-Projekts. Querschneidende Belange manifestieren sich in verschiedenen Artefakten der Anforderungsphase, wie z.B. in nicht funktionale Anforderungen, die inhärent querschneidend sind. Die Beschreibung von querschneidenden Belangen mit konventionellen Mitteln führt zu unnötiger, nicht problem-inhärenter Komplexität in den Software-Anforderungen, was eine unnötige Fehlerquelle darstellt. Aspektorientierte Techniken sind eine vielversprechende Möglichkeit, welche die beschriebenen Probleme beheben kann. Zudem ergeben sich weitere Vorteile, wie z.B. eine bessere Rückverfolgbarkeit der Anforderungen. Nichtsdestotrotz kann die Verwendung von aspektorientierten Techniken auch Nachteile mit sich bringen, weil unter bestimmten Umständen zusätzliche Komplexität eingeführt wird. Anforderungen müssen so adäquat dargestellt und formalisiert sein, damit diese möglichst einfach an alle Projektbeteiligten kommuniziert werden können. Zudem sollten diese einfach fassbar und verständlich sein. Dafür eignen sich grafische Modellierungstechniken besonders gut. Die vorliegende Arbeit identifiziert die Eigenschaften, die ein optimaler aspektorientierter grafischer Modellierungsansatz für Anforderungen besitzen sollte. Sie demonstriert, wie existierende Anforderungsansätze mit den nötigen Sprachelementen angereichert werden können. Die Erkenntnisse der Arbeit werden anhand einer aspektorientierten Erweiterung für die grafische Modellierungssprache ADORA gezeigt. ADORA wurde ausgewählt, weil sie von Grund auf verschiedene erwünschte Eigenschaften einer aspektorientierten Anforderungssprache besitzt. Der gezeigte Ansatz erlaubt es, zwischen der konventionellen und der aspektorientierten Modellierungssicht zu wechseln, was hilft, die zusätzliche Komplexität, welche durch die aspektorientierten Elemente eingeführt wurde, abzuschwächen. Weiter unterstützt die Spracheerweiterung von ADORA die kontrollierte Evolution von aspektorientierten Elementen von einem frühen Zeitpunkt im Software-Entwicklungsprozess an.
Authors:
Silvio Meier
Editors:
Harald C. Gall
Abstract:
Over the last few years, a research field called Aspect-Oriented Software Development has been emerging. It aims at the proper separation of concerns in a piece of software. By keeping the so-called crosscutting concerns separate from other concerns, the description of a software system can be simplified, which increases the understandability of the artifacts. In turn, this results in easier maintainability of the software and, therefore, in lower costs. Aspect-oriented techniques can also be useful at the early phases of the software development process. Requirements engineering is the most important early phase because its result is the foundation for all following stages. Errors made at this stage have far-reaching consequences and a strong impact on the success of a software project. Crosscutting concerns may become manifest in various kinds of requirements artifacts, such as the description of non-functional requirements which are inherently crosscutting. Documenting crosscutting concerns with conventional means leads to unnecessary, problem-exogenous complexity in the software requirements, which can be an unnecessary source of errors. Aspect-oriented techniques are a promising means to eliminate this problem. It also entails other advantages, such as a better traceability of crosscutting concerns. However, aspect-oriented techniques may also sometimes negatively affect the understandability because additional complexity may be introduced under certain circumstances. Requirements must be recorded on an adequate level of formality and detail so that they are easy to communicate to the stakeholders in a project. Moreover, they must be easily tangible and understandable. A good means which has all these desiderata are graphical modeling techniques. The work at hand investigates the characteristics that an optimal aspect-oriented requirements modeling approach should have. It demonstrates how existing requirements and architectural modeling languages may be enriched by aspect-oriented language elements. The insights of the present work are exemplified by a new aspect-oriented requirements modeling approach based on the ADORA language. ADORA was chosen because it innately possesses several characteristics which are desirable for an aspect-oriented requirements approach. The proposed approach allows switching between the conventional and the aspect-oriented view, which is useful to mitigate the additional complexity introduced by the aspect-oriented constructs themselves. Moreover, the language supports a planned evolution of aspect-oriented requirements from a very early point in the software process.
Title:
Aspect-Oriented Requirements Modeling
Year:
2009
school:
Universität Zürich
group:
rerg
actions