• Keine Ergebnisse gefunden

35 Szenarienanalyse mit Anw endungsfalldiagram men (Querschneidende dyn. Modellierung)

N/A
N/A
Protected

Academic year: 2021

Aktie "35 Szenarienanalyse mit Anw endungsfalldiagram men (Querschneidende dyn. Modellierung)"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Softwaretechnologie, © Prof. Uwe Aßmann Technische Universit Dresden, Fakultät Informatik1

35 Szenarienanalyse mit Anw endungsfalldiagram men (Querschneidende dyn. Modellierung)

Prof. Dr. rer. nat. Uwe Aßmann Institutr Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Version 11-0.1, 25.06.11

1)Anwendungsfall-diagramme 2)Szenarienanalyse 1)mit Interaktionsdiagrammen 2)mit Aktionsdiagrammen Prof. U. Aßmann, Softwaretechnologie2

O bl igat or ische Li ter at ur

Zuser, Kap. 7-9, insbes. 7.3+7.5 Störrle Kap 9, Kap 12

(2)

Prof. U. Aßmann, Softwaretechnologie3

Ü ber bl ick Tei l I II: O bj ekt or ient ier te A nal yse (O O A )

1.Überblick Objektorientierte Analyse 1.(schon gehabt:) Strukturelle Modellierung mit CRC-Karten 2.Strukturelle metamodellgetriebene Modellierung mit UMLr das Domänenmodell 1.Strukturelle metamodellgetriebene Modellierung 2.Modellierung von komplexen Objekten 1.Modellierung von Hierarchien 2.(Modellierung von komplexen Objekten und ihren Unterobjekten) 3.Modellierung von Komponenten (Groß-Objekte) 3.Strukturelle Modellierung für Kontextmodell und Top-Level-Architektur 3.Analyse von funktionalen Anforderungen 1.Funktionale Verfeinerung: Dynamische Modellierung und Szenarienanalyse mit Aktionsdiagrammen 2.Funktionale querschneidende Verfeinerung: Szenarienanalyse mit Anwendungsfällen, Kollaborationen und Interaktionsdiagrammen (35) 3.(Funktionale querschneidende Verfeinerung für komplexe Objekte) 4.Beispiel Fallstudie EU-Rent Softwaretechnologie, © Prof. Uwe Aßmann Technische Universit Dresden, Fakultät Informatik4

35.1 Anwendungs falldiagramme

(3)

Prof. U. Aßmann, Softwaretechnologie5

N ut zer anal yse (S takehol der A nal ysi s)

Nutzer (Stakeholder): Nutznießer des Systems Akteur, Aktor (Benutzer des Systems oder Interakteur) Eigner von involvierten Betrieben Die, die mit dem System Geld verdienen oder verlieren Menschen, die unter Seiteneffekten des Systems leiden Die einfachste Form von Stakeholderanalyse kümmert sich nur um Akteure und liefert eine Liste von Akteuren Diese Akteure werden dann weiter in Anwendungsfalldiagrammen eingesetzt Prof. U. Aßmann, Softwaretechnologie6

Terminverwaltung

U M L- A nw endungsf al l-D iagr am m (U se- C ase- D iagr am m )

Teambe- sprechung organi- sieren Organisator Team- mitglied

Ungenutzte Raumkapazität ermittelnRaum- verwalter

Teambe- sprechung ver- schieben Persönlichen Termin einplanen

(4)

Prof. U. Aßmann, Softwaretechnologie7

A nw endungsf äl le

EinAkteur beschreibt eine Rolle, die ein Benutzer (oder ein anderes System) spielt, wenn er/es mit dem System interagiert. op(x, y)

