Département d'informatique, IC - Section d'informatique IC-SIN (Laboratoire de génie logiciel LGL)

Modelling global behaviour with scenarios in object-oriented analysis

Beringer, Dorothea ; Strohmeier, Alfred (Dir.)

Thèse Ecole polytechnique fédérale de Lausanne EPFL : 1997 ; no 1655.

Ajouter à la liste personnelle
    Summary
    The first object-oriented analysis methods focused on the specification of the classes of a system and on the static relationships between them. Dynamic relationships between classes and the functional view of the system as a whole were neglected, and no models were offered for capturing system requirements. This changed with the publication of use case driven approaches such as OOSE (1992) and Fusion (1994). Modelling global behaviour by scenarios in both requirements analysis and design has since been adopted by many object-oriented methods. Scenarios are also called use cases, system operations or business processes, and they are modelled using different notations. Some of the analysis methods that use scenarios have common characteristics, namely i) the similarity of the relationship between the entities of a data model and the scenarios of a flat scenario model with a matrix, and ii) the assumption that the externally visible behaviour of the system can be subdivided into more or less independent scenario types. In the following, we will refer to these characteristics by the term matrix approach. While in many projects the matrix approach has been used successfully, several difficulties arise when more complex systems are modelled: relationships and similarities between different scenario types cannot be expressed, the dependencies between scenario types are not modelled, only one abstraction level can be represented, and the apparently seamless transition from the analysis to the design model may result in a low quality object model with a strong bias towards data modelling. These difficulties lead us to propose an enhanced scenario modelling technique (called SEAM) which overcomes some of the weaknesses of the matrix approach. This modelling technique includes composition, aggregation, specialisation and extension hierarchies of services, and is based on the paradigm of interacting objects (which can be atomic objects, subsystems or systems) offering services. Scenario types, showing the possible interaction sequences for a specific service, can be modelled on several abstraction levels, and can describe the services of any kind of object (and thus also the global behaviour of a whole system) from both an internal and external point of view. We describe the concepts and the notation of SEAM, and we show how it can be integrated into the Fusion method. The difficulties that may arise in projects using methods based on the matrix approach are not only due to the limitations of scenario modelling techniques. A major factor is the often contradictory definition of the analysis model goals, which leads to clashes of intent. Therefore we discuss the nature of such intent clashes and analyse how the different software development methods deal with them. Finally we give an overview of the various notations and basic concepts used by different scenario modelling techniques, and we provide summaries of current, mostly objectoriented, approaches to modelling global behaviour.
    Zusammenfassung
    Die ersten objektorientierten Analysemethoden unterstützten in erster Linie die Spezifi- kation der Klassen eines Softwaresystems und der statischen Beziehungen der Klassen untereinander. Die dynamischen Beziehungen zwischen Klassen und vor allem das globale Verhalten des gesamten Systems wurden kaum modelliert. Dies änderte sich, als Methoden wie OOSE (1992) und Fusion (1994) publiziert wurden. Seither benutzen viele objektorientierte Methoden Scenarios, um das globale Verhalten eines Systems zu modellieren. Scenarios werden auch Use-cases, Systemoperationen oder Geschäftsvorfälle genannt, und es gelangen unterschiedliche Notationen zur Anwendung. Einige der Analysemethoden, welche Scenarios verwenden, haben gemeinsame Merkmale, nämlich i) die Entitäten des Datenmodells und die Scenariotypen des Verhaltensmodells bilden eine Matrix; dies ist möglich, weil beides flache Modelle sind, ii) und es wird davon ausgegangen, dass das externe globale Verhalten eines Systems in voneinander mehr oder weniger unabhängige Scenariotypen aufgegliedert werden kann. Im folgenden bezeichnen wir diese Merkmale als die Eigenschaften des sogenannten Matrix- Approach. Methoden basierend auf dem Matrix-Approach werden zwar in vielen Projekten erfolgreich angewandt, aber bei der Modellierung komplexerer Systeme können Schwierigkeiten auftreten: Aehnlichkeiten, Abhängigkeiten und weitere Beziehungen zwischen verschiedenen Scenariotypen können nicht dargestellt werden, nur eine einzige Abstraktionsebene kann modelliert werden, und der anscheinend so problemlose und direkte Uebergang vom Analyse- zum Designmodell führt oftmals zu einem Objektmodell von schlechter Qualität und zu einseitiger Ausrichtung auf die Daten des Systems. Diese Schwierigkeiten haben uns dazu veranlasst, eine Modellierungstechnik zu entwikkeln (wir nennen sie SEAM), die einige der Probleme des Matrix-Approach löst. Diese Modellierungstechnik basiert auf dem Paradigma interagierender Objekte. Dabei kann ein Objekt ein atomares Objekt, ein Subsystem oder ein gesamtes System sein, und jedes Objekt bietet sogenannte Dienste an. SEAM enthält Konzepte und Notationen zur Komposition, Aggregation, Spezialisierung und Erweiterung von Objektdiensten beliebiger Objekte. Die Objektdienste und ihre Interaktionen werden mit Hilfe von Scenariotypen modelliert. Dies geschieht auf verschiedenen Abstraktionsebenen und sowohl von einem externen als auch von einem internen Blickwinkel auf das Objekt, welches den Dienst anbietet. Nicht alle Schwierigkeiten, welche durch die Verwendung des Matrix-Approach entstehen können, lassen sich auf Limitationen in der Modellierung von Scenarios zurückführen. Ein weiterer sehr wichtiger Faktor sind widersprüchliche Ziele eines Analysemodells. Da sich gewisse Schwierigkeiten in der Zieldefinition nicht vermeiden lassen, gehen wir auch darauf ein, wie verschiedene Methoden damit umgehen. Schliesslich geben wir auch eine Uebersicht über grundlegende Konzepte und Notationen diverser, meist objektorientierter Methoden sowie Zusammenfassungen der meisten von uns untersuchten Modellierungstechniken.
    Résumé
    Les premières méthodes d'analyse par objets se concentraient sur la spécification des classes du système et sur les relations statiques entre celles-ci. Les relations dynamiques et la vue fonctionnelle du système entier étaient négligées, et aucun modèle n'exprimait les exigences envers le système considéré dans son ensemble. La situation a changé avec l'apparition de méthodes comme OOSE (1992) et Fusion (1994), et beaucoup de méthodes par objets ont adopté aussi bien pour l'analyse que pour la conception une modélisation du comportement global fondée sur les scénarios. Dans les méthodes d'analyse qui utilisent des scénarios, ceux-ci sont également appelés cas d'utilisation, opérations du système ou fonction du système, et ils sont représentés au moyen de diverses notations. On trouve cependant des caractéristiques communes à plusieurs de ces méthodes, en particulier: i) l'existence d'un lien matriciel entre les entités du modèle des données et les scénarios du modèle des scénarios, et ii) l'hypothèse que le comportement du système peut être divisé en des scénarios relativement indépendants. Par la suite, nous désignons ces caractéristiques par le terme d'approche par matrice. Quoique l'approche par matrice ait été utilisée avec succès dans beaucoup de projets, plusieurs difficultés surviennent lors de la modélisation de systèmes plus complexes: on ne peut pas exprimer les relations et similarités entre différents scénarios, on ne peut pas modéliser les dépendances entre scénarios, on ne peut représenter qu'un seul niveau d'abstraction, et la transformation directe du modèle d'analyse en modèle de conception peut conduire à un modèle des objets de piètre qualité et trop influencé par une vision statique des données. Nous proposons une technique de modélisation à base de scénarios (appelée SEAM) qui surmonte quelques-unes des faiblesses de l'approche par matrice. Cette technique inclut la modélisation des hiérarchies de composition, d'agrégation, de spécialisation et d'extension des services, et elle est basée sur un paradigme d'objets qui interagisssent et offrent leur services. Ces objets peuvent être des objets atomiques, des sous-système ou des systèmes. Les scénarios montrent - aussi bien d'un point de vue intérieur qu'extérieur - les séquences d'interactions possibles pour chaque service d'un objet quelconque. On peut ainsi décrire le comportement global du système entier de la même manière que le comportement d'un sous-système, tout en ayant plusieurs niveau d'abstraction pour les scénarios. Nous décrivons les concepts et la notation de SEAM et nous montrons son intégration dans la méthode Fusion. Les difficultés rencontrées dans des projets qui utilisent des méthodes basées sur l'approche par matrice ne sont pas toutes causées par les restrictions des techniques de modélisation. On trouve également fréquemment une définition contradictoire des buts des modèles d'analyse, ce qui conduit à des conflits entre différentes intentions. Nous discutons des contradictions qui résultent de ces différents buts et nous montrons comment différentes méthodes traitent ces contradictions. Finalement, nous présentons un aperçu des notations et concepts utilisés dans différentes techniques de modélisation par scénarios, et nous résumons plusieurs approches actuelles de modélisation du comportement global.