Eine Interaktion ist der Austausch von Nachrichten unter Objekten zur Erreichung eines bestimmten Ziels. Eine Nachricht ist die Beschreibung einer Operation eines Objekts mit den notwendigen Parameterwerten, so daß die Operation durch das Objekt ausführbar ist. EinAnwendungsfall (Nutzfall, Use-Case, engl. use case) ist die Beschreibung einer Klasse von Aktionsfolgen (einschließlich Varianten), die ein System ausführen kann, wenn es mit Akteuren interagiert. Prof. U. Aßmann, Softwaretechnologie8

A nw endungsf äl le

Funktionale Anforderungen an ein System können durch Anwendungsfällebeschrieben werden Anwendungsfälle sind Funktionen des Systems im Kontext von Anwendern (Aktoren) Aus den Anwendungsfällen setzt man mittels Szenarienanalyse dann zusammen: das Kontextmodell mit alle Klassen an der Schnittstelle des Systems, also die sichtbaren Funktionen des Systems ihre Attribute, Methoden, Ströme, Ereignisse Relationen der Klassen die Top-Level-Architektur, die die Realisierung der sichtbaren Funktionen des Systems auf oberster Ebene zeigt Die Top-Level-Architektur ist eine Verfeinerung erster Stufe, bei der man die grobkörnigen (top-level) Subsysteme des Systems sowie ihr Zusammenspiel sieht Subsysteme bestehen aus Paketen mit Klassen

(5)

Prof. U. Aßmann, Softwaretechnologie9

V er al lgem ei ner ung , E rw ei ter un g und A uf ru f von A nw endungsf äl len

Die Vererbungsrelation beschreibt Generalisierung bzw. Spezialisierung Hier: Maintenance ist allgemeiner als Preventive Maintenance DieIncludes-Relation beschreibt Bestandteile der Aktionen (Aufrufbeziehung zwischen Aktionen) Hier: Maintenance beinhaltet Checks DieExtends-Relation beschreibt optionale Erweiterungen Hier: Oil Exchange kann Teil von Maintenance sein

Parking Refueling Maintenance Preventive Maintenance

CustomerManager <<extends>> Checks

<<includes>>

Garage Oil Exchange Softwaretechnologie, © Prof. Uwe Aßmann Technische Universit Dresden, Fakultät Informatik10

35.2 Sz enarienanaly se - Ableit ung von Kollaborationen aus Anwendungs fällen An we nd ung sf al lre alisie rung , use c ase r ealiz at ion

(6)

Prof. U. Aßmann, Softwaretechnologie11

E rinner ung: S chem at ischer A bl auf der A nal yse

Domain Analysis (Domain concepts) Function Analysis - Use case analysis

Stakeholder Analysis (Nutzergruppen) “realrequirements analysis Context Model Analysis

Domain Model Funktionale Anforderungen Anforderungen Pflichtenheft Vertrag

Produktdefinition

preparatory requirements analysis basic system analysis Top-level Architecture AnalysisCon

text Model Top-level architecture

GUI Prototyp

GUI AnalysisUse-case Realization Scenario analysis Prof. U. Aßmann, Softwaretechnologie1212

W ege der S ze nar iena nal yse (u se ca se real izat ion anal ysi s)

Die Methode derAnwendungsfallrealisierung (use case realization, Szenarienanalyse, scenario analysis)wird verwendet, um: Kontextmodell und Top-Level-Architektur abzuleiten Querschneidende Verfeinerung durch mehrere Klassen/Objekte durchzuführen Kollaborationen (Konnektoren, Teams) für das Object Fattening abzuleiten Anwendungsfallrealisierung nutzt verschiedene Szenariodiagramme: Verfeinere Anwendungsfalldiagramm mit Interaktionsdiagrammen mit Sequenzdiagramm (sequence diagram, sequence chart) mit Kommunikationsdiagramm (communication diagram) Verfeinere Anwendungsfalldiagramm mit Aktionsdiagrammen mit Aktivitätsdiagramm mit Verhaltens-(Zustands-)maschine

(7)

Prof. U. Aßmann, Softwaretechnologie13

S zenar ien

Definition: EinSzenario ist eine Beschreibung einer beispielhaften Folge von Interaktionen von Akteuren mit dem System zur Beschreibung eines Anwendungsfalls. Es gibt Szenarien für Normalfälle ('gut-Fälle'), Ausnahmefälle, und Fehlerfälle ('negativ'-Fall). Szenarien gehen von Anwendungsfällen aus Wähle einen Anwendungsfall aus einem Anwendungsfalldiagramm Spiele Anwendungsfall mit allen Akteuren durch ermittle zeitliches Zusammenspiel, verfeinere über der Zeit ermittle feinere Aktionen und binde sie mit Vererbung ein ermittle Unteraktionen und binde sie mit <<includes>> ein ermittle optionale Erweiterungen von Aktionen und binde sie mit <<extends>> ein Wähle als Szenariobeschreibung durch Interaktionsdiagramme oder Aktionsdiagramme Leite daraus eine Kollaboration ab (Konnektor, Team) Softwaretechnologie, © Prof. Uwe Aßmann Technische Universit Dresden, Fakultät Informatik14

35.2.1 Szenar ienanaly se mit Interak tions diagrammen

(8)

Prof. U. Aßmann, Softwaretechnologie15

S zenar ienanal yse

Beispiel: Eines der Normalfall-Szenarien für 'Teambesprechung organisieren' Organisator erfährt Thema, Termin, TeilnehmerInnen einer neu geplanten Teambesprechung. Zeitpunkt wird mit TeilnehmerInnen abgestimmt. Raum wird reserviert (falls gewünscht). Einladungen werden an die TeilnehmerInnen versandt.

Terminverwaltung Teambe- sprechung organi- sieren Organisator Team- mitglied Prof. U. Aßmann, Softwaretechnologie16

E rst el le n ei nes U M L- S equ enz di ag ram m s für S zenar io

m3:Team- mitgliedm5:Team- mitglied bestätigt

tb1:Teambe- sprechung

erzeugen OKterminBestätigen() terminBestätigen OK ...

Organisator

Sequenzdiagramm: Objekt-Lebenszeit-Matrix: Objekte von links nach rechts, Zeit von oben nach unten (Objekt-Lebenslinien) Sequenzen von Nachrichten, geordnet durch die Zeit Achtung: das Sequenzdiagramm schneidet quer durch das Lebenszyklus mehrerer Objekte und beschreibt ein Szenario Senkrechte Linien: 'Leben' einer Objektinstanz Waagrechte Pfeile: (Synchrone) Nachrichten Gestrichelte Pfeile (optional): Antworten (Ergebnisrückgaben) Blöcke auf den senkrechten Linien: Steuerfokus (Aktivierung)

(9)

Prof. U. Aßmann, Softwaretechnologie17

K apsel n ei nes S zenar ios in ei ner K ol labor at ion

m3:Teil nehmerm5:Teil nehmer bestätigttb1:Teambe- sprechungerzeugen OKterminBestätigen() terminBestätigen OK

Organisator

Person

Person Teambesprechung organisierenOrganisator Teilnehmer

Teilnehmer

Eine Kollaboration kann mit einem Sequenzdiagramm als Verhalten unterlegt werden Die Kollaboration beschreibt also ein Szenario querschneidend durch die Lebenszyklen mehrerer Objekte Person Prof. U. Aßmann, Softwaretechnologie18

E inor dnung in K ont ext m odel l und Top- Level - A rchi tekt ur

Nach der Szenarienanalyse muss unterschieden werden, welche Klassen zum Kontextmodell und welche zur Top-Level-Architektur gehören Hier: noch alles im Kontextmodell m3:Team- mitgliedm5:Team- mitglied bestätigt

tb1:Teambe- sprechung

erzeugen OKterminBestätigen() terminBestätigen OK ...

Organisator

(10)

Prof. U. Aßmann, Softwaretechnologie19

Terminverwaltung

V er fei ner ung des A nw end ung sf al ls m it E rgebni ssen der S zenar ienanal yse

Teambe- sprechung organi- sieren Organisator Team- mitglied

Termin abstimmen Raum reservieren Versenden von Einladungen

Raumverwaltung

<<includes>> Prof. U. Aßmann, Softwaretechnologie20

S zenar ienanal yse m it S equenzdi agr am m en

Ausgangspunkt: Anwendungsfall Auto-Wartung (Maintenance) [Pfleeger] Maintenance Preventive Maintenance

CustomerManager <<extends>> Checks

<<includes>>

Garage Oil Exchange

(11)

Prof. U. Aßmann, Softwaretechnologie2121

S zenar ienanal yse S equenzdi agr am S er vi ce- S tat ion

:Manager:Technician:Car:Accounting System:Customer instruct() checks() diagnosis() therapy() recordEffort() notify() notify()

Sequenzdiagramme werden benutzt zur Analyse von Szenarien mit wenigen Objekten, die viel kommunizieren Prof. U. Aßmann, Softwaretechnologie2222

B ezi ehung zum K ont ext m odel l und Top- Level - A rchi tekt ur

:Manager:Technician:Car:Accounting System:Customer instruct() checks() diagnosis() therapy() recordEffort() notify() notify()

Jetzt: Verfeinerung in TLA hinein Kontextmodell KontextmodellTop-Level-Architektur

(12)

Prof. U. Aßmann, Softwaretechnologie23

V er fei ne rt es A nw en dun gsf al l-D iagr am m S er vi ce- S tat ion

Aus dem Sequenzdiagramm kann nun ein verfeinertes Anwendungsfalldiagramm erstellt werden Checks Customer

Manager Diagnosis TherapyTechnician Recording Efforts Accounting Services

Maintenance <<includes>> Prof. U. Aßmann, Softwaretechnologie24

A bl ei tun g vo n K ol labo ra tion en aus der S zenar ienanal yse

Kollaborationen können Sequenzdiagramme zugeordnet werden Im Klassendiagramm des Analysemodells bildet die Kollaboration die technische Repräsentation des Anwendungsfalles Checks Technician Manager

:Manager as orderer:Technician as executor instruct()checks() diagnosis() therapy() recordEffort() notify()

executor orderingnotify() Checks :Car as materialCarmaterial

(13)

Prof. U. Aßmann, Softwaretechnologie25

U m w and lu ng A nw endu ngsf al l-D ia gr am m in K ol labor at ionen

Aus dem Anwendungsfalldiagramm kann ein Paket von Kollaborationen erstellt werden 1)Umwandlung der Anwendungsfälle in Konnektoren, Akteure in Klassen 2)Vergabe von Rollen-Namen Checks Customer

Manager Diagnosis Therapy

Technician Recording EffortsAccounting Services

Maintenance <<includes>>Checks Diagnosis Therapy Recording Efforts

Maintenance Technician Accounting Services

Manager Customer

Maintenance collaborations Prof. U. Aßmann, Softwaretechnologie26

U m w and lu ng A nw endu ngsf al l-D ia gr am m in K ol labor at ionen

3) Anhängen des Interaktionsdiagramms (hier Sequenzdiagramm) Checks Diagnosis Therapy Recording Efforts

Maintenance Technician Accounting Services

Manager Customer

Maintenance collaborations 26

:Manager:Technician:Car:Accounting System:Customer instruct() checks() diagnosis() therapy() recordEffort() notify() notify() KontextmodellKontextmodellTop-Level-Architektur

Maintenance

(14)

Prof. U. Aßmann, Softwaretechnologie2727

K om m uni kat io nsdi ag ram m ( C om m uni cat io n D iagr am )

EinKommunikationsdiagramm ist ein Interaktionsdiagramm Sequenzdiagramm „von oben gesehen“ Ohne Objektlebenslinien, flexibles Layout Hierarchische Nummerung drückt die Zeit aus (zeitliche Abfolge der Nachrichten und Aufrufe) Geeignet für viele Objekte, die komplex miteinander verbunden sind :Customer :Service Station

:Parking Space:Purchase :Parking

1:parking() 4:newPurchase() 2:nextAvailable()5:newParking()

3:parkingAt() Softwaretechnologie, © Prof. Uwe Aßmann Technische Universit Dresden, Fakultät Informatik28

35.2.2. Szenar ienanaly se mit Ak tions diagrammen Ak tionsd iag ram m e: Ak tiv ität end iag ram m e, St at ec har ts

(15)

Prof. U. Aßmann, Softwaretechnologie29

Q uer schei dende dyn am ische M odel lier un g m it S zenar ienanal yse

Mit Aktionsdiagrammen kann manLebenszyklen von Objekten spezifizieren Daneben kann man das Zusammenspiel mehrerer Objekte oder Methoden untersuchen (querschneidende dynamische Modellierung, querschneidende funktionale Verfeinerung). Dazu führt man eine Szenarienanalysedurch, die quasi die Draufsicht auf ein Szenario ermittelt Prof. U. Aßmann, Softwaretechnologie30

S ze nar ien anal yse : B ear be iten ei ner tel ef oni schen B est el lung

Validating Customer Check AvailabilityMemorize

Order [no valid id] [valid id] [not avail] [avail] Emit Bill

Fetch from Stock

StockCustomer ManagementCustomer Ship

Mit Aktivitätendiagrammen kann man Szenarienanalyse betreiben Aktivitäten können durch Schwimmbahnen (swimlanes) gegliedert werden, die Objekten zugeordnet sind Daraus kann man dann Methoden für die beteiligten Objekte ableiten

(16)

Prof. U. Aßmann, Softwaretechnologie31

Szenarienanalyse mit Statecharts funktioniert ähnlich; es entstehen Netze von kommunizierende Verhaltensmaschinen Prof. U. Aßmann, Softwaretechnologie32

W as haben w ir gel er nt ?

Ein Anwendungsfall kann durch Szenarienanalyse verfeinert werden Aus dem Anwendungsfall kann eine Kollaboration abgeleitet werden Sowie ein Interaktionsdiagramm, das das Protokoll zwischen den Rollen der Kollaboration beschreibt Oder ein Aktionsdiagramm, das ebenfalls das Protokoll zwischen den Rollen der Kollaboration beschreibt Szenarienanalyse verfeinert querschneidend, i.G. Zu punktweiser Verfeinerung

(17)

Prof. U. Aßmann, Softwaretechnologie33

The E nd

Einige Folien aus der Vorlesung Softwaretechnologie von © Prof. H. Hussmann, 2002. used by permission.

Referenzen

ÄHNLICHE DOKUMENTE

Multiple Criteria Analysis in Optimizing Land Use for Sustainable Agricultural Development Planning, in First International Conference on Multiple Objective Decision Support Systems

The main aim of the 'System for Analyzing Mathematical Flow Models' ( F'KA system ) described in this paper is to supply the decision-maker with a computerized tool

The situation is quite different with Martin-L6f type theories, where, in addition to well-ordering proofs (see [16]), we also have direct embeddings of constructive set theory

requires the behavior of the included use case to be able to offer its functionality case to be able to offer its functionality Included use case?. may be executed on

In Section 4.2 we stated that MAYRING's qualitative content analysis tries to overcome these shortcomings of classical quantitative content analysis by applying a

A well-known example for such an executable workflow model may BPEL4WS modeling the execution order of web services or the proprietary Pipeline Model of Intershop Enfinity

So können Include-, Extend- und Generalisierungs-Beziehungen zwi- schen Use Cases auch in der natürlichsprachlichen Beschreibung explizit modelliert werden.. Dadurch werden

Auch wenn Entscheidungstabellen üblicherweise für Sequenzen von IF- oder CASE- Anweisungen (oder andere nicht-wiederholende Konstrukte) verwendet werden, können Programmschleifen